Bright Wire is an extensible machine learning library for .NET with optional MKL and GPU support (via CUDA).
Bright Wire is a .net 8 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" with its own vectorised linear algebra library.
If you have a NVIDIA GPU then you can also use GPU based computation. You will need to install NVIDIA CUDA Toolkit 12 (and have a Kepler or better NVIDIA GPU).
To enable higher performance CPU based computation on Intel hardware, Bright Wire also supports the Intel Math Kernel Library (MKL).
- Getting Started
- Introduction
- Classification Overview
- Building a Simple 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
To install the cpu version (no CUDA support) use:
Install-Package BrightWire
To add MKL support use:
Install-Package BrightWire
Install-Package BrightData.MKL
then install the MKL.NET nuget installation for your OS, for example Install-Package MKL.NET.win-x64
To add CUDA support use:
Install-Package BrightWire
Install-Package BrightData.Cuda
- 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
- Naive Bayes
- Multinomial Bayes
- Multivariate Bernoulli
- Markov Models
- K Means clustering
- Hierarchical clustering
- Non Negative Matrix Factorisation
- Random Projection
- Decision Trees
- Random Forest
- Stacking
- K Nearest Neighbour classification
- In-memory and file based data processing