Проблема демоверсии Tensorflow android с использованием bazel "не удается найти класс символов Fill, где T является переменной типа: T расширяет объект, объявленный в классе Zeros" - PullRequest
0 голосов
/ 29 января 2019

Я собираюсь создать демонстрационную версию Android Tensorflow Object Detection API для Android с использованием Bazel, который является def nativeBuildSystem = 'bazel' в Android Studio, но получил следующую ошибку: ошибка: не удается найти класс символа Fill, где T - это типпеременная: T расширяет объект, объявленный в классе нули .Комментарии в других репозиториях утверждают, что для решения этой проблемы должен быть установлен нативный компоновщик none , однако в демоверсии Tensorflow Android Camera указано, что демонстрационная версия может быть построена с использованием Bazel и Android Studio.

Информация о системе:

Ubuntu 16.04 LTS.
TensorFlow installed from source.
TensorFlow version 1.12.
Python version 2.7.
Bazel version 0.21.0.
Android Studio Version: 3.3
Gradle version: 3.3.0

Любые предложения и комментарии в других репозиториях и форумах, связанные с этой проблемой, не помогли!

1 Ответ

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

После исследования этой темы и обсуждения проблемы в других репозиториях (https://github.com/tensorflow/tensorflow/issues/25239), я сделал следующие выводы:

  • Как уже упоминалось в TensorFlow Dev Summit, TensorFlowМобильные технологии устарели. Маловероятно, что они будут продолжать поддерживать основанные на gradle сборки для образцов TFMobile.

  • Тем не менее, похоже, что это проблема с зависимостью от codegen, поскольку класс Fill генерируется динамически. Возможно, произошли некоторые недавние изменения в том, как генерируются эти классы.

  • Таким образом, вместо использования Tensorflow Mobile нам рекомендуется TFLite

...