NVIDIA DIGITSでMNISTする
はじめに
Windows10のGPUレス環境に念願のDIGITS 4.0を導入しました
試験走行用に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 にアクセスすると、下記のような画面に。
ここで、New Datasetをクリックして、Classificationを選びます。
すると、インストール時に設定すらしてなかったUsernameを聞く画面に遷移します。ここのユーザー名は、なんでも良いので適当に入力してSubmitしてください。
その後出てくるDataset作成ページで必要な情報を入力してCreateすれば出来上がり。
その後のスクショを取るのを忘れましたが、こんな感じになるはずです。
トレーニングモデル(シナリオ)の作成
トップページ ( http://localhost:5000 )へ戻ります。 次は、NewModelをクリックして、Classificationを選びます。
CPUなしのインストールなので計算に使用するGPUを選択リスト…は出てきませんが、
2箇所クリックして、モデル名(LeNetなど)を入力するだけの簡単な作業で済みます。
モデルが作成されると同時に、トレーニングが開始されます。 うちのPCは、あまり高速ではないので50分くらい放っておいて終わるようなペースでした。
トレーニング中はページをリロードすると進捗が更新されます。
トレーニング完了後の試験
トレーニング後はページの下の方に配置されたTrained Modelsを使って遊びます。
画像ファイル1個を使った例(単ファイル テスト)
単ファイルを認識させるテストをします。このように認識させる画像ファイルをD:\MNIST_DATA\testフォルダなどから適当に選択してやり、Classify Oneを実行します。
すると、ニューラルネットの途中過程も含めた認識作業結果が出力されます。100%の確率で「5」と出てますね。よくわかってます。
画像を複数使った例 (いわゆる画像認識精度の確認試験)
こちらは画像がどこに入っているかまとめて記入されているファイルが必要になります。今回用意したMNISTデータには最初から用意されているので、それを利用します。
すると、testフォルダの全ファイルについての認識精度が確認できます。
おわりに
CPUだけでもNVIDIA DIGITSが動いてよかった!
あとはCaffe | Model ZooとかどうやってDIGITSに取り込むのかなぁと思ってます。