This article briefly explains what NuPIC is and shows how to install NuPIC on OS X Mavericks.
NuPIC is an algorithm for machine learning, based upon CLA/HTM Theory. This is developed by Numenta. This is not the newest version of Numenta's machine learning algorithm, but this is freely available at GitHub.
More information and a copy of NuPIC are available at NuPIC WiKi
For details of how to install and how to execute NuPIC on OS X Mavericks, please visit the article at GitHub:Running NuPIC on OS X.
- Python 2.7.5 (for this article)
- pip 1.5.4
- OS X 10.9 Mavericks or later
This a must-requirement. If you use older version of OS X, please update it.
- Xcode 5 or later (including its Command Line Tools) Please download Command Line Tools from Xcode. Command Line Tools include software packages, which are necessary for installing NuPIC.
- clang
- Git (This is a part of Xcode)
- Python (This is installed with Xcode, Xcode's Command Line Tools)
- GCC or Clang (This is a part of Xcode, Xcode's Command Line Tools)
1. Checking OS
The minimum version of OS X is 10.9. If you are using older than OS X 10.9 Mavericks, please update your OS X. This article uses OS X 10.9.2.
2 Setting up Build Tools
Install Xcode from App Store. Then, install Command Line Tools from the inside of Xcode.Xcode > Open Developer Tool > More Developer ToolsOr, opening up Terminal, apply the command below
xcode-select –install
3. Installing homebrew
homebrew is a package installer. To use homebrew, install the software packages listed below.
- automake
- libtool
- cmake
Cmake can be installed from the dmg file, which can be downloaded the wehis article uses the homebrew.
To install homebrew, open up Terminal, apply the command line below.$ ruby -e “$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)”
To check whether homebrew is installed correctly or not, apply the commands below for updating homebrew.$ brew update $ brew doctor
If there are no problems on the installation of homebrew, install the packages listed above.$ brew install automake libtool cmake
4. Downloading source code of NuPIC
Check out source code from git. If you wish to contribute your modified code to the project of NuPIC, you will need your own git account.$ cd ~ $ mkdir work $ cd work $ git clone https://github.com/numenta/nupic.git
5. Configuring environment variable
To set up the environment variable, which is required for building and executing NuPIC, record the information of PATH and others on .profile file.
Usually this file is set to be invisible. Please use Terminal to find this file.~/.profile
Configure environment variables, which are needed for building and executing NuPIC. Open up .profile, and write down the information shown below.# The directory of source repository where it is git checkout export NUPIC=~/work/nupic # Installation PATH of NTA export NTA=$NUPIC/nta/eng # Temporary Build file PATH export BUILDDIR=/tmp/ntabuild # Number of concurrent jobs for building (i.e. number of CPU cores + 1) export MK_JOBS=3 # Configuration for other required environment variables source $NUPIC/env.sh
Then, go back to Terminal, open up .profile file, and make sure the information above is written correctly.$ printenv
6. Installing pip
Installing pip, which is a package manager for Python.$ sudo easy_install pip
7. Installing Python libraries
Using pip, install Python libraries, which are required for NuPIC.$ sudo pip install -r $NUPIC/external/common/requirements.txtIf you use pip 1.5 or later, you may apply the command line below.~
$ sudo pip install ―allow-all-external ―allow-unverified PILL ―allow-unverified psutil -r $NUPIC/external/common/requirements.txt
If you encounter a permission denied error when you use pip, please run pip with sudo. For farther details of the error, please visit this page.
8. Building and Installing NuPIC
Move to the NuPIC installation directory and execute the command below.~ Python setup.py installIf you can see the message listed below, the installation of NuPIC is successful.
$ $NUPIC/build.sh ... ... ... Stdout redirected to; /Users/otsuka/work/nupic/build_system/stdout.txt Build successful.
If you face a permission denied error when you use NuPIC, please execute NuPIC with sudo. Please go to this page for more information.
Please test that NuPIC can be executed properly when it is successfully built and installed.
$ cd $NTA/bin
$ htmtest ... ... Skipping ... ― ALL TESTS PASSES ―
$ testeverything ... ... Skipping ... ******************************************************************* * Numenta Unit Test summary * * Total categories = 39 * Total tests = 2252 * Total passed = 2252 * Total disabled = 0 * Total failed = 0 * Total critical failures = 0 * Success rate = 100 *******************************************************************
$ cd $NUPIC
$ $NUPIC/run_tests.sh ============================= test session starts ============================== platform darwin -- Python 2.7.5 -- pytest-2.4.2 -- /usr/bin/python plugins: cov, xdist collected 697 items / 2 skipped … … Skipping ... =================== 687 passed, 12 skipped in 150.86 seconds ===================
You cannot build application with GUI of Xcode, even though it is built with Cmake.
$ python -V Python 2.7.5
$ pip -V pip 1.5.4 from /Library/Python/2.7/site-packages/pip-1.5.4-py2.7.egg (python 2.7)
$ clang -v Apple LLVM version 5.0 (clang-500.2.79) (based on LLVM 3.3svn) Target: x86_64-apple-darwin13.1.0 Thread model: posix
$ brew ―version 0.9.5
$ brew list autoconf automake cmake libtool
- 2015/01/05 This article is initially uploaded