NVIDIAからDeep Learning用トレーニングシステムのDIGITS 4がリリースされたので、Ubuntu 14.04にインストールしてみました。
今回のアップデートでは、DIGITS 3からDIGITS 4、cuDNN 5.0からcuDNN 5.1、NVIDIAフォークのCaffe「NVcaffe(caffe-nv)」のcuDNN 5.1対応などが行われています。
なお、以下の記事のように、既にNVIDIAのMachine Learningリポジトリを登録していれば、Ubuntuのランチャーに「ソフトウェアの更新」アイコンが現れますので、このアイコンをクリックして、インストールを行います。
DIGITS 4
DIGITS 4の特徴は、物体検出(object detection)機能が付加されたことなので、さっそく、チュートリアル(https://github.com/NVIDIA/DIGITS/tree/digits-4.0/examples/object-detection)を試してみます。
DIGITS 4 Dataset
Firefox等のブラウザを起動し、URLにlocalhostを入力すると、DIGITS「Home」ページが表示されます。
上の図のように、DIGITS 4では、作成済みのDatasetsやModelsの表示は、タブで切り替えるようになりました。
DIGITS「Home」ページの「New Dataset」下の「Images」ボタンをクリックし、プルダウンメニューから「Object Detection」を選択すると、以下の「Login」ページが表示されます。
DIGITS 4では、DatasetやModelを作成する場合、「Login」ページが現れ、作成したDatasetやModelのOwnerを表示するように変更されています。
Usernameを入力すると、以下の「New Object Detection Dataset」ページが表示されます。
このページでは、チュートリアルのようにprepare_kitti_data.py
を実行して作成されたtrain/images、train/labels、val/images、val/labelsディレクトリを「Training image folder」等に指定します。
「Dataset Name」に名前(ここでは、「KITTI」)を入力した後、「Create」ボタンをクリックします。
しばらく待っていると、Dataset「KITTI」の作成が終了します。ページの再読み込みを行うと、以下のようなページが表示されます。
このページ左上の「DIGITS」ロゴをクリックして、DIGITS「Home」ページに戻ります。
DIGITS 4 Model
DIGITS「Home」ページの「New Model」下の「Images」ボタンをクリックし、プルダウンメニューから「Object Detection」を選択します。
すると、以下の「New Object Detection Model」ページが表示されます。このページの左側の「Select Dataset」では、上で作成した「KITTI」を選択します。
中央の「Solver type」と「Base Learning Rate」に、それぞれAdamと0.0001を設定します。なお、VRAMが4GBの場合、「Batch size」と「Batch Accumulation」に、それぞれ2と5を入力します。
「New Object Detection Model」ページの下側のNetwork(s)では、「Custom Network」タブを選択し、「Torch」タブではなく「Caffe」タブが選択されていることを確認し、テキストボックスにdetectnet_network.prototxt(https://raw.githubusercontent.com/NVIDIA/caffe/caffe-0.15/examples/kitti/detectnet_network.prototxt)の内容をコピー・ペーストします。
また、予めここ(https://github.com/BVLC/caffe/tree/rc3/models/bvlc_googlenet)からbvlc_googlenet.caffemodelをダウンロードしておき、「Pretrained model(s)」に(パスとファイル名を)設定します。
「Model Name」に名前(ここでは、「Detector」)を入力した後、「Create」ボタンをクリックします。
今回は、一時間半経過したところで、次のエラーが発生しました。
まとめ
NVIDIA DIGITS 4がリリースされたので、Ubuntu 14.04にインストールしてみました。
DIGITS 4には、新たに物体検出(object detection)機能が付加されましたが、チュートリアルの難易度が高い気がします。
まずは、エラーの原因を調査して対策すること、また、トレーニングに時間が掛かっているので、この対策を行って機能確認を進めることが当面の目標です。
(2016/08/21追記)
エラーの原因と対策は、以下の記事をご覧ください。
また、DIGITS 4の使い方(一連の流れ)は、以下の記事をご覧ください。