Cent OS 6.6にnvidia DIGITSを導入する方法

NVIDIAが毎年開催する開発者向けイベント「GPU Technology Conference (GTC)」が先月行われました.今年のGTCの話題は明らかにDeep Learning (深層学習) であり,基調講演はDeep Learning一色となっていました.Geforce GTX TITAN XなどのGPUの他に,TITAN Xを4基搭載したGIDITS DevBoxや自動運転システムのための車載用ボードコンピュータであるDrive PXの発表があり,NVIDIAがいかにDeep Learningを事業分野の1つの大きな柱として考えているかを伺うことができました.

しかしながら,Deep Learningを使ってモデルを学習し,認識と分類ができるようにするには作業量が多く,大変時間がかかります.そこで,DIGITS DevBoxには付属のソフトウェアとしてDIGITSが用意されています.また,DIGITSは単体のソフトウェアとしても配布されているため,DevBoxを持っていなくても使うことができます.

そこで早速,PCにDIGITSを入れてみると予想以上に使いやすかったので,今回はソフトウェアのDIGITSについて紹介したいと思います.

DIGITSって何?

DIGITSはDeep Learning GPU学習システムのソフトウェアです.DIGITSは,基本的にはDIGITS DevBoxの付属ソフトウェアですが,NVIDIAサイトもしくはGitHub上でも配布されています.ですので,DevBox(100万くらいする)を持っていなくても,GPUが一つでもあれば自分でDIGITSをダウンロードして使うことができます.

DIGITSの特徴は,アーキテクチャの設計からモデルの学習,検証をグラフィカルに行うことができるようになっていることです.また,Webブラウザを用いてネットワーク越しに操作ができます.さらに,GPUが複数ある場合にはmulti-GPUによる並列処理にも対応しています.

前提

現在は,Caffeと呼ばれるDeep Learning Frameworkにしか対応していないため,Caffeを使用することが前提になります.また,DIGITSは裏でCUDAやcuDNNを用いるため,これらもインストールする必要があります.

DIGITSの使い方

今回はCent OS 6.6における使い方を説明します.とはいえ,Linuxであれば他のディストリビューションであっても概ね同じだと思います.なお,Ubuntu 14.04以降の場合には,CaffeやCUDA,Pythonなどの必要なものがすべてオールインワンに入ったものがバイナリで用意されており,NVIDIAサイトから入手することができます.

0. CUDAとcuDNN,Caffeをインストールする
Cent OSの場合には,このバイナリは使えないため,自分でインストールする必要があります.これらのインストール方法は多くの人がブログに書いているため,ここでは省略します.ただし,CaffeのソースコードNVIDIAGitHubからダウンロードするようにしてください.

1. ソースコードをダウンロードする
ソースコードGitHubからダウンロードします.

2. Graphvizをインストールする
yumを用いてグラフ描画ツールGraphvizをインストールします.

# yum -y install graphviz gunicorn

3. Pythonライブラリをインストールする
DIGITSに必要なPythonライブラリをpipでインストールします.

# cd digits
# pip install -r requirement.txt

4. サーバを起動する
手っ取り早く使うには,localhostを使用すればよいです.digits-devserverを実行します.

# python ./digits-devserver
いくつか質問が表示されます.最初に聞かれるCaffeの場所だけ正しく入力し,残りの質問は基本的にデフォルトのままでよいです.

5. Webブラウザで開く
適当なWebブラウザを起動し,http://localhost:5000に接続します.
すると,以下のようなページが開くはずです.これでDIGITSが使えるようになります.