『問題解決型』ハードウェアメーカー
ファナティック
-
- ファナティックの特長 ファナティックの特長
- /
- 製品&ソリューション 製品&ソリューション
- /
- 導入事例 導入事例
- /
- 最新ニュース 最新ニュース
- /
- ファナティックレポート ファナティックレポート
- /
- サポート サポート
- /
- 会社案内 会社案内
- /
- 採用情報 採用情報
2016.11.01 ベンチマークレポート
ディープラーニングに対する関心が非常に高まっています。
今回はDIGITSでのディープラーニング環境構築方法をご紹介します。
DIGITSを利用すれば、NVIDIA製のGPUを使用して簡単にディープラーニング環境が構築できます。
DIGITSでは、フレームワークとしてCaféとTorchが、
ネットワークとしてLeNet、AlexNet、GoogLeNetが標準で組込まれています。
またGUIベースで操作できますので、
簡単にディープラーニングを使いたいという方には非常に便利な環境です。
現時点(2016/11/1)でNVIDIAのWebサイト上から提供されている
最新環境で設定することにします。
マシン環境としてはIA(x86_64)サーバとCUDAが動作するGPUがあればインストール可能です。
(利用可能なGPUは https://developer.nvidia.com/cuda-gpus を参照。)
今回実際にインストールを行ったマシン環境は以下の通りです。
SolutionServer HPC-30222P64-A98WTARB カスタマイズ仕様 | ||
CPU | Memory | GPU |
---|---|---|
Xeon E5-2640v4 x2 | DDR4-2133 128GB | NVIDIA GTX1080 x2 (SLIなし) |
では、環境構築手順を説明していきます。
基本的にはそれぞれの標準インストールを順次行うことで完了します。
Ubuntu 14.04.x LTS であることを確認。16.04に上げないように注意してください。
$ gcc -version
Gccのバージョンは 4.8.4
export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
export CUDA_HOME=/usr/local/cuda
GPUドライバが正しく適用できているか確認してください。
$ cat /proc/driver/nvidia/version
NVRM version: NVIDIA UNIX x86_64 Kernel Module 367.48 Sat Sep 3 18:21:08 PDT 2016
GCC version: gcc version 4.8.4 (Ubuntu 4.8.4-2ubuntu1~14.04.3)
GPUドライバが有効になっていること確認してください。
$ nvidia-smi
CUDAデバイスとして正しく認識されていることを確認します。
$ cd /usr/local/cuda/samples
$ cd 1_Utilities/deviceQuery
$ sudo make
$ ./deviceQuery
以上でCUDAインストールの確認は終了です。
※runファイルで適用した場合は、sampleプログラムのインストール先を指定してください。
※ドライバの不整合等でインストール失敗するなどでNVIDIAドライバとCUDAを別々にインストールする場合は、下記手順で行ってください。
(NVIDIAドライバはGPUドライバサイトから)
①それぞれrun形式のファイルをダウンロード
②CLIモードでNVIDIAドライバを適用(Ctrl + Alt + F1等でGUIを停止してから)
③CUDAをNVIDIAドライバ無でインストール
画面出力のあるGPUを使用してインストールする際は、
画面出力先に注意してインストールしてください。
NVIDIAドライバを入れるまではGPUから出力されない場合があります。
※以前からの環境を利用していてGPUドライバ、
CUDAがインストールされている場合は以下で確認し、
アンインストール後に再インストールしてください。
$ dpkg -l | grep nvidia
$ dpkg -l | grep cuda
$ sudo apt-get –purge remove nvidia-*
$ sudo apt-get –purge remove cuda-*
これでブラウザを使ってDIGITSを利用することができます。
ローカルアクセスであれば、Firefoxを起動して以下のURLを入力
http://localhost:34448/ #デフォルトのポート番号:34448
他のPC等からアクセスしたいときはapache等のhttpサーバをインストールしてください。
$ sudo apt-get install apache2
PC等からブラウザでDIGITSが起動しているサーバをアクセスしてください。
http://DIGITSサーバのIPアドレス:34448/
■Image Type : Grayscale
■Image size : 28×28
■Training Imagesに学習用データのパス(~/mnist/train)を指定、
Dataset名を設定(MNIST)してCreate実行
しばらくすると登録が完了します。
③学習(モデルの登録)を行います。
New Model → images → Classification
DatasetとしてMNISTを選択。
下段のNetworkでLeNetを指定、
GPUが複数ある場合はGPU数または実行するGPUを指定し、
Model Nameを設定(LeNet)してCreateを実行。
※フレームワークはデフォルトでCaféが指定されていますが、
Torchを指定することもできます。
※Imageデータサイズが28×28ですので
そのまま実行できるネットワークはLeNetになります。
他は256×256サイズなので実行させたい場合は
Dataset作成時に変換(サイズを指定してCreate)するなどしてください。
以下のような表示が出て、学習が始まります。
CPU/GPUパワーによって処理時間は大きく異なりますが、
評価構成では1分程度で完了します。
④認識をさせてみましょう
学習させた画面の下側の“Test a single image”
または”Test list of images”で認識させるデータを指定します。
MNISTのテストデータはtestフォルダ(~/mnist/test)配下に
数字毎に分かれて格納されています。
一つずつ認識させるには、左側のTest a single imageで、パスとファイル名をして下さい。
“Classify One”ボタンをクリックすると、指定した手書き文字が認識率順に表示されます。
(以下の例では、0が100%ヒット)
リストで指定する場合はリストファイルを指定して実行させます。
testフォルダ配下に test.listというファイルがありますので、
それを指定して実行してみましょう。
認識結果としてリストで指定されたデータの認識結果の一覧が表示されます。
以上のように、DIGITSでは簡単なGUIを使用して学習、認識をさせることが出来ます。
当社では、ディープラーニング向けにGPGPUやXeon Phiを実装した各種サーバやワークステーションをご用意しております。
また、各種フレームワーク(Café、Chainer、Torch、Tensorflow、Theano等)、ライブラリ等のインストールやカスタマイズの対応をさせて頂きますのでぜひご相談ください。