Mac + Chainerでお手軽Deep Learning入門

お知らせ(2016/04/10追記)

 本記事の内容、情報古いため以下記事を参照にセットアップすることをおすすめいたします。

Mac + ChainerでDeep Learning

 MacでDeep Learningとかやってみました。お手軽とか書いてますけど、結構嘘かも。一番簡単と噂されるChainerを試してみましたよ。

インストール手順

 以下の記事を参考にやろうとしたのですが、色々はまりました。具体的には、パッケージ管理ソフトのpipでうまくいかず、代わりにMacPortsを使うことにしたのですが、そのMacPortsもバージョン古くてバージョン上げるのが大変だったりと散々でした。

 調べて参考になったサイトを参考リンクに並べてあります。自分が実行したコマンドを一通り羅列します。ここらへん、多分その人の環境によって対応違うと思うのでエラーメッセージをググりながら自分で解決していくしかないです。簡単と言われるChainerでこの苦労…。この意味不明なコマンドの羅列が誰か1人でも救ってくれることを祈っています。

$ sudo easy_install pip
$ sudo pip install chainer

 結局MacPortsでインストールしたので上記はいらないのかも…よくわらかんです。

 以下xcodeの設定。MacPortsのアップデートに必要でした。

$ sudo xcode-select --install

 実行したあと1回Xcode起動しておいたほうがよいです。

 MacPortsアップデート

$ sudo port selfupdate


 以下python関係インストール

$ sudo port install python27
$ sudo port select --set python python27
$ sudo port install python27-numpy
$ sudo port install python27-six
$ sudo port install py27-scikit-learn
$ sudo port install py27-chainer


 chainerのサンプルダウンロードと実行

$ git clone https://github.com/pfnet/chainer.git
$ python chainer/examples/mnist/train_mnist.py


 エラー出てきたら、以下を修正する必要があるかも

スクリプト(chainer/examples/mnist/train_mnist.py)の以下の行を
mnist = fetch_mldata('MNIST original')

以下のように変える(ディレクトリのパスはどこでもOK)
mnist = fetch_mldata('MNIST original', data_home='/Users/username/tmp')

実行結果

f:id:karaage:20150628200846p:plain:w640

 なるほど、わからん

まとめ

 一番簡単と言われる組み合わせでサンプル実行するだけでこの苦労、Deepだぜ(Deep Learningなだけに)。ちょっと今後は検討中。ちゃんとLinux(Ubuntu)入れて やるか、もっと簡単な方法が出てくるまで待つか。

参考リンク


関連記事