This repository contains the code for experimental algorithm work done internally at Numenta. A description of our core neuroscience research is available here. A description of how we are applying neuroscience research to machine learning (our current focus) is available here.

Open Research

We are dramatically open with our research. We even release our day to day research code into this repository. It contains experimental algorithm code done internally at Numenta. It includes prototypes and experiments with different algorithm implementations.

Please see this blog entry for a discussion on our commitment to Open Science and Open Research.

The NuPIC open source community continues to maintain and improve our more stable older algorithms. See for discussions on that codebase - you can also post your research related questions there.

The ideas in this repository are constantly in flux as we tweak and experiment. Hence the following DISCLAIMERS:

What you should understand about this repository

  • the code can change quickly and without warning as experiments are discarded and recreated

  • code will not be production-quality, bug free, or well documented

  • if we do work with external partners, that work will probably NOT be here

  • we might decide at some point to not do our research in the open anymore and instead delete the whole repository


If you are interested in scripts and code used in published papers, this repository contains reproducible code for selected Numenta papers.


OK, enough caveats. Here are some installation instructions though mostly you are on your own. (Wait, was that another caveat?)

When using anaconda virtual environment all you need to do is run the following command and conda will install everything for you. See environment.yml:

conda env create

Otherwise you need can install using like any python project. Since the contents here change often, we highly recommend installing as follows:

pip install -r requirements.txt
pip install -r requirements-dev.txt
python develop

You can test your installation by running the test script from the repository root:

python test


Some of our old research code and experiments are archived in the following repositories:

Indices and tables