Deep Learning Microsoft Cognitive Toolkit

Cognitive Toolkitのダウンロード、環境設定【C#編】

スポンサーリンク

マイクロソフトのCognitive ToolkitをVisual StudioのC#で使用するためのインストール方法、環境構築を紹介します。

 

結論からすればCognitive Toolkitを動作させるためには、関連するDLLファイルがあればよいだけなのですが、この関連するファイルをNuGetより入手する方法でやりたいと思います。

 

まず、Visual Studioで何でもいいので、C#のプロジェクトを作成します。

ソリューションエクスプローラーよりプロジェクト名を右クリックし、NuGetパッケージの管理をクリックします。

Microsoft Cognitive Toolkit Download Install

 

表示されたウィンドウの参照を選択し、検索ボックスにCNTKと入力すると各種ライブラリが表示されるので、ここではCNTK.GPUを選択します。

 

Microsoft Cognitive Toolkit Download Install

 

画面右側に表示されているインストールをクリックします。

 

Microsoft Cognitive Toolkit Download Install

 

あとは画面の流れに沿ってインストールを行います。

 

OKボタンをクリック

Microsoft Cognitive Toolkit Download Install

 

同意するをクリック

Microsoft Cognitive Toolkit Download Install

 

すると、プロジェクトの参照に Cntk.Core.Managed-2.5.1 というのが追加されます。

Microsoft Cognitive Toolkit Download Install

 

これで、Cognitive Toolkitのインストールは完了です。

 

しかし、このままでプログラムをビルド、実行しようとすると、以下のようなエラーや警告が表示されます。

 

Microsoft Cognitive Toolkit Download Install

Microsoft Cognitive Toolkit Download Install

 

そもそもCognitive Toolkitは64bit専用のライブラリなので、プロジェクトも64bitに設定する必要があります。

 

64bitの設定にするには、Visual Studio のソリューションプラットフォームより、構成マネージャーを選択します。

Microsoft Cognitive Toolkit Download Install

 

次にアクティブソリューションプラットフォームより、<新規作成>を選択します。

Microsoft Cognitive Toolkit Download Install

 

新しいソリューションプラットフォームというウィンドウが表示されるので、下図のような状態(x64が表示されている状態)でOKボタンをクリックします。

Microsoft Cognitive Toolkit Download Install

 

構成マネージャーのウィンドウが下図のようになるので、閉じるボタンをクリックします。

Microsoft Cognitive Toolkit Download Install

 

この状態で、試しに処理で使用するデバイスを設定するコードをどこかに書いてみてビルドして、エラーが出なければ環境構築は完了です。

 

var device = CNTK.DeviceDescriptor.CPUDevice;

 

ちなみに、プログラムをビルドすると作成したプログラムの実行ファイルを同じフォルダに下図のように関連するDLLファイルがコピーされて配置されます。

 

Microsoft Cognitive Toolkit Download Install

 

Cognitive Toolkitでは、これらのDLLファイルがありさえすれば、動作してくれるので、例えば、プログラムはネットに接続されたPCで作成し、実際の実行用PCはネットに接続されていなくても、exeファイル、exe.configファイル、DLLファイルをコピーすれば動作してくれるので、環境構築が簡単にできるので、Cognitive Toolkitは自分の中ではポイントが高い!

(実際にはまっさらなPCに移植した事がないので、何か不足する可能性もありますが。。)

 

コメント

タイトルとURLをコピーしました