Modular neural network in Rust.
Create modular neural networks in Rust with ease! For educational purposes; vector operations are not throughly optimized.
Quickstart
use Network;
use Activation;
use Optimizer;
use Objective;
Examples can be found in the examples directory.
Progress
-
Layer types
- Dense
- Feedback
- Convolutional
-
Activation functions
- Linear
- Sigmoid
- Tanh
- ReLU
- LeakyReLU
- Softmax
-
Objective functions
- AE
- MAE
- MSE
- RMSE
- CrossEntropy
- BinaryCrossEntropy
- KLDivergence
- Huber
-
Optimization techniques
- SGD
- SGDM
- Adam
- AdamW
- RMSprop
- Minibatch
-
Regularization
- Dropout
- Batch normalization
- Early stopping
-
Parallelization
- Multi-threading
-
Testing
- Unit tests
- Integration tests
-
Other
- Documentation
- Type conversion (e.g. f32, f64)
- Network type specification (e.g. f32, f64)
- Saving and loading
- Logging
- Data from file
- Custom tensor/matrix types
- Custom random weight initialization
- Plotting