NeuralSharp
A native C# neural network library in progress.
Latest update: July 9, 2022 - Restructured forward and backward passes and exposed training methods for custom training loops, created Generative Adversarial Network (GAN) example.
Warning: momentum has been broken and is currently not working but otherwise the GAN example and DNN are.
My goal is to create a working high level C# neural network library with basic functionality (for fun)! I'm not following any tutorials that provide any code so that I can hone my fundamental neural network knowledge and practice creating a well-structured design. Performance is not a top priority (otherwise C# would not be the language of choice), however, making computations within C# efficient is. Everything is made from scratch, including the Matrix class, DataLoader, etc.
Current notable features: ** Generative Adversarial Network example**
- (stochastic, mini-batch) Gradient descent.
- Data loading from csv files.
- Data encoder.
- Dense and dropouts layers.
Plans:
- Implement softmax activation and categorical cross entropy loss.
- Implement saving model (as a csv file most likely).
- Implement automatic differentiation.
- Implement graph neural networks.
- Implement an autoencoder example
- Implement basic Recurrent Neural Network and LTSM model
- Implement ImageMatrix class that takes a matrix and makes sure it's in the correct format for IO.
Deep Neural Network implementation with NeuralSharp
Generative Adversarial Network implementation with NeuralSharp