Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/unipr-org/deep-neural-network
Deep Neural Network Library: A flexible C++ library for building, training, and using deep neural networks. Modular, easy-to-use, and high-performance.
https://github.com/unipr-org/deep-neural-network
artificial-intelligence artificial-neural-networks cpp deep-neural-networks machine-learning
Last synced: 19 days ago
JSON representation
Deep Neural Network Library: A flexible C++ library for building, training, and using deep neural networks. Modular, easy-to-use, and high-performance.
- Host: GitHub
- URL: https://github.com/unipr-org/deep-neural-network
- Owner: unipr-org
- Created: 2024-04-26T10:03:29.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2024-05-19T17:24:33.000Z (8 months ago)
- Last Synced: 2024-05-19T18:31:34.988Z (8 months ago)
- Topics: artificial-intelligence, artificial-neural-networks, cpp, deep-neural-networks, machine-learning
- Language: C++
- Homepage:
- Size: 11 MB
- Stars: 2
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Deep Neural Network
## Dependencies
- [spdlog](https://github.com/gabime/spdlog)
- [doxygen](https://www.doxygen.nl/)## How to compile
```bash
mkdir build
cd build
cmake ..
make
```To turn on all types of logs use `cmake -DDEBUG=ON`.
## How to add and run tests
Filenames of tests **must** be compliant to the following patterns:| Source | Input |
| ------------- | -------------- |
| `test_*.cpp` | `test_*.txt` |and all tests must be in the `test` directory.
After the compilation phase, inside the `build` directory run, you can run all tests with:
```bash
ctest # -V for verbose output
```To execute a single test:
```bash
./test/test_
```or refer to the CMake [doc](https://cmake.org/cmake/help/book/mastering-cmake/chapter/Testing%20With%20CMake%20and%20CTest.html#testing-using-ctest).
### Example test
You can run an example test with:
```bash
./test/test_DefaultTrainer
```---
## Generate documentation
Simply run in the build directory
```bash
make documentation
```and look for the `index.html` inside `doc/html/`.
---
## TODO-List
- [x] Utilizzo di C++ 11
- [x] Implementare classi astratte (interfacce)
- [x] Cambiare nomi variabili private (`_`)
- [x] Funzioni inline
- [x] Rimozione classe Connection
- [x] Rimuovere `bool isBias`
- [x] Utilizzo namespace e alias
- [x] Const correctess
- [x] Operator []
- [x] Salvataggio stato rete
- [x] Funzione caricamento pesi
- [x] Caricamento struttura rete da file
- [x] Classe Loader
- [x] Adattare metodi per il salvataggio e caricamento della rete nella classe Loader
- [x] Algoritmo di backpropagation
- [x] Generazione training e test set
- [x] Lettura training set
- [x] Libreria matematica
- [x] Sistemare scelta del passo per l'algoritmo di back-prop
- [x] Ridirigere l'output della compilazione di doxygen da qualche altra parte
- [x] Algoritmo di testing
- [x] Implementare funzione test e statistiche
- [x] Metodo getActivationFunction che restituisce g() e con una mappa otteniamo g’()
- [ ] Parallelizzazione (`thread`)
- [ ] Scrivere la documentazione mancante