C#から使えるDeepLearningライブラリ Microsoft Cognitive Toolkit

Deep Learningのライブラリといえば、TensorFlowやChainer、Caffeなどが定番とされ、使用する言語はPython!

な訳ですが、私がやりたいのは、工業用のカメラを使って、画像を撮影し、メモリに格納された画像データ(画像ファイルには保存しないで)を用いて、画像の判定を行いたい。

工業用のカメラを制御するSDKはほとんどの場合、C++かC#なので、私がメインで使っている言語のC#でDeep Learningを動かしたい。

【希望の動作環境条件】

・Windows7/10 64bit

・Visual Studio 2015 C#

・スタンドアロンPCで動作する(動作環境構築にネット接続を必要としない)

という事でC#から使えるDeep Learningライブラリを探していたのですが、Microsoftの

Cognitive Toolkitなるものがこれに該当しそう。

ということで、Microsoft Cognitive Toolkitを動かしてみました。

ライブラリ、サンプルの入手先はこちら↓のCNTK for Windows v.2.5.1 GPUをクリック

https://github.com/Microsoft/CNTK/releases

C# Deep Learning Microsoft Cognitive Toolkit

ファイル名はGPUになっていますが、CPUでも動くサンプルが同梱されています。

上記リンク先よりファイル(CNTK-2-5-1-Windows-64bit-GPU)をダウンロードし、ファイルを解凍すると、フォルダは以下のような構成になっています。

このうち、C#のサンプルが格納されているのは下図の赤く囲った部分。

C# Deep Learning Microsoft Cognitive Toolkit

試しにTrainingCSharp内のCSTrainingCPUOnlyExamplesのサンプルを動かしてみると、途中まで動作します

C# Deep Learning Microsoft Cognitive Toolkit

が、このようなエラー↓が表示されます。

C# Deep Learning Microsoft Cognitive Toolkit

これはおそらくPythonのサンプルプログラムを動作させて作成したファイルが足りないと言われているっぽい。。

途中まででも、C#でDeep Learningが動いてくれた事が無かったので、ちょっと嬉しい!!

ですが、サンプルプログラムをよく見ていくと、

・コードの書き方に一貫性が無い(少なくとも二人以上で作っている)

・C++の定義をラップしただけ?みたいな書き方になっている。(C#っぽくない)

他にも

・ドキュメントがやる気ない

https://docs.microsoft.com/en-us/cognitive-toolkit/cntk-library-managed-api

など、情報少ないし、なかなか大変なのですが、何となく可能性も感じるこのCognitive Toolkit

もう少し触ってみようと思います。

シェアお願いします

  • このエントリーをはてなブックマークに追加
関連記事

関連記事

関連記事
スポンサーリンク