1

Visual Studio 2015 C# プロジェクト内から CNTK をトレーニングして使用しようとしています。追加する必要があるようです: using Microsoft.MSR.CNTK.Extensibility.Managed;

そして、それを機能させるには、EvalWrapper.DLLへの参照を追加する必要があるようです。

ビルド中のプロジェクト「MSIL」のプロセッサ アーキテクチャと、リファレンス「EvalWrapper」「AMD64」のプロセッサ アーキテクチャとの間に不一致がありました。この不一致により、ランタイム エラーが発生する可能性があります。構成マネージャーを使用してプロジェクトのターゲット プロセッサ アーキテクチャを変更し、プロジェクトと参照の間でプロセッサ アーキテクチャを調整するか、プロジェクトのターゲット プロセッサ アーキテクチャと一致するプロセッサ アーキテクチャの参照に依存することを検討してください。

私のシステムは x64 ベースのプロセッサです。

この警告を無視して続行しますか? そうでない場合、どうすればこれを修正できますか? これに関するヘルプや、私が試みている例へのリンクは大歓迎です。

4

2 に答える 2

2

CNTK Eval Nuget パッケージを使用できる場合は、EvalWrapper.dllへの参照を手動で追加する必要はありません。Nuget パッケージを使用する例は、https ://github.com/Microsoft/CNTK/tree/master/Examples/Evaluation/CSEvalClient から入手できます。

于 2016-11-19T11:31:31.183 に答える
2

EvalWrapper.dllはアンマネージ (ネイティブ) コードであり、それが書かれたプロセッサ アーキテクチャ (この場合は x64) でのみ実行できます。C# は MSIL にコンパイルされ、さまざまなプラットフォームで (プラットフォームに依存するランタイム環境を介して) 実行できます。この警告が意味することは、大まかに言うと「その C# 実行可能ファイルを 32 ビット システムなどで実行すると、その x64 EvalWrapper を使用できなくなります」ということです。

プロジェクト ファイルのコンテキスト メニューで [プロパティ] を選択し、プラットフォームを amd64 に変更すると、この警告を取り除くことができます。または、その警告を無視しても問題ありません。

たとえば、CNTK ソリューションを開き、CSEvalClientTest.csprojTests/EndToEndTests/EvalClientTests/ の C# プロジェクトを見てください。

于 2016-11-17T06:48:28.677 に答える