Akata Works

東京エンジニア。主にRuby,Go,たまにAWSとiOS。ゲーム音楽が好きです。連絡はTwitterかakata.onen@gmail.comまで

CentOS 6.4にTorch7をインストールしてみた

最近あまり記事書いてないなーと思いながら投稿・・

巷で噂のディープラーニングをやろうと思ってTorch7をインストールしてみました。
CentOS 6.4でやりました。

ディープラーニング系のライブラリは導入が割とメンドクサいらしく日本語の記事が少ないですね。
H2OとかCaffeとかいろいろあるのですが、 H2OはR言語なのがなんとなく嫌で、Caffeは導入で死ぬことが多いっぽかったのでTorch7でいっかーくらいの気持ちでTorch7にしました。


こちらに導入手順があるのですが、僕のCentOS 6.4だと依存ライブラリ解決スクリプトが、
/etc/os-releaseファイルがないという理由でちゃんと動かなかったので、
依存ライブラリの一覧だけ引っ張ってきて、普通にyumコマンド叩いてインストールしました。

sudo yum install -y cmake curl readline-devel ncurses-devel \
  gcc-c++ gcc-gfortran git gnuplot unzip \
  nodejs npm libjpeg-turbo-devel libpng-devel \
  ImageMagick GraphicsMagick-devel fftw-devel \
  sox-devel sox SDL2-devel zeromq3-devel \
  qt-devel qtwebkit-devel sox-plugins-freeworld

あと、OpenBlasとかいうライブラリも必要っぽかったので入れました。
これに関してもスクリプトから引っ張ってきただけです。

cd /tmp/
git clone https://github.com/xianyi/OpenBLAS.git
cd OpenBLAS
if [ $(getconf _NPROCESSORS_ONLN) = 1 ]; then
  make NO_AFFINITY=1 USE_OPENMP=0 USE_THREAD=0
else
  make NO_AFFINITY=1 USE_OPENMP=1
fi
RET=$?;_
if [ $RET -ne 0 ]; then
  echo "Error. OpenBLAS could not be compiled";
  exit $RET;
fi
sudo make install
RET=$?;_
if [ $RET -ne 0 ]; then
  echo "Error. OpenBLAS could not be installed";
  exit $RET;
fi

最後にPythonとipythonを入れたら依存関係は完了です(ipythonのバージョンが古いとダメみたいです)


git clone https://github.com/torch/distro.git ~/torch --recursive
cd ~/torch; ./install.sh

後は上記コマンドを実行して、シェルスクリプトを再読み込みしたらいけました。

vagrant:^_^[~]$ th

  ______             __   |  Torch7
 /_  __/__  ________/ /   |  Scientific computing for Lua.
  / / / _ \/ __/ __/ _ \  |  Type ? for help
 /_/  \___/_/  \__/_//_/  |  https://github.com/torch
                          |  http://torch.ch

th>

う~ん、なんかざっくりですがインストールできました。

近々、社内の勉強会でディープラーニングの発表をしないといけないのでさわっていこうと思います。


追記

あとから確認したんですが、SDL2-develとsox-plugins-freeworldがインストールできていなかった・・

どちらもサウンド系のライブラリみたいなんですが、音声解析とかさせるときに使うのかな??
入れる場合はソースから入れる必要があるかもしれません。