- Build:
- Unit Test Coverage:
- Regression Tests:
NuPIC is a library that provides the building blocks for online prediction and anomaly detection systems. The library contains the Cortical Learning Algorithm (CLA), but also the [Online Prediction Framework (OPF)] (https://github.com/numenta/nupic/wiki/Online-Prediction-Framework) that allows clients to build prediction systems out of encoders, models, and metrics.
For more information, see numenta.org or the NuPIC wiki.
For all installation options, see the Installing and Building NuPIC wiki page.
- Linux (32/64bit)
- Mac OSX
- Raspberry Pi (ARMv6)
- Chromebook (Ubuntu ARM, Crouton) (ARMv7)
- VM images
- Python (2.6-2.7) (with development headers)
- GCC (4.6-4.8), or Clang
- Make or any IDE supported by CMake (Visual Studio, Eclipse, XCode, KDevelop, etc)
The dependencies are included in platform-specific repositories for convenience. Installing from these repositories is not required if the dependencies defined above have been manually installed or already exist on your system.
- nupic-linux64 for 64-bit Linux systems
- nupic-darwin64 for 64-bit OS X systems
Complete set of python requirements are documented in requirements.txt, compatible with pip:
pip install -r external/common/requirements.txt
Note: If using pip 1.5 or later:
pip install --allow-all-external --allow-unverified PIL --allow-unverified psutil -r external/common/requirements.txt
Note: If you get a "permission denied" error when using pip, you may add the
--user
flag to install to a location in your home directory, which should resolve any permissions issues. Doing this, you may need to add this location to your PATH and PYTHONPATH. Alternatively, you can run pip withsudo
.
Move into the NuPIC installation directory and run:
python setup.py install
Note: If you get a "permission denied" error when using this, you may add the
--user
flag to install to a location in your home directory, which should resolve any permissions issues. Doing this, you may need to add this location to your PATH and PYTHONPATH. Alternatively, you can run this withsudo
.
Once it is installed, you can import NuPIC library to your python script using:
import nupic
For examples, tutorials, and screencasts about using NuPIC, see the Using NuPIC wiki page.
If you want develop, debug, or simply test NuPIC, clone it and follow the instructions:
This assumes the
NUPIC
environment variable is set to the directory where the NuPIC source code exists.
cd $NUPIC
python setup.py build
python setup.py develop
cd $NUPIC/build/scripts
# all C++ unit tests
make cpp_unit_tests
# C++ HTM Network API tests
make tests_cpphtm
# Python HTM Network API tests
make tests_pyhtm
# Python OPF unit tests
make python_unit_tests
# Python OPF integration tests
make python_integration_tests
# Python OPF swarming tests (requires mysql)
make python_swarming_tests
# Run all tests!
make tests_all
See our Development Tips wiki page for details.
- Run any test project from your IDE (check
output
panel to see the results).
For more tips, please see Development-Tips