Creating an infrastructure for building neural nets fully in C.
- Fully Connected (FC) Layer
Params:
- Input size (int)
- Output size (int)
- Activation Layer
Params:
- Activation Function (activation)
- Derivative of Activation Function (activation_p)
- Input size (int)
- Network
Params:
- Loss function (loss)
- Derivative of Loss function (loss_prime)
1. Mean Squared Error(mean_squared_error(), mean_squared_prime())
2. Crossentropy (in progress)
1. Tanh(tanh_activation(), tanh_p())
2. ReLu(relu_activation(), relu_p())
1. addLayer(Network *net, Layer *layer); // Adds layer to network
2. initFC(int input_size, int output_size); //Creates fully connected layer
3. initActivation(activation funcA, activation_p funcB, int input_size); // Create activation layer (given activation function)
4. fit(Network *net, int num_samples, int sample_length, int networkOutputSize, double xtrain[][], double ytrain[][], int epochs, double learning_rate);
5. double **predict(Network *net, int num_samples, int sample_length, double data[][]);
6. destroyNetwork(Network *net); // Object destroyer
1. Convolution Layer
2. Pooling Layer
3. Adam Optimizer
4. Softmax/Crossentropy loss
5. OpenCL support