Я обучил свою модель BrainScript и теперь хочу использовать ее в проекте C ++. От EvalMultithreads.cpp Я скопировал все соответствующие функции. Я связал библиотеки CNTK.Core и CNTK.Math и установил их путь поиска, как описано Вот. Конечно, я включил 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’ не выполнен
CMakeFiles / Makefile2: 67: сбой рецепта для цели ‘CMakeFiles / xxx.dir / all’
Makefile: 83: рецепт для цели ‘all’ не удался
У кого-нибудь были такие же проблемы?
К вашему сведению: я использую Ubuntu 16.04
, gcc
версия 5.4.0
, CNTK ver2.0rc2 GPU с 1-битным SGD
CNTK.Core и другие библиотеки в бинарном выпуске скомпилированы с GCC 4.8, поэтому их нельзя напрямую связать с приложением, использующим gcc 5.4.0. Пожалуйста, используйте тот же вариант сборки (Debug / Release) и та же версия компилятора как тот, который используется для создания библиотек, как описано Вот.
Если вы хотите использовать gcc 5.4.0, вам нужно собрать библиотеку из исходного кода.
Других решений пока нет …