Возможная причина расхождения в уверенности модели keras h5 и той же модели, преобразованной в tflite? - PullRequest
0 голосов
/ 04 мая 2020

Недавно я использовал keras для перевода поезда на модель mobil enet. Я перенастроил выходной слой для прогнозирования по двум классам.

Затем я преобразовал сохраненный файл .h5 в файл .tflite. После запуска в Android Studio в соответствии с примером TensorFlow's ImageClassification:

https://github.com/tensorflow/examples/tree/master/lite/examples/image_classification

Я вижу небольшие расхождения в достоверности прогнозов. Т.е.

Для этого изображения: [Изображение, на которое был сделан вывод] [1]: https://i.stack.imgur.com/uSmLp.jpg

Достоверность модели Tflite: [2.0677739 E-5, 0.9999794]

Вывод на рабочий стол .h5 с использованием Keras предсказать: [5.100073E-4, 9.994900E-1]

Как вы можете видеть, они предсказывают в том же общем направлении. Однако мне любопытно, что может вызвать несоответствие?

В случае, если это не так просто, как общее объяснение, я опубликую весь необходимый код.

Рабочий стол версий:

TensorFlow 2.1.0
Keras 2.3.1
Keras-applications 1.0.8
keras-preprocessing 1.1.0

Версии android:

'org.tensorflow:tensorflow-lite:2.1.0'
'org.tensorflow:tensorflow-lite-gpu:0.0.0-nightly'
'org.tensorflow:tensorflow-lite-support:0.0.0-nightly'

Спасибо!

1 Ответ

0 голосов
/ 04 мая 2020

Tensorflow Lite может иметь небольшое отличие от модели keras, поскольку они не используют одно и то же ядро ​​времени выполнения. Также это происходит, если квантовая модель tflite.

...