在C ++项目中使用CNTKlibrary.h进行评估

时间:2017-05-17 11:44:29

标签: c++ cntk

我用BrainScript训练了我的模型,现在想在C ++项目中使用它。从EvalMultithreads.cpp我复制了所有相关功能。我链接了CNTK.Core和CNTK.Math库,并按照here所述设置搜索路径。当然我加入了CNTKLibrary.h。 当我构建项目时,编译器给出了这个错误:

  

未定义引用`CNTK :: Variable :: Name [abi:cxx11]()const'

它引用了这一行:

if (it->Name().compare(varName) == 0)
EvalMultithreads.cpp函数的

bool GetVariableByName,还有:

  

未定义引用`CNTK :: Function :: LoadModel(std :: __ cxx11 :: basic_string CMakeFiles / xxx.dir / build.make:1848:目标配方' /home/path/xxx.exe&# 39;失败了   CMakeFiles / Makefile2:67:目标的配方' CMakeFiles / xxx.dir / all'失败   Makefile:83:目标配方'全部'失败

有没有人有同样的麻烦?

仅供参考:我使用Ubuntu 16.04gcc版本5.4.0,CNTK ver2.0rc2 GPU和1位SGD

1 个答案:

答案 0 :(得分:1)

CNTK.Core和二进制发布包中的其他库是使用GCC 4.8编译的,因此无法使用gcc 5.4.0直接与应用程序链接。请使用与创建库相同的构建风格(Debug / Release)和the same compiler version,如here所述。 如果要使用gcc 5.4.0,则需要从源代码构建库。