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 HTM 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, please be aware of these changes. If you are interested in using NuPIC in a product, the code may be suitable as-is, or you may wish to make additional changes.
Learning Resources
- Read Biological and Machine Intelligence.
- Go to HTM School
- Review the API
- Check out the NuPIC Walkthrough (source)
Visualization Tools
It is useful for understanding and debugging to visualize the state of the CLA at any point during a model’s lifetime. There are a few tools for this:
- HTM School THREE.JS animations (pretty complicated, see it in action on HTM School)
- Cerebro2 [unmaintained] (see this video introduction from the 2014 Spring Hackathon)
- NuPIC Studio [unmaintained] provides an intuitive HTM construction toolkit and 3D visualizations. Check out the wiki for tutorials.
Videos
CLA as Implemented in NuPIC
We don’t call it “CLA” anymore.
Numenta engineer Chetan Surpur goes into great detail about the implementations of the spatial and temporal poolers in NuPIC.
Random Distributed Scalar Encoder
Chetan Surpur describes the new Random Distributed Scalar Encoder in NuPIC.