Neural networks¶
All neural network models (classes) should inherit from ten::nn::net class, defined in ten/neural/net.hxx.
Learnable parameters should be added to the network by calling add_param(name, value).
Activation functions¶
Description |
Activation function |
|---|---|
Relu y = max(0, x) |
ten::nn::relu |
Leaky relu |
ten::nn::leaky_relu |
Sigmoid |
ten::nn::sigmoid |
Layers¶
Description |
Layer |
|---|---|
Dense/Linear layer (y = w*x + b) |
ten::nn::dense<T=float> |
Batched dense/linear layer (Y = X*W + B) |
ten::nn::batched_dense<T=float> |
Optimizers¶
Optimizers are defined in ten/optim.hxx header file.
The following optimizers are supported.
Description |
Optimizer |
|---|---|
Stochastic Gradient Descent (SGD) |
ten::optim::sgd<T=float> |
TODO: Activation functions¶
Description |
Activation function |
|---|---|
Binary step |
ten::nn::binary_step |
Hyperbolic tangent |
ten::nn::tanh |
Parametric rectified linear unit (Prelu) |
ten::nn::prelu(alpha) |
Gaussian |
ten::nn::gaussian |
Sinusoid |
ten::nn::sinusoid |
Softmax |
ten::nn::softmax |
TODO: Layers¶
Description |
Layer |
|---|---|
Convolution |
ten::nn::cnn<T=float> |
Recurrent neural network |
ten::nn::rnn<T=float> |
LSTM |
ten::nn::lstm<T=float> |
GRU |
ten::nn::gru<T=float> |
TODO: Optimizers¶
The Stochastic gradient descent implementation should be improved, by adding momentum, dampening, and nesterov.
Here’s a list of optimizers to implement
Description |
Optimizer |
|---|---|
Adam |
ten::optim::adam<T=float> |
TODO: Others¶
Current implementation doesn’t support layers without bias, this should be solved.