マイクロソフトのCognitive ToolkitをVisual StudioのC#で使用するためのインストール方法、環境構築を紹介します。
結論からすればCognitive Toolkitを動作させるためには、関連するDLLファイルがあればよいだけなのですが、この関連するファイルをNuGetより入手する方法でやりたいと思います。
まず、Visual Studioで何でもいいので、C#のプロジェクトを作成します。
ソリューションエクスプローラーよりプロジェクト名を右クリックし、NuGetパッケージの管理をクリックします。
表示されたウィンドウの参照を選択し、検索ボックスにCNTKと入力すると各種ライブラリが表示されるので、ここではCNTK.GPUを選択します。
画面右側に表示されているインストールをクリックします。
あとは画面の流れに沿ってインストールを行います。
OKボタンをクリック
同意するをクリック
すると、プロジェクトの参照に Cntk.Core.Managed-2.5.1 というのが追加されます。
これで、Cognitive Toolkitのインストールは完了です。
しかし、このままでプログラムをビルド、実行しようとすると、以下のようなエラーや警告が表示されます。
そもそもCognitive Toolkitは64bit専用のライブラリなので、プロジェクトも64bitに設定する必要があります。
64bitの設定にするには、Visual Studio のソリューションプラットフォームより、構成マネージャーを選択します。
次にアクティブソリューションプラットフォームより、<新規作成>を選択します。
新しいソリューションプラットフォームというウィンドウが表示されるので、下図のような状態(x64が表示されている状態)でOKボタンをクリックします。
構成マネージャーのウィンドウが下図のようになるので、閉じるボタンをクリックします。
この状態で、試しに処理で使用するデバイスを設定するコードをどこかに書いてみてビルドして、エラーが出なければ環境構築は完了です。
var device = CNTK.DeviceDescriptor.CPUDevice;
ちなみに、プログラムをビルドすると作成したプログラムの実行ファイルを同じフォルダに下図のように関連するDLLファイルがコピーされて配置されます。
Cognitive Toolkitでは、これらのDLLファイルがありさえすれば、動作してくれるので、例えば、プログラムはネットに接続されたPCで作成し、実際の実行用PCはネットに接続されていなくても、exeファイル、exe.configファイル、DLLファイルをコピーすれば動作してくれるので、環境構築が簡単にできるので、Cognitive Toolkitは自分の中ではポイントが高い!
(実際にはまっさらなPCに移植した事がないので、何か不足する可能性もありますが。。)