Not useful yet, still a WIP.
Create a network using the NetBuilder struct:
use ffnn::NetBuilder;
use ffnn::activations::RELU;
let net = NetBuilder::new(3).layer(2, RELU).init();
Predict on a set of inputs using Network::predict
:
use nalgbebra::dvector;
net.predict(dvector![0.0, 0.0, 0.0]);
- Add documentation
- Backward propagation
- Batched backprop
- Adam optimizer
- Softmax activation
- Dropout
- Genetic algorithm utils?
- Multiple cost functions
- Binary cross entropy
- Categorical cross entropy
- Mean squared error
- Maybe multiple optimization methods (not just gradient descent)
- Thread pool to increase performance
- Use GPU
- MNIST digits
- XOR function
- Sine wave
- Forward propagation
- Add bias nodes
- Move initialization to the builder
- Multiple activation functions