Пользовательская модель тензор потока в Android - PullRequest
1 голос
/ 07 ноября 2019

Я создал собственную модель.

После этого скопировал эту ссылку "https://github.com/tensorflow/examples/tree/master/lite/examples/object_detection/android" изменил значение по умолчанию .tflite со своим собственным .tflite После этого изменил буфер (моя модель не была квантована) (Я должен установить в буфере 1080000, по умолчанию 270000) НО ошибка находится в TFLiteObjectDetectionAPIModel.java и строке tfLite.runForMultipleInputsOutputs(inputArray, outputMap);

Ошибка в консоли: «java.lang.IllegalArgumentException: Неверный выходной индекс Тензор: 1» Iпогуглил и проверил большинство ответов, но я не смог найти верный ответ!

Да, я изменил "tfLite.runForMultipleInputsOutputs(inputArray, outputMap);" на "tfLite.run(imgData, outputLocations);" и не было никаких проблем с этой ошибкой, НО тамне было никакого ответа на этот код "tfLite.runForMultipleInputsOutputs(inputArray, outputMap);" Любая помощь предложений?

Моя модель, как это "https://dinasys.ir/androidTF/assets2.zip" Или" https://dinasys.ir/androidTF/assets3.zip" они одинаковы, но активы3 былтренируется 11 часов, другой менее 10 часов.

1 Ответ

1 голос
/ 09 ноября 2019

Я пробую вашу модель в моем проекте.

В режиме tfLite.run есть проблема, и он не может разрешить DataType, но в режиме tfLite.runForMultipleInputsOutputs все работает нормально.

Вы должны знать, что при использовании TF-Lite для Java, согласноДокументы, оба аргумента tflite.run () должны быть тензорами. Но для выходного аргумента вы передаете только один float. Итак, я уверен, что это является основной причиной ошибки tfLite.run mode "cannot resolve DataType of java.lang.Float".

Примечание: также в соответствии с документами, raw ByteBuffers, а также многомерными массивами поддерживаемых типов данных(float, int, long, byte) поддерживаются. Вы должны сделать то же самое для вывода.

Я загружаю свой проект для вас.

Используйте эту ссылку для ее загрузки.

Также вы можете клонировать ее с здесь

Пожалуйста, не стесняйтесьпрокомментируйте, если у вас есть какие-либо вопросы.

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