Software/tips
Numenta NuPIC の MacOS X Marvericks でのビルド手順 †
Github の numenta アカウント NuPIC リポジトリの
Getting Started wiki
の手順の通りに実行します。
Mac OS X での実行は
Running NuPIC on OS X
に詳しく記されています。
必要なもの †
- Git (Mac OS X には最初からインストールされている)
- Python (Mac OS X には最初からインストールされている)
- Gcc or Clang (Mac OS X には最初からインストールされている)
- CMake (要インストール。後述)
ビルド手順 †
- OS
OS X 10.9 Mavericks になっていなかったら更新する。
※これ以前のものでビルドするのはかなり厄介。
実際に作業して確認したバージョンは 10.9.2
- ビルドツール
XCode 5 以上をインストールする。
App Store からインストール後、アプリケーションのメニューの
Xcode > Open Developer Tool > More Developer Tools
で Downloads for Apple Developers の web ページが開くので、
Command Line Tools (OS X Mavericks) for Xcode
の最新のものをインストールする。
実際に作業して確認したバージョンは
Xcode 5.0.2
Command Line Tools (OS X Mavericks) for Xcode Late October 2013
- homebrew
ビルドに必要なその他のパッケージをインストールするためhomebrew をインストールし、
homebrew を使って
・automake
・libtool
・cmake
をインストールする。
CMake は CMake の web ページから dmg ファイルをダウンロードしてインストールしても良いが、
Mavericks のセキュリティ設定がデフォルトでは
「App Store と確認済み開発元からダウンロードしたものしか実行を許可しない』
状態になっているのを変更してインストールしなければならないので
homebrew でインストールした方が良い。
Terminal で以下を実行する。
$ ruby -e “$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)”
エラーなくインストールされたら正常実行できる確認を兼ねて更新し環境のチェックを行う。
$ brew update
$ brew doctor
何か問題があったら修正しておき、上記のパッケージをインストールする。
$ brew install automake libtool cmake
- ソースコードダウンロード
git で checkout する。
変更を contribute する予定がある場合は github のアカウントを取得しておく。
$ cd ~
$ mkdir work
$ cd work
$ git clone https://github.com/numenta/nupic.git
- 環境変数設定
~/.profile
に nupic のビルドと実行に必要な環境変数を設定する。
以下の内容を .profile に書き、新規に Terminal を開いて
$ printenv
で反映されていることを確認する。
全ての shell に反映されてしまうのが嫌な場合は他のファイルに書き、ビルドや実行前に必ず source する。
# git checkout したソース repository のディレクトリ
export NUPIC=~/work/nupic
# NTA のインストール path
export NTA=$NUPIC/nta/eng
# 一時ビルドファイルの path
export BUILDDIR=/tmp/ntabuild
# ビルドの平行ジョブ数( CPU コア数+1ぐらい)
export MK_JOBS=3
# その他の必要な環境変数を設定する。
source $NUPIC/env.sh
- pip
Python の Package を管理するツールの pip をインストールする。
$ sudo easy_install pip
- Python library のインストール
pip で nupic に必要なライブラリをインストールする。
$ sudo pip install -r $NUPIC/external/common/requirements.txt
pip 1.5 以上の場合は以下のような option で pip install を実行すると前述の Running NuPIC on OS X にあるが、
上の option なしの実行で問題ない。
$ sudo pip install --allow-all-external --allow-unverified PILL --allow-unverified psutil -r $NUPIC/external/common/requirements.txt
- nupic のビルド
ビルドスクリプトを実行する。
$ $NUPIC/build.sh
...
...
...
Stdout redirected to; /Users/otsuka/work/nupic/build_system/stdout.txt
Build successful.
という表示が出たらビルドは完了。
テスト †
ビルドが正常に完了したら、NuPIC が正常に実行できるか確認する。
$ cd $NTA/bin
$ htmtest
...
... 中略
...
-- ALL TESTS PASSES --
$ testeverything
...
... 中略
...
*******************************************************************
* 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
…
… 中略
...
=================== 687 passed, 12 skipped in 150.86 seconds ===================
注記 †
CMake を使っているが、XCode の GUI からのビルドはまだうまくいかない模様。
作業時のコマンド・ツール類の version †
$ 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