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

Removing CF

parent 484dd9d0
No related branches found
No related tags found
No related merge requests found
...@@ -4,13 +4,11 @@ SPLFR_PATH=/usr/local/sicstus4.7.1/bin/splfr ...@@ -4,13 +4,11 @@ SPLFR_PATH=/usr/local/sicstus4.7.1/bin/splfr
all: all:
@echo "Start compiling!" @echo "Start compiling!"
@echo "AdaBoost!..." @echo "AdaBoost!..."
make -C src/methods/ada_boost splfr=$(SPLFR_PATH) make -C src/methods/adaboost splfr=$(SPLFR_PATH)
@echo "ApproxKFN!..." @echo "ApproxKFN!..."
make -C src/methods/approx_kfn splfr=$(SPLFR_PATH) make -C src/methods/approx_kfn splfr=$(SPLFR_PATH)
@echo "BayesianLinearRegression!..." @echo "BayesianLinearRegression!..."
make -C src/methods/bayesian_linear_regression splfr=$(SPLFR_PATH) make -C src/methods/bayesian_linear_regression splfr=$(SPLFR_PATH)
@echo "CF!..."
#make -C src/methods/cf splfr=$(SPLFR_PATH)
@echo "DBScan!..." @echo "DBScan!..."
make -C src/methods/dbscan splfr=$(SPLFR_PATH) make -C src/methods/dbscan splfr=$(SPLFR_PATH)
@echo "DecisionTree!..." @echo "DecisionTree!..."
...@@ -67,10 +65,9 @@ all: ...@@ -67,10 +65,9 @@ all:
make -C src/methods/sparse_coding splfr=$(SPLFR_PATH) make -C src/methods/sparse_coding splfr=$(SPLFR_PATH)
clean: clean:
make -C src/methods/ada_boost clean make -C src/methods/adaboost clean
make -C src/methods/approx_kfn clean make -C src/methods/approx_kfn clean
make -C src/methods/bayesian_linear_regression clean make -C src/methods/bayesian_linear_regression clean
#make -C src/methods/cf clean
make -C src/methods/dbscan clean make -C src/methods/dbscan clean
make -C src/methods/decision_tree clean make -C src/methods/decision_tree clean
make -C src/methods/emst clean make -C src/methods/emst clean
......
splfr=/usr/local/sicstus4.7.1/bin/splfr
METHOD_NAME=cf
$(METHOD_NAME).so: $(METHOD_NAME).pl $(METHOD_NAME).cpp
$(splfr) -larmadillo -fopenmp -lmlpack -lstdc++ -cxx --struct $(METHOD_NAME).pl $(METHOD_NAME).cpp ../../helper_files/helper.cpp
clean:
rm $(METHOD_NAME).so
#include <sicstus/sicstus.h>
/* ex_glue.h is generated by splfr from the foreign/[2,3] facts.
Always include the glue header in your foreign resource code.
*/
#include "cf_glue.h"
#include <mlpack/methods/cf/cf_model.hpp>
#include <mlpack/core.hpp>
// including helper functions for converting between arma structures and arrays
#include "../../helper_files/helper.hpp"
// some of the most used namespaces
using namespace arma;
using namespace mlpack;
using namespace std;
using namespace mlpack::cf;
// Global Variable of the GlobalMethodObject object so it can be accessed from all functions
GlobalMethodObject globalMethodObject;
// TODO:
// input:
// output:
// description:
void sampleFunction()
{
//stuff;
}
// Basic input parameters
//
// SP_integer integerNumber, double doubleNumber, char const *string
//
// Snippets
//
// Take Matrix: mat-take, take-mat
// Take Array: arr-take, take-arr
//
// Return Matrix: mat-return, return-mat
// Return Array: arr-return, return-arr
:- module(new_method, [function/1]).
%% requirements of library(struct)
:- load_files(library(str_decl),
[when(compile_time), if(changed)]).
%% needed for using the array type
:- use_module(library(structs)).
:- use_module('../../helper_files/helper.pl').
%% type definitions for the float array
:- foreign_type
float32 = float_32,
float_array = array(float32).
%% definitions for the connected function
%% TODO:
%% --Input--
%%
%% --Output--
%%
%% --Description--
foreign(function, c, function(arguments)).
%% +integer , +float32, +string
%% [-integer] , [-float32], [-string]
%% matrix input
%% +pointer(float_array), +integer, +integer
%% array input
%% +pointer(float_array), +integer
%% matrix return
%% -pointer(float_array), -integer, -integer
%% array return
%% -pointer(float_array), -integer
%% bool name => (1)true / (0)false
%% Defines the functions that get connected from main.cpp
foreign_resource(new_method, [function]).
:- load_foreign_resource(new_method).
\ No newline at end of file
:- use_module(library(plunit)).
:- use_module(cf).
:- use_module('../../helper_files/helper.pl').
reset_Model :-
initModel(1,0,50,0.0001).
:- begin_tests(lists).
%% alpha tests
test(alpha_std_init) :-
reset_Model,
alpha(0).
test(alpha_wrong_input, fail) :-
reset_Model,
alpha(1).
test(alpha_after_train, A =:= 9223372036854775808) :-
reset_Model,
convert_list_to_float_array([5.1,3.5,1.4,4.9,3.0,1.4,4.7,3.2,1.3,4.6,3.1,1.5],3, array(Xsize, Xrownum, X)),
convert_list_to_float_array([0.2,0.2,0.2,0.2], array(Ysize, Y)),
train(X,Xsize, Xrownum,Y, Ysize),
alpha(A).
%% train tests
test(correct_train) :-
reset_Model,
convert_list_to_float_array([5.1,3.5,1.4,4.9,3.0,1.4,4.7,3.2,1.3,4.6,3.1,1.5],3, array(Xsize, Xrownum, X)),
convert_list_to_float_array([0.2,0.2,0.2,0.2], array(Ysize, Y)),
train(X,Xsize, Xrownum,Y, Ysize).
test(false_train, fail) :-
reset_Model,
convert_list_to_float_array([],3, array(Xsize, Xrownum, X)),
convert_list_to_float_array([0.2,0.2,0.2,0.2], array(Ysize, Y)),
train(X,Xsize, Xrownum,Y, Ysize).
test(false_train2, fail) :-
reset_Model,
convert_list_to_float_array([],0, array(Xsize, Xrownum, X)),
convert_list_to_float_array([0.2,0.2,0.2,0.2], array(Ysize, Y)),
train(X,Xsize, Xrownum,Y, Ysize).
test(false_train3, fail) :-
reset_Model,
convert_list_to_float_array([1,2],0, array(Xsize, Xrownum, X)),
convert_list_to_float_array([0.2,0.2,0.2,0.2], array(Ysize, Y)),
train(X,Xsize, Xrownum,Y, Ysize).
test(false_train3, fail) :-
reset_Model,
convert_list_to_float_array([1,2,44,3],3, array(Xsize, Xrownum, X)),
convert_list_to_float_array([0.2,0.2,0.2,0.2], array(Ysize, Y)),
train(X,Xsize, Xrownum,Y, Ysize).
test(false_train4) :-
reset_Model,
convert_list_to_float_array([1,2,44,3],2, array(Xsize, Xrownum, X)),
convert_list_to_float_array([0.2,0.2,0.2,0.2], array(Ysize, Y)),
train(X,Xsize, Xrownum,Y, Ysize).
:- end_tests(lists).
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment