|
|
# Method Implementation Documentation
|
|
|
# Home
|
|
|
|
|
|
Here you can find all the documentation sites for the implemented mlpack methods of this libraray.
|
|
|
[[_TOC_]]
|
|
|
|
|
|
In the project they can be found under :
|
|
|
This is the documentation for the Project Prolog MLpack Library.
|
|
|
|
|
|
`/src/methods/name_of_method`
|
|
|
Here you can find documentaion on the used Datatypes, a detailed documentation for the available Methods and for the helper files.
|
|
|
|
|
|
# Quickstart
|
|
|
|
|
|
## Todo
|
|
|
|
|
|
# Data Types
|
|
|
|
|
|
To connect mlpack and SICStus prolog i used the c interface of SICStus which can convert prolog datatypes to c datatypes and vise versa.
|
|
|
|
|
|
[Here](https://sicstus.sics.se/sicstus/docs/latest4/html/sicstus.html/Conversions-between-Prolog-Arguments-and-C-Types.html) you can find a list of the available conversion types.
|
|
|
|
|
|
## Extra Symbols
|
|
|
|
|
|
* +
|
|
|
|
|
|
is the symbol for inupting a concret value from prolog to c/c++
|
|
|
* -
|
|
|
|
|
|
is the symbol for inputing a variable from prolog to c/c++ that then gets assigned a value in one c side, that then can be used on the prolog side.
|
|
|
* \[-\]
|
|
|
|
|
|
is the symbol for an output value from c/c++ to prolog, in its function very similar to -.
|
|
|
|
|
|
## Data Types
|
|
|
|
|
|
* **_integer_**
|
|
|
|
|
|
are the normal numbers 1,2,3...
|
|
|
|
|
|
c/c++ : _SP_integer_
|
|
|
* **_float_**
|
|
|
|
|
|
are the numbers like 0.0, 1.2, 5.7...
|
|
|
|
|
|
full definition prolog : float_32 shortend to float32 since this has the correct Byte size for its counter part double
|
|
|
|
|
|
<span dir="">When selecting and naming the methods i tried to follow the scheme of the python mlpack documentation.</span>
|
|
|
c/c++ : _double_
|
|
|
* **_string_**
|
|
|
|
|
|
are just atoms like: word, hello, nice7...
|
|
|
|
|
|
c/c++ : _char const \*_
|
|
|
* **_integer(bool)_**
|
|
|
|
|
|
there are no bool atoms in Prolog that could translate to bool in c, so i chose integer numbers as replacement with 1 = true and 0(or any other int number) = false
|
|
|
|
|
|
c/c++ : _SP_integer (1)true, (0)false_
|
|
|
* **_matrix_**
|
|
|
|
|
|
is defined a just a long list/vector where you specify its row numbers
|
|
|
|
|
|
currently on the prolog side you have to convert a normal list like \[1, 2, 3\] to a float_array with the help of some helper predicates in helper.pl.
|
|
|
|
|
|
input :
|
|
|
* prolog : _+pointer(float_array) (converted list), +integer (list length), +integer (Rows)_
|
|
|
* c/c++ : _float \* array, SP_integer size, SP_integer rows_
|
|
|
|
|
|
output :
|
|
|
* prolog : _-pointer(float_array) (converted list), -integer (Columns), -integer (Rows)_
|
|
|
* c/c++ : _float \*\*array, SP_integer \*colums, SP_integer \*rows_
|
|
|
* **_vector_**
|
|
|
|
|
|
currently on the prolog side you have to convert a normal list like \[1, 2, 3\] to a float_array with the help of some helper predicates in helper.pl.
|
|
|
|
|
|
prolog : _pointer(float_array) (converted list), integer (list length)_
|
|
|
|
|
|
c/c++ : _float \*array, SP_integer size_
|
|
|
|
|
|
# Prolog Methods
|
|
|
|
|
|
Here you can find all the documentation sites for the implemented mlpack methods of this libraray.
|
|
|
|
|
|
In the project they can be found under :
|
|
|
|
|
|
`/src/methods/name_of_method`
|
|
|
|
|
|
## Classification
|
|
|
|
|
|
* [x] [Adaboost](https://gitlab.cs.uni-duesseldorf.de/stups/abschlussarbeiten/prolog-mlpack-libary/-/wikis/PrologMethods/Classification/adaboost)
|
... | ... | @@ -72,3 +143,7 @@ In the project they can be found under : |
|
|
* [x] [PCA](https://gitlab.cs.uni-duesseldorf.de/stups/abschlussarbeiten/prolog-mlpack-libary/-/wikis/PrologMethods/Transformation/pca)
|
|
|
* [x] [Radical](https://gitlab.cs.uni-duesseldorf.de/stups/abschlussarbeiten/prolog-mlpack-libary/-/wikis/PrologMethods/Transformation/radical)
|
|
|
* [x] [Sparse_Coding](https://gitlab.cs.uni-duesseldorf.de/stups/abschlussarbeiten/prolog-mlpack-libary/-/wikis/PrologMethods/Transformation/sparse_coding)
|
|
|
|
|
|
# Helper Functions
|
|
|
|
|
|
## Todo |
|
|
\ No newline at end of file |