Skip to main content

Simple and powerfull neural network library for python

Project description

******************* Introduction ***************

NeuroLab - a library of basic nueral networks algorithms with flexible network configurations and learning algorithms. To simplify migration, the syntax of the library is as close to a package of Neural Network Toolbox (NNT) of MATLAB (c). The library is based on the package numpy (http://numpy.scipy.org), some learning algorithms are used scipy.optymyze (http://scipy.org).

Create network:
>>> import neurolab as nl
>>> # create feed forward multilayer perceptron
>>> net = nl.net.newff([[0, 0.5], [0, 0.5]], [3,1])

Created two-layer network(3-1) with 2-inputs and one output. Input layer contains 3 neurons, the output 1 neuron. Input range: 0.0, 0.5

Train:
>>> # Create learning samples
>>> input = [[0.1, 0.1],
...          [0.1, 0.2],
...          [0.1, 0.3],
...          [0.1, 0.4],
...          [0.2, 0.2],
...          [0.2, 0.3],
...          [0.2, 0.4],
...          [0.3, 0.3],
...          [0.3, 0.4],
...          [0.4, 0.4]]
>>>
>>> target = [[i[0] + i[1]] for i in input]
>>> # Train
>>> error = net.train(input, target, epochs=500, goal=0.1)
Train error:
>>> print "Finish error:", error[-1]
Finish error: 0.125232586274
Simulate:
>>> net.sim([[0.1, 0.5], [0.3, 0. 1]])
array([[ 0.59650825],
   [ 0.41686071]])
Network Info:
>>> # Number of network inputs:
>>> net.ci
2
>>> # Number of network outputs:
>>> net.co
1
>>> # Number of network layers:
>>> len(net.layers)
2
>>> # Weight of first neuron of input layer (net.layers[0])
>>> net.layers[0].np['w'][1]
array([-0.67211163, -0.87277918])
>>>
>>> # Bias output layer:
>>> net.layers[-1].np['b']
array([-0.69717423])
>>> # Train params
>>> net.train.defaults
{'goal': 0.01,
 'show': 100,
 'epochs': 1000,
 'lr': 0.01,
 'adapt': False,
 'errorf': <neurolab.error.SSE instance at 0x03757EB8>}
Save/Load:
>>> net.save('sum.net')
>>> newnet = nl.load('sum.net')
Change train function:
 
>>> net.trainf = nl.train.TrainCG()
>>> # Change error function:
>>> net.trainf.defaunts['trainf'] = nl.error.SAE()
Change transfer function on output layer:
 
>>> net.layers[-1].transf = nl.trans.HardLim()

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for neurolab, version 0.0.4
Filename, size File type Python version Upload date Hashes
Filename, size neurolab-0.0.4.win32.exe (211.5 kB) File type Windows Installer Python version any Upload date Hashes View
Filename, size neurolab-0.0.4.zip (276.4 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page