Квантование TensorFlow Lite не может улучшить задержку вывода

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

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

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

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

  • Пиксель 2: float = 81 мс, квант = 118 мс
  • Moto E: плавучесть = 337 мс, квант = 590 мс
  • LG Treasure: float = 547 мс, квант = 917 мс

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

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


person Dennis Kashkin    schedule 02.05.2019    source источник
comment
То же самое, есть какие-то идеи с момента публикации?   -  person koltun    schedule 07.01.2020
comment
Я опубликовал этот вопрос в надежде услышать ответ какого-нибудь гордого гуглера, но уже 9 месяцев молчания :( ОК, GOOGLE!   -  person Dennis Kashkin    schedule 21.02.2020
comment
На самом деле недавно Google выпустил инструмент Banchmark, который можно использовать для профилирования моделей tflite, в моем случае я обнаружил, что использование операции conv2d_transpose заняло 90% времени выполнения модели, поэтому я просто заменил ее операцией ResizeBillinear и сверткой, что сделало модель В 10 раз быстрее :) github.com/tensorflow/tensorflow/tree/ мастер / tenorflow / lite /   -  person koltun    schedule 26.02.2020