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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
neurolab-0.0.4.zip
(276.4 kB
view hashes)
Built Distribution
neurolab-0.0.4.win32.exe
(211.5 kB
view hashes)