Hatena::ブログ(Diary)

shi3zの長文日記 RSSフィード

2015-05-28

GUIで使えるディープラーニング NVIDIA DIGITSがめちゃくちゃ簡単だった

http://gyazo.com/ffda9c1854aa9ddf815e27c06f4ebd82.png

 NVIDIAが先日発表したディープラーニング用の環境DIGITS(https://developer.nvidia.com/digits)をUbuntuにインストールした。


 もうね、やっぱり時代はローカル。

 Amazon EC2では僕の学習させたい内容を学習させるとメモリが足りなくなったのでとりあえず秋葉原で32GBのDDR3買って(3万1千円くらいで8GBのDDR3-1600x4)会社の片隅で埃を被っていたCorei7マシンにUbuntuを入れた。


 UbuntuはNVIDIAのドライバを入れると画面が出たり出なかったりして大混乱に陥るので予めgrubでテキストモードで起動するようにしたりとかnouveauを抑止したり(http://askubuntu.com/questions/481414/install-nvidia-driver-instead-nouveau)とかしないといけない。


 このnouveauをブラックリストに入れるってのが躓いたね。

 これを抑止しないとドライバが競合するらしい。


 なんか普通にインストールすると画面が出なくなったりして軽くパニクるんだけど、nvidia-installerを何回か呼んだり、CUDAをremoveしたりinstallしたりしてたらスパッとうまくいってUbuntuのUnity(ゲームエンジンじゃないほう)とCUDAドライバを同時に動かすことが出来た。

 

 相変わらずインストールが一番面倒くさい。


 CUDAのインストールという一大事業が終わってしまうと、あとはNVIDIA版のCaffeをインストールしてruntestが通れば(通らないのはCUDAドライバが正常に入ってないせいなのでやはりcudaをremoveしたりautoremoveしたりinstallしたりすると通るようになった)、あとはDIGITSそのものは物凄くスムーズにインストールして、Webブラウザから使えるようになる。


 使えるようになると、これがとても快適。

 フォルダ別に分けたデータセットを学習させて、GUIで簡単に分類させることができる。


 よく使われているMNIST10Kという、手書き数字のデータセットを学習させると、リアルタイムでぐんぐん学習している様を見ることが出来て胸熱。

http://i.gyazo.com/384541f1324aafda29b8fa069a6be69d.png

 オレンジ色の線が正答率。

 エポック(世代)が進むとどんどん学習して正答率が上がっていく。

 最終的には98%くらいになる。


 これくらいならものの3分くらいで学習が完了する。今回は余り物のGeForce GTX650を使用した。この程度の学習なら余裕のヨッちゃんだね。CUDAコア数は384コア。Amazon EC2のはたぶん680なのでCUDAコアは1536だけど、本体のメモリが16GBしかない。


 いざ学習が終わったら、任意の数字イメージを画像ファイルとして入力すると、その数字が何なのか推定する。


http://gyazo.com/09df9cf4f4336c791af02c928b4ddfb7.png


 左上の「5」を認識させると、98%の確率で「5」と推定されているのが解る。


 ちなみにエポックを初期に設定するとちゃんと(?)誤認識する。


 使えるニューラルネットは、定番のLeNetやAlexNet、GoogLeNetなどがあるほか、自分でカスタムのネットワークモデルを試すこともできる。

 

 これは楽しい。

 目で見て解るところがとてもいい。

 

 ここまで来ると大変なのはデータセットを用意するところだな。

 そこはもう人海戦術だしね



 MNISTは28x28の小さい画像なのでWaifu2xに比べるとデータ量が軽いので数分で学習できたけど、やっぱ256x256とかだと時間掛かりそう。まあコレ以上時間かかるようならTITAN XかTesla買えばいいや。



 しかし、ディープラーニングがホントにご家庭で簡単にできるようになったんだなあと感動する。




 こんなに簡単に(インストールは大変だけど)ディープラーニングが試せるんだからみんな試したほうがいい。


 ゲームも自動的に攻略できるらしいしなあ

https://raw.githubusercontent.com/kuz/DeepMind-Atari-Deep-Q-Learner/master/images/breakout.gif

https://github.com/kuz/DeepMind-Atari-Deep-Q-Learner


 最近はCaffeよりもTorchのほうが流行ってるのかな。

 Torchのほうがインストールは簡単なんだろうか(Caffe+CUDA+Ubuntuは控えめに言って地獄/Macはもっと地獄)


 インストールがもっと簡単になればもっと流行ると思うんだけどな。

 まあ過渡期は仕方ないか(初期のDirectXも地獄だったなあ)


 そうそう。

 人間ディープラーニング中のMOON女子yunyaも、今回はゴトー博士にMOONBlockを教えてもらってゲームを作ってました。まあMOONを知ってる人にはお馴染みの内容ですが新鮮な気持ちで見てあげてください。

MOON女子yunyaのゲーム作り体験記:電脳ヒッチハイクガイド:電脳空間カウボーイズZZ(電脳空間カウボーイズ) - ニコニコチャンネル:生活


 関係ないけどこれが超欲しい

D



 欲しいがまだ売ってないので、しかたなく水道橋重工のステッカーセットを買ってしまった。