Neurolab is a simple and powerful Neural Network Library for Python
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
makedoc.bat Relocate tests into module Jan 19, 2015


Neurolab is a simple and powerful Neural Network Library for Python. Contains based neural networks, train algorithms and flexible framework to create and explore other neural network types.


  • Pure python + numpy
  • API like Neural Network Toolbox (NNT) from MATLAB
  • Interface to use train algorithms form scipy.optimize
  • Flexible network configurations and learning algorithms. You may change: train, error, initializetion and activation functions
  • Unlimited number of neural layers and number of neurons in layers
  • Variety of supported types of Artificial Neural Network and learning algorithms


    >>> import numpy as np
    >>> import neurolab as nl
    >>> # Create train samples
    >>> input = np.random.uniform(-0.5, 0.5, (10, 2))
    >>> target = (input[:, 0] + input[:, 1]).reshape(10, 1)
    >>> # Create network with 2 inputs, 5 neurons in input layer
    >>> # And 1 in output layer
    >>> net =[[-0.5, 0.5], [-0.5, 0.5]], [5, 1])
    >>> # Train process
    >>> err = net.train(input, target, show=15)
    Epoch: 15; Error: 0.150308402918;
    Epoch: 30; Error: 0.072265865089;
    Epoch: 45; Error: 0.016931355131;
    The goal of learning is reached
    >>> # Test
    >>> net.sim([[0.2, 0.1]]) # 0.2 + 0.1
    array([[ 0.28757596]])



Install neurolab using pip:

    $> pip install neurolab

Or, if you don't have setuptools/distribute installed, use the download link at right to download the source package, and install it in the normal fashion. Ungzip and untar the source package, cd to the new directory, and:

    $> python install

Support neural networks types