CNTK Eval Examples - eldakms/CNTK GitHub Wiki
Eval samples in CNTK binary download package
The CNTK binary download package on the CNTK Releases page includes samples for using the eval library in C++, C#/.NET and Python.
CNTK Library Eval C++/C# Examples
The CNTKLibraryEvalExamples contains code samples demonstrating how to use the CNTK Library Eval API in C++ and C#.
CNTKLibraryCSEvalCPUOnlyExamples
uses the CNTK Library CPU-Only Nuget package to evaluate models on CPU-only devices in C#.CNTKLibraryCSEvalGPUExamples
uses the CNTK Library GPU Nuget package to evaluate models on GPU devices in C#.CNTKLibraryCPPEvalCPUOnlyExamples
uses the CNTK Library C++ API to evaluate models on CPU-only devices. It uses the CNTK Library CPU-Only Nuget package.CNTKLibraryCPPEvalGPUExamples
uses the CNTK Library C++ API to evaluate models on GPU devices. It uses the CNTK Library GPU Nuget package.
On Windows,
- You need Visual Studio 2015 update 3 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 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.
EvaluateMultipleImagesInParallel()
in C# demonstrates how to evaluate concurrent requests using CNTK C#/.NET Managed API.- The
MultiThreadsEvaluationWithLoadModel()
is the C++ example showing concurrent evaluation using CNTK C++ Library API.
EvalDll Eval C++/C# Examples
The EvalClients.sln contains the following projects demonstrating how to use the EvalDll
library in C++ and C#.
CPPEvalClient
: this sample uses the C++EvalDll
.CPPEvalExtendedClient
: this sample uses the C++ extended Eval interface inEvalDll
to evaluate a RNN model.CSEvalClient
: this sample uses the C#EvalDll
(only for Windows). It uses the CNTK EvalDll Nuget Package.
On Windows, The solution file EvalClients.sln is used to build and run samples. Please note
- You need Visual Studio 2015 update 3 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\CPPEvalClient.Release\CppEvalClient.exe.
On Linux, please refer to Makefile for building samples. The target name EVAL_CLIENT, and EVAL_EXTENDED_CLIENT are used to build these projects.
Python Eval Examples
You can also use Python to evaluate a pre-trained model as described here.