モデルの評価の例
C++、C#/.NET、Python で CNTK Eval ライブラリを使用する例については、GitHubの Examples/Evaluation フォルダーと、CNTK リリース ページの CNTK バイナリ ダウンロード パッケージを参照してください。
CNTK ライブラリ Eval C++/C# の例
CNTKLibraryEvalExamples には、C++ および C# で CNTK ライブラリ Eval API を使用する方法を示すコード サンプルが含まれています。
CNTKLibraryCSEvalCPUOnlyExamples は、CNTK ライブラリ CPU-Only NuGet パッケージを使用して、C# の CPU 専用デバイス上のモデルを評価します。
CNTKLibraryCSEvalGPUExamples は、CNTK ライブラリ GPU NuGet パッケージを使用して、C# の Nvidia GPU を使用するデバイス上のモデルを評価します。
CNTKLibraryCPPEvalCPUOnlyExamples では、CNTK ライブラリ C++ API を使用して、CPU 専用デバイス上のモデルを評価します。 CNTK ライブラリ CPU-Only NuGet パッケージを使用します。
CNTKLibraryCPPEvalGPUExamples では、CNTK ライブラリ C++ API を使用して、Nvidia GPU を使用するデバイス上のモデルを評価します。 CNTK ライブラリ GPU NuGet パッケージを使用します。
UWPImageRecognition には、モデル評価CNTK UWP ライブラリを使用した例が含まれています。 また、C++/CX ラッパーを使用して C# のライブラリを使用する方法についても説明します。
Windows の場合:
- これらのサンプルVisual Studio使用するために 2017 年が必要です。
- サンプルは、64 ビット ターゲット プラットフォーム用に構築する必要があります。 それ以外の場合は、ライブラリを呼び出すときにいくつかの問題が発生します。 詳細については、「トラブルシューティングCNTK」ページも参照してください。
- ビルドが成功すると、実行可能ファイルは $(SolutionDir)....$(Platform)$(ProjectName).$(Configuration)\ フォルダー (例: ....\X64\CNTKLibraryCSEvalCPUOnlyExamples.Release\CNTKLibraryCSEvalCPUOnlyExamples.exe) の下に保存されます。
Linux では、C++ のみがサポートされています。 建築サンプルについてはこちらをご Makefile
覧ください。 ターゲット名CNTKLIBRARY_CPP_EVAL_EXAMPLESは、CNTKLibraryCPPEvalExamples のビルドに使用されます。
複数の要求を並列で評価する例
CNTKLibraryEvalExamples には、複数の評価要求を並列で評価するサンプル コードが含まれています。 サンプル コードでは、同じモデルの複数のインスタンス間でモデル パラメーターを共有し、メモリ使用量を減らす方法も示しています。
- C# の EvaluateMultipleImagesInParallelAsync() は、C#/.NET マネージ API CNTK使用して同時要求を評価する方法を示しています。
- ParallelEvaluationExample() は、C++ ライブラリ API を使用した同時評価CNTK示す C++ の例です。
中間層を評価する例
- C# の EvaluateIntermediateLayer() は、CNTK C#/.NET マネージ API を使用してモデル内の中間レイヤーを評価する方法を示しています。
- EvaluateIntermediateLayer() は、C++ ライブラリ API を使用してモデル内の中間レイヤー CNTK評価する方法を示す C++ の例です。
複数のノードからの出力を評価する例
- C# の EvaluateCombinedOutputs() は、CNTK C#/.NET マネージ API を使用して複数の出力を評価する方法を示しています。
- EvaluateCombinedOutputs() は、CNTK C++ ライブラリ API を使用して複数の出力を評価する方法を示す C++ の例です。
評価を非同期で実行する C# の例
この例では EvaluationSingleImageAsync()
、拡張メソッド EvaluateAsync()
を使用して評価を非同期的に実行する方法を示します。
Python Eval の例
Python を使用して、事前トレーニング済みのモデルを評価することもできます。 ここで説明します。
Java Eval の例
Java の例では、Java API を使用してモデルを評価する方法を示します。 Java API はまだ試験段階であり、変更される可能性があることに注意してください。
Java の例をビルドする方法については、Windowsと Linux の手順を参照してください。
EvalDLL を使用するレガシ アプリケーションの例
詳細については、 EvalDll-Examples を参照してください。