brightwire
brightwire copied to clipboard
Bright Wire is an open source machine learning library for .NET with GPU support (via CUDA)
Bright Wire is an extensible machine learning library for .NET with GPU support (via CUDA).
Getting Started
Bright Wire is a .net 6 class library.
The previous .net 4.6 version can be found here: https://github.com/jdermody/brightwire-v2
Bright Wire runs "out of the box" for CPU based computation. For GPU based computation, you will need to install NVIDIA CUDA Toolkit 11 (and have a Kepler or better NVIDIA GPU).
To enable higher performance CPU based computation, Bright Wire also supports the Intel Math Kernel Library (MKL) via the Numerics.Net Wrapper.
Tutorials
- Getting Started
- Introduction
- Classification Overview
- Building a Language Model
- Recognising Handwritten Digits (MNIST)
- Sentiment Analysis
- Text Clustering
- Simple Recurrent Neural Networks
- GRU Recurrent Neural Networks
- Sequence to Sequence Neural Networks with LSTM
- Convolutional Neural Networks
Nuget Installation
To install the cpu version (no CUDA support) use:
Install-Package BrightWire
Install-Package BrightData.Numerics
To add CUDA support use:
Install-Package BrightWire
Install-Package BrightData.Cuda
Features
Connectionist aka "Deep Learning"
- Feed Forward, Convolutional, Bidirectional and Sequence to Sequence (seq2seq) network architectures
- LSTM, GRU, Simple, Elman and Jordan recurrent neural networks
- L2, Dropout and DropConnect regularisation
- Relu, LeakyRelu, Sigmoid, Tanh and SoftMax activation functions
- Gaussian, Xavier and Identity weight initialisation
- Cross Entropy, Quadratic and Binary cost functions
- Momentum, NesterovMomentum, Adagrad, RMSprop and Adam gradient descent optimisations
Bayesian
- Naive Bayes
- Multinomial Bayes
- Multivariate Bernoulli
- Markov Models
Unsupervised
- K Means clustering
- Hierachical clustering
- Non Negative Matrix Factorisation
- Random Projection
Linear
- Regression
- Logistic Regression
- Multinomial Logistic Regression
Tree Based
- Decision Trees
- Random Forest
Ensemble Methods
- Stacking
Other
- K Nearest Neighbour classification
- In-memory and file based data processing
Dependencies
- ManagedCuda (for CUDA version of BrightWire)
- MathNet.Numerics