Ошибка сборки Tensorflow C ++ r1.13: «TopK» не является членом «tenorflow :: ops» - PullRequest
0 голосов
/ 01 марта 2019

Я впервые пытаюсь создать проект C ++ Tensorflow, и выяснить, как создавать библиотеки TF, было уже слишком много, поэтому я использовал проект github tenorsflow_cc , который предоставляет образ докера с TFAPI C ++, уже созданный для Ubuntu 18.04.

Это казалось хорошим началом, но компиляция не удалась:

error: 'TopK' is not a member of 'tensorflow::ops'

в строке кода:

tensorflow::ops::TopK(root.WithOpName(output_name), outputs[0], how_many_labels);

Тем не менее, в соответствии с TF api doc TopK явно находится в пространстве имен tenorflow :: ops.Теперь, прежде чем вы скажете, сообщите об этом как о проблеме в проект tenorflow_cc, обратите внимание, что документ говорит

#include <nn_ops.h>

, за исключением того, что nn_ops.h вообще не существует в репозитории тензорного потока!(Согласно поиску в github и «find. -Name nn_ops.h» в клонах.) То, что существует, это «tenorflow / core / ops / nn_ops.cc».

Я знаю, что это начальная проблема, иДолжны быть некоторые простые вещи, которые я упускаю, но трудно понять этот конфликт между документом API и репозиторием.Пример кода, который я пытаюсь создать, был собран и запущен ранее, но я не могу получить никакой поддержки для него.Кто-нибудь недавно создавал проекты TF C ++ с TopK?Любые предложения для лучшего способа начать работу с TF C ++?

1 Ответ

0 голосов
/ 03 марта 2019

Проект tenorflow_cc предоставляет среду сборки статической привязки и разделяемую библиотеку или среду динамической привязки (статическое или совместное использование встроенных библиотек Tensorflow).Я пытался собрать проект с помощью floopcz / tenorflow_cc: статический образ ubuntu-static, докер.Не было проблем с сборкой с использованием образа общей библиотеки floopcz / tenorflow_cc: ubuntu-shared.

@ jdehesa Я считаю, что требуемые заголовки были сгенерированы так, как вы предлагаете.См. Объяснение здесь .Однако документ Tensorflow API , похоже, все еще имеет противоречие, поскольку включать nn_ops.h не было необходимости.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...