Model evaluation examples

Examples for using the CNTK Eval library in C++, C#/.NET and Python can be found in Examples/Evaluation folder in GitHub, as well as in the CNTK binary download package on the CNTK Releases page.

CNTK Library Eval C++/C# Examples

The CNTKLibraryEvalExamples contains code samples demonstrating how to use the CNTK Library Eval API in C++ and C#.

On Windows,

  • You need Visual Studio 2017 for using these samples.
  • The samples should be built for the 64-bit target platform. Otherwise some issues arise when calling the library. Please also refer to the Troubleshoot CNTK page for more information.
  • After a successful build, the executable is saved under the $(SolutionDir)....$(Platform)$(ProjectName).$(Configuration)\ folder, e.g. ....\X64\CNTKLibraryCSEvalCPUOnlyExamples.Release\CNTKLibraryCSEvalCPUOnlyExamples.exe.

On Linux, only C++ is supported. Please refer to the Makefile for building samples. The target name CNTKLIBRARY_CPP_EVAL_EXAMPLES is used to build CNTKLibraryCPPEvalExamples.

Examples for evaluating multiple requests in parallel

The CNTKLibraryEvalExamples includes sample code to evaluate multiple evaluation requests in parallel. The sample code also shows how to share model parameters among multiple instances of the same model to reduce memory usage.

Examples for evaluating intermediate layers

Examples for evaluating outputs from multiple nodes

C# Examples for running evaluation asynchronously

The example EvaluationSingleImageAsync() demonstrates how to run evaluation asynchronously by using the extension method EvaluateAsync().

Python Eval Examples

You can also use Python to evaluate a pre-trained model as described here.

Java Eval Examples

The Java example shows how to evaluate a model using the Java API. Please note that the Java API is still experimental and subject to change.

Please refer to Windows and Linux instructions for how to build the Java example.

Examples for legacy applications using EvalDLL

Please refer to EvalDll-Examples for details.