top of page

DNN環境構築

DNN(Deep Neural Network)の環境構築を行っていきます。ハードウェア環境は下記の通りです。

CPU:i7-6700K, 4.00GHz

GPU : GeForce 980Ti 6GB

Memory : 16GB

ソフトウェア環境は下記のとおりです。

OS : Ubuntu 14.0.4.3 LTS

DLL Library : Caffe

DLL GUI Tool : Digits2

CUDA : 7.5

cuDNN : 4

まず、DNNはGPUにて計算を行うため、家庭用だと現在一番高スペックのGeForce TItan Xがメモリ(VRAM)が12GBあるため、NVIDIAでも推奨されています。ただし、かなり高額なため、今回は980Tiを使用します。980TiはTitan Xと同等とCUDA Cores数がありますが、VRAMが6GBと半分です。本当はTITAN Xを使用したかったのですが、来年度に新しいアーキテクチャのGPUがNVIDIAより発売され、そちらは現行アーキテクチャより数倍DNNにおいては性能向上するらしいので、我慢しておきます。

DNNライブラリにはCAFFEやTORCHといった、大学や企業が提供しているDNN用のライブラリがいろいろとあります(詳細はこちらを参照)。最近はchainerが簡潔にコードを書ける事もあったり、日本企業Prefered Networkの国産ライブラリという事もあり、良く使われているが、やはり昔からあるCaffeあたりがスタンダードなものになると思われる。海外の論文のコードはCaffeで書かれていることも多いので、今回はCaffeを使用。またNVIDIA GPUでの高速化とWEBでのGUI操作・WEBAPI操作の恩恵が受けられるDIGITというGUI環境がNVIDIAより提供されている。これはCaffe, Torch, Theano, chainer等のDNNライブラリがバックエンドの画像処理Deep Learning Frameworkであり、下記のような利点があります(詳細はこちらを参照)。

・データセット、ネットワークモデルの管理が行える。

・学習の様子がリアルタイムでモニターできる。

・マルチGPU機能も簡単に使える。

・ネットワークの可視化が簡単。

Caffeは公式ではLinuxのみ対応で、DIGITも中身はCaffe等のライブラリのwrapperなので、Linuxのみが対応(抜け道はあるだろうが)。LinuxとしてはUbuntuのLTSバージョンの14.0.4を用いる。Virtual Box等の仮想OSソフトを入れようとも考えたが、基本的にGPGPU(GPUによる計算)が行えないらしいので、素直に普通にインストールする(下記URL参照)。

http://micaca.hateblo.jp/entry/2015/09/07/043246

http://askubuntu.com/questions/598317/enable-cuda-gpu-working-under-vm

ubuntuをインストールすると、標準でnouveauというフリーのグラフィックドライバが入っているが、DNNで用いるCUDAを用いるためには、NVIDIAの純正のドライバを入れる必要がある。NVIDIAのドライバを入れた後に、nouveauを無効化しないと、ドライバが競合して、よくない動作をする(下記URL参照)。

http://nonbiri-tereka.hatenablog.com/entry/2015/02/12/160811

無効化し再起動した後に、”$ lsmod | grep nouveau”で、何も表示されなければ、きちんと無効化されている。

DIGITが公式にサポートしているのは、Ubuntu 14.0.4であり、このバージョンであればプリビルドされたパッケージを用いる事ができる。それ以外のOSの場合は自分でビルドする必要があり大変そう。

今回はUbuntu 14.0.4なので、Gitに公開されている手順にしたがってインストールしていく(こちらを参照)。

・CUDA インストール

$ CUDA_REPO_PKG=cuda-repo-ubuntu1404_7.5-18_amd64.deb && wget http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1404/x86_64/$CUDA_REPO_PKG && sudo dpkg -i $CUDA_REPO_PKG

$ sudo apt-get update

$ sudo apt-get install -y cuda

$ echo 'export PATH=/usr/local/cuda/bin:$PATH' >> ~/.bashrc

$ echo 'export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc

$ sudo reboot

・Machine Learning repository(digits, caffe-nv, torch, libcudnn4, etcのパッケージ) インストール

$ ML_REPO_PKG=nvidia-machine-learning-repo_4.0-2_amd64.deb && wget http://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1404/x86_64/$ML_REPO_PKG && sudo dpkg -i $ML_REPO_PKG

$ sudo apt-get update

$ apt-get install -y digits

これでインストール完了。

ブラウザで”http://localhost/”といれ、DIGITが起動される事を確認する。

上記の画面が確認できたら、チュートリアルを一度実行してみましょう(こちらを参照)。

参考URL

http://qiita.com/kendemu/items/a52e37b5e309e83a057b

https://developer.nvidia.com/deep-learning-getting-started

http://www.nvidia.com/content/events/geoInt2015/AGrey_Intro_DIGITS_GEOINT2015.pdf

http://www.nvidia.com/content/events/geoInt2015/LBrown_DL.pdf

http://www.slideshare.net/NVIDIAJapan/1018-cudnn-3digits-2cuda-75

http://jikkenyametatta.hatenablog.com/entry/2015/06/27/174910

http://www.vision.is.tohoku.ac.jp/files/1713/7125/7458/SSII_DL7.pdf

http://eiji-kb.hatenablog.com/entry/2015/07/29/164001

特集記事
後でもう一度お試しください
記事が公開されると、ここに表示されます。
最新記事
アーカイブ
タグから検索
ソーシャルメディア
  • Facebook Basic Square
  • Twitter Basic Square
  • Google+ Basic Square
bottom of page