NuPIC is a Python / C++ open source project that implements the CLA as described in the CLA White Paper. For an introduction to the project, watch the presentation below, given at the Open Source Conference (OSCON) in 2013.
If you want to jump right into the code, we have a Getting Started wiki page to help guide you.
There are a few things to be aware of before diving into NuPIC. The NuPIC source code is used by Numenta as a part of a commercial product development. Because of this, it is no longer a “pure” implementation of the algorithms. We have made optimizations, added tweaks, and taken some short cuts to improve performance. For those interested in studying and characterizing a purer form of the CLA you may want to back out some of these changes or at least be aware of them. If your interest is using NuPIC in a product, then you may be happy with the code as-is or you may want to make additional changes. Another thing to consider is that the CLA is based on principles that most people are not familiar with, including sparse distributed representations, online learning, and distributed memory. There is a steeper than normal learning curve.
We’re working on providing virtual machines ready to run NuPIC so Windows developers can work on NuPIC within Virtual Box. Currently, the build requirements are:
We keep our source code on Github in the following projects: