Skip to content
Snippets Groups Projects
Commit a9f6c13f authored by Jakhes's avatar Jakhes
Browse files

Update prolog file arrangement

parent b7dbae87
No related branches found
No related tags found
No related merge requests found
...@@ -16,11 +16,6 @@ ...@@ -16,11 +16,6 @@
%% definitions for the connected function %% definitions for the connected function
foreign(dbscan, c, dbscanI( +float32, +integer, +integer,
+string, +string,
+pointer(float_array), +integer, +integer,
-pointer(float_array), -integer,
-pointer(float_array), -integer, -integer)).
%% --Input-- %% --Input--
%% double epsilon %% double epsilon
%% int minPoints %% int minPoints
...@@ -44,6 +39,12 @@ dbscan(Epsilon, MinPoints, BatchMode, SelectionType, TreeType, DataList, DataRow ...@@ -44,6 +39,12 @@ dbscan(Epsilon, MinPoints, BatchMode, SelectionType, TreeType, DataList, DataRow
convert_float_array_to_list(Y, Ysize, AssignList), convert_float_array_to_list(Y, Ysize, AssignList),
convert_float_array_to_2d_list(Z, ZCols, ZRows, CentroidsList). convert_float_array_to_2d_list(Z, ZCols, ZRows, CentroidsList).
foreign(dbscan, c, dbscanI( +float32, +integer, +integer,
+string, +string,
+pointer(float_array), +integer, +integer,
-pointer(float_array), -integer,
-pointer(float_array), -integer, -integer)).
%% Defines the functions that get connected from main.cpp %% Defines the functions that get connected from main.cpp
foreign_resource(dbscan, [dbscan]). foreign_resource(dbscan, [dbscan]).
......
...@@ -17,9 +17,6 @@ ...@@ -17,9 +17,6 @@
%% definitions for the connected function %% definitions for the connected function
foreign(emst, c, emstI( +pointer(float_array), +integer, +integer,
+integer,
-pointer(float_array), -integer, -integer)).
%% --Input-- %% --Input--
%% mat dataset, %% mat dataset,
%% bool naive => (1)true / (0)false %% bool naive => (1)true / (0)false
...@@ -35,6 +32,10 @@ emst(DataList, DataRows, Naive, ResultsList, YCols) :- ...@@ -35,6 +32,10 @@ emst(DataList, DataRows, Naive, ResultsList, YCols) :-
emstI(X, Xsize, Xrows, Naive, Y, YCols, YRows), emstI(X, Xsize, Xrows, Naive, Y, YCols, YRows),
convert_float_array_to_2d_list(Y, YCols, YRows, ResultsList). convert_float_array_to_2d_list(Y, YCols, YRows, ResultsList).
foreign(emst, c, emstI( +pointer(float_array), +integer, +integer,
+integer,
-pointer(float_array), -integer, -integer)).
%% Defines the functions that get connected from main.cpp %% Defines the functions that get connected from main.cpp
foreign_resource(emst, [emst]). foreign_resource(emst, [emst]).
......
...@@ -16,14 +16,9 @@ ...@@ -16,14 +16,9 @@
float32 = float_32, float32 = float_32,
float_array = array(float32). float_array = array(float32).
%% definitions for the connected function
%% definitions for the connected function
foreign(initModel, c, initModelI( +pointer(float_array), +integer, +integer,
+string,
+float32, +float32, +float32, +float32,
+integer, +integer,
+float32)).
%% --Input-- %% --Input--
%% mat referenceData, %% mat referenceData,
%% string kernel "linear", "polynomial", "cosine", "gaussian", "epanechnikov", "triangular", "hyptan" %% string kernel "linear", "polynomial", "cosine", "gaussian", "epanechnikov", "triangular", "hyptan"
...@@ -46,13 +41,14 @@ initModel(DataList, DataRows, Kernel, Degree, Offset, Bandwidth, Scale, SingleMo ...@@ -46,13 +41,14 @@ initModel(DataList, DataRows, Kernel, Degree, Offset, Bandwidth, Scale, SingleMo
convert_list_to_float_array(DataList, DataRows, array(Xsize, Xrows, X)), convert_list_to_float_array(DataList, DataRows, array(Xsize, Xrows, X)),
initModelI(X, Xsize, Xrows, Kernel, Degree, Offset, Bandwidth, Scale, SingleMode, Naive, Base). initModelI(X, Xsize, Xrows, Kernel, Degree, Offset, Bandwidth, Scale, SingleMode, Naive, Base).
foreign(initModel, c, initModelI( +pointer(float_array), +integer, +integer,
+string,
+float32, +float32, +float32, +float32,
+integer, +integer,
+float32)).
foreign(searchWithQuery, c, searchWithQueryI( +pointer(float_array), +integer, +integer,
+integer,
-pointer(float_array), -integer, -integer,
-pointer(float_array), -integer, -integer,
+float32)).
%% --Input-- %% --Input--
%% mat querySet, %% mat querySet,
%% int k, %% int k,
...@@ -73,11 +69,14 @@ searchWithQuery(DataList, DataRows, K, IndicesList, YCols, KernelsList, ZCols, B ...@@ -73,11 +69,14 @@ searchWithQuery(DataList, DataRows, K, IndicesList, YCols, KernelsList, ZCols, B
convert_float_array_to_2d_list(Y, YCols, YRows, IndicesList), convert_float_array_to_2d_list(Y, YCols, YRows, IndicesList),
convert_float_array_to_2d_list(Z, ZCols, ZRows, KernelsList). convert_float_array_to_2d_list(Z, ZCols, ZRows, KernelsList).
foreign(searchWithQuery, c, searchWithQueryI( +pointer(float_array), +integer, +integer,
+integer,
-pointer(float_array), -integer, -integer,
-pointer(float_array), -integer, -integer,
+float32)).
foreign(searchNoQuery, c, searchNoQueryI( +integer,
-pointer(float_array), -integer, -integer,
-pointer(float_array), -integer, -integer)).
%% --Input-- %% --Input--
%% int k %% int k
%% %%
...@@ -94,6 +93,10 @@ searchNoQuery(K, IndicesList, YCols, KernelsList, ZCols) :- ...@@ -94,6 +93,10 @@ searchNoQuery(K, IndicesList, YCols, KernelsList, ZCols) :-
convert_float_array_to_2d_list(Y, YCols, YRows, IndicesList), convert_float_array_to_2d_list(Y, YCols, YRows, IndicesList),
convert_float_array_to_2d_list(Z, ZCols, ZRows, KernelsList). convert_float_array_to_2d_list(Z, ZCols, ZRows, KernelsList).
foreign(searchNoQuery, c, searchNoQueryI( +integer,
-pointer(float_array), -integer, -integer,
-pointer(float_array), -integer, -integer)).
%% Defines the functions that get connected from main.cpp %% Defines the functions that get connected from main.cpp
foreign_resource(fastmks, [ initModel, foreign_resource(fastmks, [ initModel,
......
...@@ -19,10 +19,6 @@ ...@@ -19,10 +19,6 @@
%% definitions for the connected function %% definitions for the connected function
foreign(initAndBuildModel, c, initAndBuildModelI(+string,
+pointer(float_array), +integer, +integer,
+pointer(float_array), +integer,
+integer, +integer, +float32, +integer, +integer, +integer, +integer, +integer)).
%% --Input-- %% --Input--
%% string treeType => "gini-hoeffding", "gini-binary", "info-hoeffding", "info-binary", %% string treeType => "gini-hoeffding", "gini-binary", "info-hoeffding", "info-binary",
%% mat dataset, %% mat dataset,
...@@ -43,14 +39,21 @@ foreign(initAndBuildModel, c, initAndBuildModelI(+string, ...@@ -43,14 +39,21 @@ foreign(initAndBuildModel, c, initAndBuildModelI(+string,
%% The tree may be trained either in batch mode (which looks at all points before splitting, and propagates these points to the created children for further training), or in streaming mode, where each point is only considered once. (In general, batch mode will give better-performing trees, but will have higher memory and runtime costs for the same dataset.) %% The tree may be trained either in batch mode (which looks at all points before splitting, and propagates these points to the created children for further training), or in streaming mode, where each point is only considered once. (In general, batch mode will give better-performing trees, but will have higher memory and runtime costs for the same dataset.)
%% %%
initAndBuildModel(TreeType, DataList, DataRows, LabelsList, NumClasses, BatchTraining, SuccessProbability, MaxSamples, CheckInterval, MinSamples, Bins, ObservationsBeforeBinning) :- initAndBuildModel(TreeType, DataList, DataRows, LabelsList, NumClasses, BatchTraining, SuccessProbability, MaxSamples, CheckInterval, MinSamples, Bins, ObservationsBeforeBinning) :-
NumClasses >= 0,
SuccessProbability >= 0,
SuccessProbability =< 1,
MaxSamples >= 0,
convert_list_to_float_array(DataList, DataRows, array(Xsize, Xrownum, X)), convert_list_to_float_array(DataList, DataRows, array(Xsize, Xrownum, X)),
convert_list_to_float_array(LabelsList, array(Ysize, Y)), convert_list_to_float_array(LabelsList, array(Ysize, Y)),
initAndBuildModelI(TreeType, X, Xsize, Xrownum, Y, Ysize, NumClasses, BatchTraining, SuccessProbability, MaxSamples, CheckInterval, MinSamples, Bins, ObservationsBeforeBinning). initAndBuildModelI(TreeType, X, Xsize, Xrownum, Y, Ysize, NumClasses, BatchTraining, SuccessProbability, MaxSamples, CheckInterval, MinSamples, Bins, ObservationsBeforeBinning).
foreign(initAndBuildModel, c, initAndBuildModelI( +string,
+pointer(float_array), +integer, +integer,
+pointer(float_array), +integer,
+integer, +integer, +float32, +integer, +integer, +integer, +integer, +integer)).
foreign(classify, c, classifyI( +pointer(float_array), +integer, +integer,
-pointer(float_array), -integer,
-pointer(float_array), -integer)).
%% --Input-- %% --Input--
%% mat data %% mat data
%% %%
...@@ -68,10 +71,12 @@ classify(TestList, TestRows, PredicList, ProbsList) :- ...@@ -68,10 +71,12 @@ classify(TestList, TestRows, PredicList, ProbsList) :-
convert_float_array_to_list(Y, Ysize, PredicList), convert_float_array_to_list(Y, Ysize, PredicList),
convert_float_array_to_list(Z, Zsize, ProbsList). convert_float_array_to_list(Z, Zsize, ProbsList).
foreign(classify, c, classifyI( +pointer(float_array), +integer, +integer,
-pointer(float_array), -integer,
-pointer(float_array), -integer)).
foreign(train, c, trainI(+pointer(float_array), +integer, +integer,
+pointer(float_array), +integer,
+integer)).
%% --Input-- %% --Input--
%% mat data, %% mat data,
%% vec labels, %% vec labels,
...@@ -88,6 +93,10 @@ train(DataList, DataRows, LabelsList, BatchTraining) :- ...@@ -88,6 +93,10 @@ train(DataList, DataRows, LabelsList, BatchTraining) :-
convert_list_to_float_array(LabelsList, array(Ysize, Y)), convert_list_to_float_array(LabelsList, array(Ysize, Y)),
trainI(X, Xsize, Xrownum, Y, Ysize, BatchTraining). trainI(X, Xsize, Xrownum, Y, Ysize, BatchTraining).
foreign(train, c, trainI( +pointer(float_array), +integer, +integer,
+pointer(float_array), +integer,
+integer)).
%% Defines the functions that get connected from main.cpp %% Defines the functions that get connected from main.cpp
foreign_resource(hoeffding_tree, [ initAndBuildModel, foreign_resource(hoeffding_tree, [ initAndBuildModel,
......
...@@ -19,11 +19,7 @@ ...@@ -19,11 +19,7 @@
%% definitions for the connected function %% definitions for the connected function
foreign(initAndBuildModel, c, initAndBuildModelI(+float32, +float32, +float32,
+string, +string, +string,
+integer,
+float32, +integer, +float32, +float32,
+pointer(float_array), +integer, +integer)).
%% --Input-- %% --Input--
%% float32 bandwidth => 1.0, %% float32 bandwidth => 1.0,
%% float32 relError => 0.05, %% float32 relError => 0.05,
...@@ -44,12 +40,24 @@ foreign(initAndBuildModel, c, initAndBuildModelI(+float32, +float32, +float32, ...@@ -44,12 +40,24 @@ foreign(initAndBuildModel, c, initAndBuildModelI(+float32, +float32, +float32,
%% Build the KDE model with the given parameters and then trains it with the given reference data. %% Build the KDE model with the given parameters and then trains it with the given reference data.
%% %%
initAndBuildModel(Bandwidth, RelError, AbsError, KernelType, TreeType, Algorithm, MonteCarlo, McProb, InitialSampleSize, MCEntryCoef, MCBreakCoef, DataList, DataRows) :- initAndBuildModel(Bandwidth, RelError, AbsError, KernelType, TreeType, Algorithm, MonteCarlo, McProb, InitialSampleSize, MCEntryCoef, MCBreakCoef, DataList, DataRows) :-
Bandwidth > 0.0,
RelError >= 0.0, RelError =< 1.0,
AbsError >= 0.0,
McProb >= 0.0, McProb < 1.0,
InitialSampleSize > 0,
MCEntryCoef >= 1,
MCBreakCoef > 0.0, MCBreakCoef =< 1.0,
convert_list_to_float_array(DataList, DataRows, array(Xsize, Xrownum, X)), convert_list_to_float_array(DataList, DataRows, array(Xsize, Xrownum, X)),
initAndBuildModelI(Bandwidth, RelError, AbsError, KernelType, TreeType, Algorithm, MonteCarlo, McProb, InitialSampleSize, MCEntryCoef, MCBreakCoef, X, Xsize, Xrownum). initAndBuildModelI(Bandwidth, RelError, AbsError, KernelType, TreeType, Algorithm, MonteCarlo, McProb, InitialSampleSize, MCEntryCoef, MCBreakCoef, X, Xsize, Xrownum).
foreign(initAndBuildModel, c, initAndBuildModelI(+float32, +float32, +float32,
+string, +string, +string,
+integer,
+float32, +integer, +float32, +float32,
+pointer(float_array), +integer, +integer)).
foreign(evaluateWithQuery, c, evaluateWithQueryI(+pointer(float_array), +integer, +integer,
-pointer(float_array), -integer)).
%% --Input-- %% --Input--
%% mat querySet %% mat querySet
%% %%
...@@ -64,8 +72,11 @@ evaluateWithQuery(QueryList, QueryRows, EstimationList) :- ...@@ -64,8 +72,11 @@ evaluateWithQuery(QueryList, QueryRows, EstimationList) :-
evaluateWithQueryI(X, Xsize, Xrownum, Y, Ysize), evaluateWithQueryI(X, Xsize, Xrownum, Y, Ysize),
convert_float_array_to_list(Y, Ysize, EstimationList). convert_float_array_to_list(Y, Ysize, EstimationList).
foreign(evaluateWithQuery, c, evaluateWithQueryI(+pointer(float_array), +integer, +integer,
-pointer(float_array), -integer)).
foreign(evaluateNoQuery, c, evaluateNoQueryI(-pointer(float_array), -integer)).
%% --Input-- %% --Input--
%% %%
%% --Output-- %% --Output--
...@@ -80,6 +91,8 @@ evaluateNoQuery(EstimationList) :- ...@@ -80,6 +91,8 @@ evaluateNoQuery(EstimationList) :-
evaluateNoQueryI(Y, Ysize), evaluateNoQueryI(Y, Ysize),
convert_float_array_to_list(Y, Ysize, EstimationList). convert_float_array_to_list(Y, Ysize, EstimationList).
foreign(evaluateNoQuery, c, evaluateNoQueryI(-pointer(float_array), -integer)).
%% Defines the functions that get connected from main.cpp %% Defines the functions that get connected from main.cpp
foreign_resource(kde, [ initAndBuildModel, foreign_resource(kde, [ initAndBuildModel,
......
...@@ -17,15 +17,8 @@ ...@@ -17,15 +17,8 @@
%% definitions for the connected function %% definitions for the connected function
foreign(kernel_pca, c, kernel_pcaI( +string, +integer, +integer, +string,
+float32, +float32, +float32, +float32,
+pointer(float_array), +integer, +integer,
-pointer(float_array), -integer, -integer,
-pointer(float_array), -integer,
-pointer(float_array), -integer, -integer,
-integer)).
%% --Input-- %% --Input--
%% string kernel "advb","agbadf", %% string kernel "linear","gaussian","polynomial","hyptan","laplacian","epanechnikov","cosine",
%% bool centerTranformedData => (1)true / (0)false, %% bool centerTranformedData => (1)true / (0)false,
%% bool useNystroem => (1)true / (0)false, %% bool useNystroem => (1)true / (0)false,
%% string nystroemMethod "kmeans", "ordered", "random", %% string nystroemMethod "kmeans", "ordered", "random",
...@@ -49,6 +42,7 @@ kernel_pca(Kernel, CenterTransformedData, UseNystroem, NystroemMethod, Degree, O ...@@ -49,6 +42,7 @@ kernel_pca(Kernel, CenterTransformedData, UseNystroem, NystroemMethod, Degree, O
EigValList, EigValList,
EigVecList, EigVecCols, EigVecList, EigVecCols,
NewDimension) :- NewDimension) :-
Bandwidth > 0.0,
convert_list_to_float_array(DataList, DataRows, array(Xsize, Xrownum, X)), convert_list_to_float_array(DataList, DataRows, array(Xsize, Xrownum, X)),
kernel_pcaI(Kernel, CenterTransformedData, UseNystroem, NystroemMethod, Degree, Offset, Bandwidth, Scale, kernel_pcaI(Kernel, CenterTransformedData, UseNystroem, NystroemMethod, Degree, Offset, Bandwidth, Scale,
X, Xsize, Xrownum, X, Xsize, Xrownum,
...@@ -60,6 +54,14 @@ kernel_pca(Kernel, CenterTransformedData, UseNystroem, NystroemMethod, Degree, O ...@@ -60,6 +54,14 @@ kernel_pca(Kernel, CenterTransformedData, UseNystroem, NystroemMethod, Degree, O
convert_float_array_to_list(EigVal, EigValsize, EigValList), convert_float_array_to_list(EigVal, EigValsize, EigValList),
convert_float_array_to_2d_list(EigVec, EigVecCols, EigVecRows, EigVecList). convert_float_array_to_2d_list(EigVec, EigVecCols, EigVecRows, EigVecList).
foreign(kernel_pca, c, kernel_pcaI( +string, +integer, +integer, +string,
+float32, +float32, +float32, +float32,
+pointer(float_array), +integer, +integer,
-pointer(float_array), -integer, -integer,
-pointer(float_array), -integer,
-pointer(float_array), -integer, -integer,
-integer)).
%% Defines the functions that get connected from main.cpp %% Defines the functions that get connected from main.cpp
foreign_resource(kernel_pca, [kernel_pca]). foreign_resource(kernel_pca, [kernel_pca]).
......
...@@ -19,9 +19,7 @@ ...@@ -19,9 +19,7 @@
%% definitions for the connected function %% definitions for the connected function
foreign(initAndBuildModel, c, initAndBuildModelI(+string, +string,
+integer, +integer, +float32,
+pointer(float_array), +integer, +integer)).
%% --Input-- %% --Input--
%% string treeType => "kd", "vp", "rp", "max-rp", "ub", "cover", "r", "r-star", "x", "ball", "hilbert-r", "r-plus", "r-plus-plus", "spill", "oct", %% string treeType => "kd", "vp", "rp", "max-rp", "ub", "cover", "r", "r-star", "x", "ball", "hilbert-r", "r-plus", "r-plus-plus", "spill", "oct",
%% string searchMode => "naive", "single_tree", "dual_tree", "greedy", %% string searchMode => "naive", "single_tree", "dual_tree", "greedy",
...@@ -39,11 +37,12 @@ initAndBuildModel(TreeType, SearchMode, RandomBasis, LeafSize, Epsilon, Referenc ...@@ -39,11 +37,12 @@ initAndBuildModel(TreeType, SearchMode, RandomBasis, LeafSize, Epsilon, Referenc
convert_list_to_float_array(ReferenceList, ReferenceRows, array(Xsize, Xrownum, X)), convert_list_to_float_array(ReferenceList, ReferenceRows, array(Xsize, Xrownum, X)),
initAndBuildModelI(TreeType, SearchMode, RandomBasis, LeafSize, Epsilon, X, Xsize, Xrownum). initAndBuildModelI(TreeType, SearchMode, RandomBasis, LeafSize, Epsilon, X, Xsize, Xrownum).
foreign(initAndBuildModel, c, initAndBuildModelI(+string, +string,
+integer, +integer, +float32,
+pointer(float_array), +integer, +integer)).
foreign(searchWithQuery, c, searchWithQueryI( +pointer(float_array), +integer, +integer,
+integer,
-pointer(float_array), -integer, -integer,
-pointer(float_array), -integer, -integer)).
%% --Input-- %% --Input--
%% mat querySet, %% mat querySet,
%% int k %% int k
...@@ -61,10 +60,13 @@ searchWithQuery(QueryList, QueryRows, K, NeighborsList, YCols, DistancesList, ZC ...@@ -61,10 +60,13 @@ searchWithQuery(QueryList, QueryRows, K, NeighborsList, YCols, DistancesList, ZC
convert_float_array_to_2d_list(Y, YCols, YRows, NeighborsList), convert_float_array_to_2d_list(Y, YCols, YRows, NeighborsList),
convert_float_array_to_2d_list(Z, ZCols, ZRows, DistancesList). convert_float_array_to_2d_list(Z, ZCols, ZRows, DistancesList).
foreign(searchWithQuery, c, searchWithQueryI( +pointer(float_array), +integer, +integer,
foreign(searchNoQuery, c, searchNoQueryI( +integer, +integer,
-pointer(float_array), -integer, -integer, -pointer(float_array), -integer, -integer,
-pointer(float_array), -integer, -integer)). -pointer(float_array), -integer, -integer)).
%% --Input-- %% --Input--
%% int k %% int k
%% %%
...@@ -80,6 +82,10 @@ searchNoQuery(K, NeighborsList, YCols, DistancesList, ZCols) :- ...@@ -80,6 +82,10 @@ searchNoQuery(K, NeighborsList, YCols, DistancesList, ZCols) :-
convert_float_array_to_2d_list(Y, YCols, YRows, NeighborsList), convert_float_array_to_2d_list(Y, YCols, YRows, NeighborsList),
convert_float_array_to_2d_list(Z, ZCols, ZRows, DistancesList). convert_float_array_to_2d_list(Z, ZCols, ZRows, DistancesList).
foreign(searchNoQuery, c, searchNoQueryI( +integer,
-pointer(float_array), -integer, -integer,
-pointer(float_array), -integer, -integer)).
%% Defines the functions that get connected from kfn.cpp %% Defines the functions that get connected from kfn.cpp
foreign_resource(kfn, [ initAndBuildModel, foreign_resource(kfn, [ initAndBuildModel,
......
...@@ -21,8 +21,7 @@ ...@@ -21,8 +21,7 @@
foreign(initModelWithTrain, c, initModelWithTrainI( +pointer(float_array), +integer, +integer,
+integer, +float32, +float32, +integer, +float32, +float32)).
%% --Input-- %% --Input--
%% mat data, %% mat data,
%% int atoms => 15, %% int atoms => 15,
...@@ -47,8 +46,11 @@ initModelWithTrain(MatList, MatRows, Atoms, Lambda1, Lambda2, MaxIterations, Obj ...@@ -47,8 +46,11 @@ initModelWithTrain(MatList, MatRows, Atoms, Lambda1, Lambda2, MaxIterations, Obj
convert_list_to_float_array(MatList, MatRows, array(Xsize, Xrownum, X)), convert_list_to_float_array(MatList, MatRows, array(Xsize, Xrownum, X)),
initModelWithTrainI(X, Xsize, Xrownum, Atoms, Lambda1, Lambda2, MaxIterations, ObjTolerance, NewtonTolerance). initModelWithTrainI(X, Xsize, Xrownum, Atoms, Lambda1, Lambda2, MaxIterations, ObjTolerance, NewtonTolerance).
foreign(initModelWithTrain, c, initModelWithTrainI( +pointer(float_array), +integer, +integer,
+integer, +float32, +float32, +integer, +float32, +float32)).
foreign(initModelNoTrain, c, initModelNoTrainI(+integer, +float32, +float32, +integer, +float32, +float32)).
%% --Input-- %% --Input--
%% int atoms => 15, %% int atoms => 15,
%% float32 lambda1 => 0, %% float32 lambda1 => 0,
...@@ -71,9 +73,10 @@ initModelNoTrain(Atoms, Lambda1, Lambda2, MaxIterations, ObjTolerance, NewtonTol ...@@ -71,9 +73,10 @@ initModelNoTrain(Atoms, Lambda1, Lambda2, MaxIterations, ObjTolerance, NewtonTol
NewtonTolerance > 0, NewtonTolerance > 0,
initModelNoTrainI(Atoms, Lambda1, Lambda2, MaxIterations, ObjTolerance, NewtonTolerance). initModelNoTrainI(Atoms, Lambda1, Lambda2, MaxIterations, ObjTolerance, NewtonTolerance).
foreign(initModelNoTrain, c, initModelNoTrainI(+integer, +float32, +float32, +integer, +float32, +float32)).
foreign(encode, c, encodeI( +pointer(float_array), +integer, +integer,
-pointer(float_array), -integer, -integer)).
%% --Input-- %% --Input--
%% mat data %% mat data
%% %%
...@@ -88,9 +91,11 @@ encode(DataList, DataRows, CodesList, YCols) :- ...@@ -88,9 +91,11 @@ encode(DataList, DataRows, CodesList, YCols) :-
encodeI(X, Xsize, Xrownum, Y, YCols, YRows), encodeI(X, Xsize, Xrownum, Y, YCols, YRows),
convert_float_array_to_2d_list(Y, YCols, YRows, CodesList). convert_float_array_to_2d_list(Y, YCols, YRows, CodesList).
foreign(encode, c, encodeI( +pointer(float_array), +integer, +integer,
-pointer(float_array), -integer, -integer)).
foreign(train, c, trainI(+pointer(float_array), +integer, +integer,
[-float32])).
%% --Input-- %% --Input--
%% mat data %% mat data
%% %%
...@@ -104,6 +109,9 @@ train(DataList, DataRows, ReturnValue) :- ...@@ -104,6 +109,9 @@ train(DataList, DataRows, ReturnValue) :-
convert_list_to_float_array(DataList, DataRows, array(Xsize, Xrownum, X)), convert_list_to_float_array(DataList, DataRows, array(Xsize, Xrownum, X)),
trainI(X, Xsize, Xrownum, ReturnValue). trainI(X, Xsize, Xrownum, ReturnValue).
foreign(train, c, trainI(+pointer(float_array), +integer, +integer,
[-float32])).
%% Defines the functions that get connected from main.cpp %% Defines the functions that get connected from main.cpp
foreign_resource(sparse_coding, [ initModelWithTrain, foreign_resource(sparse_coding, [ initModelWithTrain,
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment