Ошибка делегата TensorFlow Lite GPU - PullRequest
0 голосов
/ 22 апреля 2019

Я пытаюсь использовать TensorFlow Lite с делегатом GPU на Android.Я использую версию lib ( .so файлы), созданную из источников из master ветви репозитория.Проблема в том, что функция ModifyGraphWithDelegate всегда возвращает ошибку.И в журналах появляется следующее сообщение об ошибке:

2019-04-22 15:21:16.212 688-688/com.my.app E/tflite: TfLiteGpuDelegate Prepare: Shader compilation failed: ERROR: 0:6: 'unknown' : not a legal layout qualifier id 
    ERROR: 0:6: 'unknown' : Syntax error:  syntax error
    INTERNAL ERROR: no main() function!
    ERROR: 2 compilation errors.  No code generated.
2019-04-22 15:21:16.212 688-688/com.my.app E/tflite: Node number 54 (TfLiteGpuDelegate) failed to prepare.

Если я использую предустановленную версию JAVA / JNI lib ('org.tensorflow: tenorflow-lite: 0.0.0-gpu-экспериментальный'), как в официальномпример проекта - таких ошибок нет.Но мне действительно нужно использовать интерфейс C ++ для моего кроссплатформенного кода.

Любые мысли / предложения приветствуются.

Ответы [ 2 ]

0 голосов
/ 06 мая 2019

Я наконец заставил это работать.Внутренняя причина ошибки для меня до сих пор полностью неизвестна, но дело в следующем:

  • Используемая версия (основная ветвь) делегата TFLite GPU для Android не может должным образом подготовиться к работе на графическом процессоре стандарта(для задачи регрессии) комбинация выходных узлов = сглаживание + плотное.
  • Если заменить его на изменение формы + свертка (точечно) + сжатие, то все работает нормально.
0 голосов
/ 24 апреля 2019

Если вы создаете собственную разделяемую библиотеку, вам может потребоваться вручную загрузить библиотеку .so. Смотри https://groups.google.com/a/tensorflow.org/forum/#!topic/tflite/5YhFsCFtKi4

...