diff --git a/README.md b/README.md index ac960bc..c6fabca 100644 --- a/README.md +++ b/README.md @@ -1,68 +1,6 @@ # PMLPP -This is an experimental Machine Learning module for the Pandemonium Engine. - -Based on https://github.com/novak-99/MLPP . - -## Status - -- Reworked codestyle to match the engine's. -- Reworked classes to work well with the engine. -- Added custom MLPPVector and MLPPMatrix that store data in a single continuous array. Their downside is push back, and remove uses realloc(). -- Added binds for most of the classes. -- Added unit tests. - -## Todos - -### Saves - -Reimplement saving. - -### Bind remaining methods - -Go through and bind all methods. Also add properties as needed. - -### Add initialization api to all classes that need it - -The original library used contructors to initialize everything, but with the engine scripts can't rely on this, -make sure all classes have initializations apis, and they bail out when they are in an uninitialized state. - -### Rework remaining apis. - -Rework and bind the remaining apis, so they can be used from scripts. - -### Error handling - -Make error macros usage consistent. Also a command line option should be available that disables them for math operations. - -### Crashes - -There are still likely lots of crashes, find, and fix them. - -### Unit tests - -- Add more unit tests -- Also use the engine's own unit test module. It still needs to be fininshed, would be a good idea doing it alongside this modules's tests. -- They should only be built when you want them. Command line option: `mlpp_tests=yes` - -### Old classes - -- Remove all old classes once they are no longer needed. -- Old classes should only be built when you want them. Command line option: `mlpp_tests=yes` or maybe something else? -- Make old classes use old utilities. -- Remove old apis from new classes that has been ported. - -### std::random - -Replace remaining std::random usage with engine internals. - -### Tensor - -Add a tensor class. Same as MLPPVector and MLPPMatrix, except it's n-d. - -### More algos - -Add more machine learning algorithms. +A Machine Learning module for the Pandemonium Engine. Based on: https://github.com/novak-99/MLPP ## Contents of the Library @@ -235,7 +173,51 @@ Add more machine learning algorithms. 4. Accuracy 5. F1 score +## Todos + +### Saves + +Reimplement saving. + +### Bind remaining methods + +Go through and bind all methods. Also add properties as needed. + +### Add initialization api to all classes that need it + +The original library used contructors to initialize everything, but with the engine scripts can't rely on this, +make sure all classes have initializations apis, and they bail out when they are in an uninitialized state. + +### Rework remaining apis. + +Rework and bind the remaining apis, so they can be used from scripts. + +### Error handling + +Make error macros usage consistent. Also a command line option should be available that disables them for math operations. + +### Crashes + +There are still likely lots of crashes, find, and fix them. + +### Unit tests + +- Add more unit tests +- Also use the engine's own unit test module. It still needs to be fininshed, would be a good idea doing it alongside this modules's tests. +- They should only be built when you want them. Command line option: `mlpp_tests=yes` + +### std::random + +Replace remaining std::random usage with engine internals. + +### Tensor + +Add an N-dimensional tensor class. + +### More algos + +Add more machine learning algorithms. ## Citations -Various different materials helped me along the way of creating ML++, and I would like to give credit to several of them here. [This](https://www.tutorialspoint.com/cplusplus-program-to-compute-determinant-of-a-matrix) article by TutorialsPoint was a big help when trying to implement the determinant of a matrix, and [this](https://www.geeksforgeeks.org/adjoint-inverse-matrix/) article by GeeksForGeeks was very helpful when trying to take the adjoint and inverse of a matrix. +Originally created by Marc Melikyan: https://github.com/novak-99/MLPP