Skip to content

EvalDll Evaluation on Linux

Zhou Wang edited this page Apr 2, 2017 · 7 revisions

The EvalDll library on Linux is provided as a C++ library.

The usage pattern for evaluation is the following:

  1. Get an instance of the evaluation engine either using GetEvalF() (for the float data type) or GetEvalD() (for the double data type).
  2. Load the model (or create the network) in the evaluation engine.
  3. Evaluate some input against the model and obtain the corresponding output.
  4. Dispose the model when done.

The evaluation library, libCntk.Eval.so, can be found under cntk/lib in the CNTK binary package. If you build CNTK from source code, the libCntk.Eval.so is available in the lib folder of the build directory.

Any program using the evaluation library needs to link libCntk.Core and libCntk.Math when compiling the program, for example by specifying

-lCntk.Eval-<VERSION> -lCntk.Math-<VERSION>

as well as appropriate search path for both libraries. (Please refer here for CNTK binary naming scheme.). Please use the same compiler version as that used to build libraries. The Examples/Evaluation/CPPEvalClient in the CNTK source code illustrates the usage pattern in Linux. The Makefile contains the target EVAL_SAMPLE_CLIENT showing how to build the example.

For details on the C++ API provided by EvalDll, please refer to the C++ EvalDll API page in this wiki.

Clone this wiki locally