mirror of
https://github.com/Relintai/pmlpp.git
synced 2024-12-21 14:56:47 +01:00
Tweaks to the readme.
This commit is contained in:
parent
3dd76cf3c4
commit
74d24fc695
110
README.md
110
README.md
@ -1,68 +1,6 @@
|
|||||||
# PMLPP
|
# PMLPP
|
||||||
|
|
||||||
This is an experimental Machine Learning module for the Pandemonium Engine.
|
A Machine Learning module for the Pandemonium Engine. Based on: https://github.com/novak-99/MLPP
|
||||||
|
|
||||||
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.
|
|
||||||
|
|
||||||
|
|
||||||
## Contents of the Library
|
## Contents of the Library
|
||||||
@ -235,7 +173,51 @@ Add more machine learning algorithms.
|
|||||||
4. Accuracy
|
4. Accuracy
|
||||||
5. F1 score
|
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
|
## 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
|
||||||
|
Loading…
Reference in New Issue
Block a user