Library — NeuroLab v0.0.9 documentation. Ecet.ecs.ru.acad.bg/cst/docs/proceedings/s2/ii-27.pdf. Java Bidirectional Associative Memory Neural Network. Encog is an advanced machine learning framework that supports a variety of advanced algorithms, as well as support classes to normalize and process data.
Machine learning algorithms such as Support Vector Machines, Artificial Neural Networks, Genetic Programming, Bayesian Networks, Hidden Markov Models and Genetic Algorithms are supported. Most Encog training algoritms are multi-threaded and scale well to multicore hardware. Encog can also make use of a GPU to further speed processing time. A GUI based workbench is also provided to help model and train machine learning algorithms. Encog has been in active development since 2008. Emergent. Comparison of Neural Network Simulators - Emergent. Neural Ensemble. NeuroConstruct. Requirements neuroConstruct has been tested on on WinXP/NT, Red Hat Linux and openSUSE and Mac OS (please let us know if you've any other experiences on other systems).
A local installation of NEURON, GENESIS, MOOSE, PSICS or a PyNN compliant simulator will be needed to execute the simulation scripts generated by neuroConstruct. Details of the interaction with these environments is available here. neuroConstruct will run on most machines which can run Java and Java3D. For networks/cells with >5000 total segments, you'll need a fairly modern machine, and the more RAM and graphics memory, the better; 1GB RAM and 128MB graphics is usually fine, higher is better. Approx. 130MB of disk space is required for the installation. Install Java J2SE 5 or higher. From version 1.2.0 the libraries for Java3D are included with the neuroConstruct download. Installation on Windows Make sure you have the correct version of Java installed (see above). Automatic installer Zip file install Installation on Linux. Brian. PyNN - Trac. PyNN (pronounced 'pine') is a is a simulator-independent language for building neuronal network models.
In other words, you can write the code for a model once, using the PyNN API and the Python programming language, and then run it without modification on any simulator that PyNN supports (currently NEURON , NEST , PCSIM and Brian ). The PyNN API aims to support modelling at a high-level of abstraction (populations of neurons, layers, columns and the connections between them) while still allowing access to the details of individual neurons and synapses when required. PyNN provides a library of standard neuron, synapse and synaptic plasticity models, which have been verified to work the same on the different supported simulators. The low-level API is good for small networks, and perhaps gives more flexibility.
The high-level API is good for hiding the details and the book-keeping, allowing you to concentrate on the overall structure of your model. Licence Users' Guide. PyBrain. Neural Modeling with Python (Part 3) So far we've looked at how to simulate a simple LIF model neuron and a complex Hodgkin-Huxley model neuron.
The LIF neuron is computationally simple but physiologically implausible, while Hodgkin-Huxley gives us a very good representation of actual neural dynamics but is parameter-heavy and computationally expensive. An intriguing compromise between the two exists -- one that can generate a wide variety of observed neural spiking behavior while doing so with limited computational demand. It is called the quadratic integrate-and-fire model neuron, or simply Izhikevich neuron. Izhikevich Model Neuron In 2003, Eugene Izhikevich published a paper entitled "Simple Model of Spiking Neurons" (Izhikevich, 2003) in which he describes how the quadratic integrate-and-fire neuron can be used to efficiently replicate the observed spiking dynamics of several different classes of cortical neurons.
. , with a reset similar to the LIF neuron defined by . Object-Oriented Python The IzhNeuron class. Brian/StimulusArrayGroup - NeuralEnsemble Cookbook - Trac. This code is for creating a group of neurons which fire with a given 2D stimulus at a given rate.
You initialise it with arguments: stimulus, which should be a 2D array with values between 0 and 1. rate, which should be a firing rate in Hz. onset, the time that the stimulus should become active. duration, the length of time for which the stimulus should be active. The point in the stimulus array at position (y,x) will correspond to the neuron with index i=y*width+x. This neuron will fire Poisson spikes at rate*stimulus[y,x] Hz. Code snippet The StimulusArrayGroup class is defined as follows: class StimulusArrayGroup(PoissonGroup): def __init__(self, stimulus, rate, onset, duration): height, width = stimulus.shape stim = stimulus.ravel()*rate self.stimulus = stim def stimfunc(t): if onset<t<(onset+duration): return stim else: return 0. An example use, where the stimulus is a 100x100 image with a 10 pixel thick bar at 90 degrees to the vertical, firing at rate 50 Hz from 100ms to 200ms: