Skip to content
Snippets Groups Projects
Select Git revision
  • ed1f506a636b8f8420f72c341224cc2f2d7e02fb
  • main default protected
2 results

logistic_regression.pl

Blame
  • user avatar
    Jakhes authored
    ed1f506a
    History
    Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    logistic_regression.pl 2.79 KiB
    :- module(logistic_regression, [   initModelNoOptimizer/6,
                                       initModelWithOptimizer/7,
                                       classifyPoint/4,
                                       classifyLabels/6,
                                       classifyProbs/6,
                                       computeAccuracy/7,
                                       computeError/6,
                                       train/6]).
    
    %% 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(initModelNoOptimizer, c, initModelNoOptimizer(+pointer(float_array), +integer, +integer, +pointer(float_array), +integer, +float32)).
    
    %% TODO: 
    %% input: 
    %% output: 
    %% description: 
    foreign(initModelWithOptimizer, c, initModelWithOptimizer(+pointer(float_array), +integer, +integer, +pointer(float_array), +integer, +string, +float32)).
    
    %% TODO: 
    %% input: 
    %% output: 
    %% description: 
    foreign(classifyPoint, c, classifyPoint(+pointer(float_array), +integer, +float32, [-integer])).
    
    %% TODO: 
    %% input: 
    %% output: 
    %% description: 
    foreign(classifyLabels, c, classifyLabels(+pointer(float_array), +integer, +integer, -pointer(float_array), -integer, +float32)).
    
    %% TODO: 
    %% input: 
    %% output: 
    %% description: 
    foreign(classifyProbs, c, classifyProbs(+pointer(float_array), +integer, +integer, -pointer(float_array), -integer, -integer)).
    
    %% TODO: 
    %% input: 
    %% output: 
    %% description: 
    foreign(computeAccuracy, c, computeAccuracy(+pointer(float_array), +integer, +integer, +pointer(float_array), +integer, +float32, [-float32])).
    
    %% TODO: 
    %% input: 
    %% output: 
    %% description: 
    foreign(computeError, c, computeError(+pointer(float_array), +integer, +integer, +pointer(float_array), +integer, [-float32])).
    
    %% TODO: 
    %% input: 
    %% output: 
    %% description: 
    foreign(train, c, train(+pointer(float_array), +integer, +integer, +pointer(float_array), +integer, +string)).
    
    
    %% Defines the functions that get connected from main.cpp
    foreign_resource(logistic_regression, [   initModelNoOptimizer,
                                              initModelWithOptimizer,
                                              classifyPoint,
                                              classifyLabels,
                                              classifyProbs,
                                              computeAccuracy,
                                              computeError,
                                              train]).
    
    :- load_foreign_resource(logistic_regression).