A certain engineer "COMPLEX"

ディープラーニング CNTK その2 テスト

前回はCNTKをソースコードからビルドしました。今回は実際にテストしてみます。

テスト


まず実行

Microsoftが動作検証用にサンプルをCNTKに置いてくれていますので既にクローン済みです。
サンプルは CNTK/Examples/Other/Simple2d/ になります。


https://github.com/Microsoft/CNTK/tree/master/Examples/Other/Simple2d

このサンプルについて、

This example trains a simple network and can be directed to use either CPU or GPU, which helps quickly ensure that CNTK is functioning properly.


訳:このサンプルは単純なネットワークの学習、並びにCPUとGPUのどちらを使うかを指示しCNTKが正しく動作することを簡単にチェックします。

とあります。検証用ですね、まさに。

次にCNTKのフォルダに移動します。CNTK.sln が存在するディレクトリです。
その後、次のコマンドをたたくと、テストが実行されます。


set PATH="%CD%\Release";%PATH%
cd Examples\Other\Simple2d\Data
cntk configFile=../Config/Simple.cntk

実行後、エラーがなければ COMPLETED の文字が出るはずです。

テスト

学習が完了したので、次にもう一度学習をしたい場合は、学習済みのモデル、つまり今回の出力を削除する必要があります。


del ..\Output\Models\*.*

GPUを使う

今度GPUを使ってみます。前段では使っていなかったようで、GPUを使うように指示したビルドでも、明示的に指示する必要があるようです。
まずは、出力を削除してください。
次に下記のコマンドをたたきます。


cntk configFile=../Config/Simple.cntk deviceId=auto 1> out.txt 2>&1

するとOut.txtに出力結果がリダイレクトされるので中を確認します。
テキスト中に


SimpleNetworkBuilder Using GPU 0

というのがあるはずです。ただし、0の部分は環境依存です。
通常この部分は

  • -1 : CPUを使用。デフォルト値
  • 0以上 : GPUを使用。deviceIdに対応した値で例えば deviceId=0ならGPU 0 を示すとのこと。複数台のGPUを搭載している場合でしょう。
  • auto : GPUを自動選択

ということです。
私の環境なら、


cntk configFile=../Config/Simple.cntk deviceId=0 1> out.txt 2>&1

は、先のコマンドと同一の結果を出します。

Conclusion


無事に動いていることが確認できました。
折角Windowsで動かしたのだから、自分でネットワークを構築したりして学習させてみたいです。

コメントを残す

メールアドレスが公開されることはありません。

%d人のブロガーが「いいね」をつけました。