Квантование TensorFlow Lite не улучшает задержку логического вывода - PullRequest
1 голос
/ 02 мая 2019

Сайт TensorFlow утверждает, что квантизация обеспечивает в 3 раза меньшую задержку на мобильных устройствах: https://www.tensorflow.org/lite/performance/post_training_quantization

Я попытался проверить это утверждение и обнаружил, что квантованные модели на 45% -75% МЕНЬШЕ, чем модели Float, несмотря на то, что их размер почти в 4 раза меньше. Излишне говорить, что это очень разочаровывает и противоречит заявлениям Google.

В моем тесте используется официальная модель Google MnasNet: https://storage.googleapis.com/mnasnet/checkpoints/mnasnet-a1.tar.gz

Вот средняя задержка на основе 100 операций вывода на только что перезагруженном телефоне:

  • Пиксель 2: float = 81мс, квант = 118мс
  • Moto E: float = 337 мс, квант = 590 мс
  • Сокровище LG: float = 547мс, квант = 917мс

Мое тестовое приложение измеряет время только для одного метода (tfLite.runForMultipleInputsOutputs). Результаты очень непротиворечивы (в пределах 1% при многократном выполнении).

Я надеюсь увидеть некоторые комментарии от команды Tensorflow или любого, кто может поделиться своими метриками. Числа выше основаны на модели классификатора изображений. Я также протестировал детектор объектов SSD MobileNetV2 с похожими результатами (квантованная модель существенно медленнее).

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