SHOGUN 導入 - eiichiromomma/CVMLAB GitHub Wiki

(SHOGUN) 導入

Shogunの導入について

Mac OS X

macportsだとバージョンがやや古いので最新版のソースを入手してmakeする。

適当な場所でファイルを展開してconfigureすれば良いのだが,デフォルトだと作れる限りの言語のモジュールを作ろうとするので--interfacesオプションで絞る。

tar xvjf shogun-1.x.x.tar.bz2
cd shogun-1.x.x/src
./configure --help

とすると初めの方にinterfacesの一覧が出る。

但し,各モジュールはswigを使っているので各言語に対応したものが必要になる他,関連するライブラリが結構多い。 SHOGUN: Installation のInstallation on MacOSXにある通りに必須アプリとshogunをインストールした後に,shogunだけアンインストールしてしまうのも手。

以降のmake中はメモリを馬鹿食いするので,他のアプリを終了しておかないとswapが大量発生してmakeが一向に終わらないので注意。

Python

インストールガイドにはPython2.5, 2.6と書いてあるがLion+Python2.7+StrongInference - Scipy Superpack の環境でも動いている。

./configure --interfaces=python_modular
make
sudo make install

で導入できるが,/usr/local/lib/python2.7/dist-packagesへインストールされるのでPYTHONPATHに加えてしまうのが手っ取り早い。

R

./configure --cflags="-arch x86_64" --cxxflags="-arch x86_64" --interfaces=r_static
make
sudo make install

でインストールされるのだが,Rでlibrary("sg")としたときに

Error: package 'sg' is not installed for 'arch=x86_64'

が出て使えない。sg.soの場所がマズいので修正する。

cd /Library/Frameworks/R.framework/Resources/library/sg/libs
sudo mkdir x86_64
sudo mv sg.so x86_64/

とすれば使えるようになる。

サンプル

データはshogun | A Large Scale Machine Learning Toolbox で配布されているのだが,展開に注意する必要がある。サンプルは大抵shogun-1.x.x/examples/documented/data(shogun-1.x.x/dataへのシンボリックリンク)を参照するような形式になっているが,配布されているデータをそのまま展開してもディレクトリが合致しない。サンプル内で使われているファイルはshogun-data-0.x/toyにあるものが殆どのようなのでその中身をshogun-1.x.x/data内へコピーしておけば動く。

以下shogun-1.x.x/examples/documented/にあるサンプルの出力。

python_modular

interactive_svm_demo.py

r_static

svr_regression.R