Volo di notte

お勉強の成果メモや日常のこと

NVIDIA DIGITSでMNISTする

はじめに

Windows10のGPUレス環境に念願のDIGITS 4.0を導入しました

chachay.hatenablog.com

試験走行用にMNISTを実施。

参考資料

MNISTデータのダウンロード

データのダウンロードツールがDIGITSに付属しています。うちの場合は、Dドライブ直下にDigitsのリポジトリをクローンしたので、D:/DIGITS-master/tools/download_data/ にツールがあります。

D:/DIGITS-master/tools/download_data/でコマンドプロンプトをひらいて、D:/MNIST_DATA/にデータをダウンロードするには…

python main.py mnist D:/MNIST_DATA/

を実行します。

これでDIGITS用のトレーニングデータが、D:/MNIST_DATA/train以下に、 テスト用のデータがD:/MNIST_DATA/test以下に準備できます。

DIGITS上にトレーニング用データセットDBを作成

DIGITS起動後、http://localhost:5000 にアクセスすると、下記のような画面に。

f:id:Chachay:20160723212608p:plain

ここで、New Datasetをクリックして、Classificationを選びます。 f:id:Chachay:20160723212636p:plain

すると、インストール時に設定すらしてなかったUsernameを聞く画面に遷移します。ここのユーザー名は、なんでも良いので適当に入力してSubmitしてください。

f:id:Chachay:20160723212654p:plain

その後出てくるDataset作成ページで必要な情報を入力してCreateすれば出来上がり。 f:id:Chachay:20160723212704p:plain

その後のスクショを取るのを忘れましたが、こんな感じになるはずです。

オフィシャル画像

トレーニングモデル(シナリオ)の作成

トップページ ( http://localhost:5000 )へ戻ります。 次は、NewModelをクリックして、Classificationを選びます。

f:id:Chachay:20160723212727p:plain

CPUなしのインストールなので計算に使用するGPUを選択リスト…は出てきませんが、 2箇所クリックして、モデル名(LeNetなど)を入力するだけの簡単な作業で済みます。 f:id:Chachay:20160723213056p:plain

モデルが作成されると同時に、トレーニングが開始されます。 うちのPCは、あまり高速ではないので50分くらい放っておいて終わるようなペースでした。

トレーニング中はページをリロードすると進捗が更新されます。 f:id:Chachay:20160723213309p:plain

トレーニング完了後の試験

トレーニング後はページの下の方に配置されたTrained Modelsを使って遊びます。

画像ファイル1個を使った例(単ファイル テスト)

単ファイルを認識させるテストをします。このように認識させる画像ファイルをD:\MNIST_DATA\testフォルダなどから適当に選択してやり、Classify Oneを実行します。

f:id:Chachay:20160723214146p:plain

すると、ニューラルネットの途中過程も含めた認識作業結果が出力されます。100%の確率で「5」と出てますね。よくわかってます。

f:id:Chachay:20160723214344p:plain

画像を複数使った例 (いわゆる画像認識精度の確認試験)

こちらは画像がどこに入っているかまとめて記入されているファイルが必要になります。今回用意したMNISTデータには最初から用意されているので、それを利用します。

f:id:Chachay:20160723214840p:plain

すると、testフォルダの全ファイルについての認識精度が確認できます。 f:id:Chachay:20160723214913p:plain

おわりに

CPUだけでもNVIDIA DIGITSが動いてよかった!

あとはCaffe | Model ZooとかどうやってDIGITSに取り込むのかなぁと思ってます。