NuPIC is a Python / C++ open source project that implements HTM as described in the HTM White Paper. For an introduction to the project, watch the presentation below, given at the Open Source Conference (OSCON) in 2013.
The best way to get started is to visit the NuPIC Wiki.
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 HTM 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 HTM 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:
You can see all our GitHub Issues for all NuPIC-related repositories at http://status.numenta.org/issues.