-
Add Tensor class to perform operation
-
Add Broadcasting addition
-
Add Neural Network class
- Initialisation
- Forward Propagation
- Back Propagation
- Optimizer
- Update
-
Add Accuracy Graphics class
-
Add Loss Graphics class
-
Create and plot dataset (gnuplot)
-
Add Unit test for tensor class cxxtest
-
Add system to throw error and hanle assertion.
-
Binomial Unit test
-
Add a clipped function.
-
Create a folder for all the main.
-
Add test to all function in the code.
- Activation ReLU
- Activation Softmax
- Activation Sigmoid
- Activation Linear
- Layer Dense
- Layer_Dropout
- Loss_CategoricalCrossentropy
- Loss_BinaryCrossentropy
- Loss_MeanSquaredError
- Loss_MeanAbsoluteError
- Activation_Softmax_Loss_CategoricalCrossentropy
- Optimizer_SGD
- Optimizer_Adagrad
- Optimizer_RMSProp
- Optimizer_Adam
-
Add reshape function
-
Add cout shape
-
Add struct parameters for layer_dense class
-
Refacto Loss (Ajouter des assert dans le forward et le backward)
-
Faire la classe model
-
Supprimer les méthodes accuracy dans les classes Loss
-
Refaire des mains d'exemple avec la nouvelle base
-
Repasser sur tous les test unitaires et voir s'il n'y a pas de fonctions sans test
-
Repasser sur tout le code et ajouter des commentaires sur les opérations
-
Améliorer le système d'affichage de graph
-
Changer les anciens parameters en option
-
Test unitaire sur dataset et sur tools
-
Trouver un moyen de shuffle
-
Fonction qui resize les images
-
Faire les prédictions sur les fonctions d'activation
- Do a makefile with specific flag who fit with AMD and Intel.
- set(CMAKE_CXX_FLAGS "-Wall -Wextra")
Sous ubuntu :
sudo apt-get install gnuplot libboost-all-dev cxxtest
In the project :
mkdir build
cd build
cmake ..
make
To build all unit test, just write make at the source of the project
- https://valgrind.org/docs/manual/cg-manual.html
- https://vaibhaw-vipul.medium.com/matrix-multiplication-optimizing-the-code-from-6-hours-to-1-sec-70889d33dcfa
- https://wiki.gentoo.org/wiki/GCC_optimization/fr
- https://github.com/deftio/C-and-Cpp-Tests-with-CI-CD-Example
- https://stackoverflow.com/questions/65871948/same-random-numbers-in-c-as-computed-by-python3-numpy-random-rand
- https://cxxtest.com/
- http://cxxtest.com/guide.html
- https://johnnysswlab.com/make-your-programs-run-faster-by-better-using-the-data-cache/
- https://helloacm.com/how-to-find-out-whether-a-machine-is-big-endian-or-little-endian-in-cc/
- https://www.eecs.umich.edu/courses/eecs380/HANDOUTS/cppBinaryFileIO-2.html
- https://dane-bulat.medium.com/cmake-building-sfml-and-game-projects-on-linux-3947b3ba6e8