Я создаю пользовательскую реализацию Tensorflow Op и Kernel в C ++ для Tensorflow r1.3. Я успешно создаю и связываю библиотеку op с помощью формы предложений этот отчет об ошибке.
Мой код в значительной степени является стандартным кодом из Tensorflow API.
Когда я загружаю ОП с tf.load_op_library()
Я могу использовать ops в Python и создать граф с ними и сохранить его как определение графа. Когда я впоследствии пытаюсь загрузить Ops тогда в C / C ++ с TF_LoadLibrary()
вызов возвращает OK как статус, но операции не могут быть найдены.
Я всегда получаю ошибку:
Не найдено: Операционный тип не зарегистрирован ‘…’ в двоичном файле, работающем на … Убедитесь, что операционный и ядро зарегистрированы в двоичном файле, работающем в этом процессе
Я в курсе этой статьи: Понимание регистрации операций и связывания ядра в TensorFlow.
И код регистрации Op, и код регистрации ядра находятся в коде библиотеки op.
Я старался:
Register("MyOp", TF::OpRegistry::Global());
Py_Initialize()
из C ++ и выполните команду импорта python из C ++ с помощью PyRun_SimpleString
Кто-нибудь пробовал это уже и преуспел? Любой вход? Я в отчаянии.
Задача ещё не решена.
Других решений пока нет …