• Stars
    star
    122
  • Rank 290,897 (Top 6 %)
  • Language
    C#
  • License
    MIT License
  • Created over 8 years ago
  • Updated about 2 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Bright Wire is an open source machine learning library for .NET with GPU support (via CUDA)

image

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

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