Skip to content

Python implementation of the Leabra framework

Notifications You must be signed in to change notification settings

dillontsmith/leabra

 
 

Repository files navigation

Explanation of Fork

This is a fork of Leabra, to be uploaded for distribution on PyPi. The package is completely unchanged from the original with the exception of the following modifications:

  1. The name of the package was changed, so that the original authors may use the original name if they decide to upload to PyPi at some point.
  2. This section was added to the readme.
  3. Several trivial modifications were made to setup.py for compatibility with PyPi.
  4. The version number was incremented to account for the above listed changes.

Leabra

Binder Build Status

This repository holds a Python implementation of the Leabra (Local, Error-driven and Associative, Biologically Realistic Algorithm) framework. The reference implementation for Leabra is in emergent developped by the Computational Cognitive Neuroscience Laboratory at the University of Colorado Boulder. This Python implementation targets emergent 8.1.0, and only implements the rate-coded mode —which includes some spiking behavior, but is different from the discrete spiking mode (which is not implemented).

This work is the fruit of the collaboration of the Computational Cognitive Neuroscience Laboratory at the University of Colorado Boulder and the Mnemosyne Project-Team at Inria Bordeaux, France.

Status & Roadmap

This is a work in progress. Most of the basic algorithms of Leabra are implemented, but some mechanisms are still missing. While the current implementation passes several quantitative tests of equivalence with the emergent implementation (8.1.1, r11060), the number and diversity of tests is too low to guarantee that the implementation is correct yet.

  • Unit, Layer, Connection, Network class
  • XCAL learning rule
  • Basic notebook examples
  • Quantitative equivalence with emergent
  • Neuron tutorial notebook
  • Inhibition tutorial notebook
  • Weight balance mechanism

Installation & Usage

Install dependencies:

pip install -r requirements.txt

Then, launch Jupyter to see usage examples:

jupyter notebook index.ipynb

Run Notebooks Online

Notebooks can be run online without installation with the Binder service. The service is still experimental, and may be down or unstable.

Useful Resources

License

To be decided.

About

Python implementation of the Leabra framework

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Jupyter Notebook 62.9%
  • Python 36.9%
  • Dockerfile 0.2%