Open Source Neural Network Library

I am looking for an open source neural network library. So far I have watched FANN, WEKA and OpenNN. The rest, what should I look at? The criteria, of course, are documentation, examples, and ease of use.

+52
artificial-intelligence machine-learning neural-network
Jul 13 '12 at 19:32
source share
4 answers

Last updated: 2017/12/17 (from time to time I will update this answer ...)

Standard implementations of neural networks

  • FANN is a very popular implementation in C / C ++ and has bindings for many other languages.
  • I think WEKA does not have a very good implementation for neural networks. There is a better library for Java (and C #): Encog .
  • In scikit-learn (Python) 0.18 (current development version), implementation of feedback neural networks ( API documentation ) will appear.
  • PyBrain (Python) contains various types of neural networks and training methods.
  • And I have to mention my own project called OpenANN ( Documentation ). It is written in C ++ and has Python bindings.

Deep learning

As there is huge hype around neural networks (โ€œdeep learningโ€), there are many research libraries available that may not be easy to set up, integrate, and use. On the other hand, they provide advanced functionality and high performance (with GPUs, etc.).

A performance comparison for libraries with GPU acceleration can be found here (unfortunately outdated). A comparison of GPUs and library versions can be found here .

Inactive:

+42
Jul 13 '12 at 20:21
source share

If you need the flexibility to define network configurations, such as sharing parameters or creating different types of convolutional architectures, then you should look at the Torch library family: http://www.torch.ch/ .

I haven't looked at the documentation for Torch 7 yet, but the documentation for other versions was pretty decent, and the code is very readable (in Lua and C ++).

+5
Jul 17 2018-12-17T00:
source share

You can use accord.net environment. http://accord-framework.net/

It contains neural learning algorithms such as Levenberg-Marquardt, Parallel Resilient Backpropagation, Nguyen-Widrow initialization algorithm, Deep Belief Networks and limited Boltzmann machines and many other neural networks associated with it.

+3
May 31 '14 at 10:55
source share

Netlab is a commonly used Matlab library. (free and open source)

The Netlab toolkit is designed to provide the necessary tools for modeling a theoretically based neural network of algorithms and related models for use in teaching, research, and application development. It is widely used in MSc through Research in the Mathematics of Complex Systems.

Netlab library includes software implementations of a wide range of data analysis methods, many of which are not yet available in standard neural network modeling packages. Netlab works with Matlab version 5.0 and higher, but only the main Matlab is needed (i.e. there is no other toolbar). It is not compatible with earlier versions of Matlab.

+2
Jul 13 2018-12-12T00:
source share



All Articles