cntk — Оценка с помощью CNTKlibrary.h в проекте C ++

Я обучил свою модель 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

0

Решение

CNTK.Core и другие библиотеки в бинарном выпуске скомпилированы с GCC 4.8, поэтому их нельзя напрямую связать с приложением, использующим gcc 5.4.0. Пожалуйста, используйте тот же вариант сборки (Debug / Release) и та же версия компилятора как тот, который используется для создания библиотек, как описано Вот.
Если вы хотите использовать gcc 5.4.0, вам нужно собрать библиотеку из исходного кода.

1

Другие решения

Других решений пока нет …