Tensorflow-Lite — инструмент для тестирования — разные результаты

Я пытаюсь использовать TFLite Инструмент сравнительного анализа с моделью мобильной сети и проверкой окончательного inference time в микросекундах для сравнения различных моделей. Проблема, с которой я сталкиваюсь, связана с разными результатами между прогонами. Я также нашел этот раздел в документации, относящейся к уменьшение различий между запусками на Android. В нем объясняется, как можно установить сходство ЦП перед запуском теста, чтобы получить согласованные результаты между запусками. В настоящее время использую Redmi Note 4 и One Plus для работы.

  1. Пожалуйста, может кто-нибудь объяснить, что я должен установить значение CPU affinity для моих экспериментов?

  2. Могу ли я найти маски сходства для разных мобильных телефонов в Интернете или на телефоне Android?

  3. Когда я увеличиваю количество параметров --warmup_runs, я получаю менее разные результаты. Есть ли другие способы сделать мои результаты более последовательными?

  4. Влияют ли фоновые процессы на телефоне Android на мой inference time и можно ли их остановить, чтобы уменьшить расхождение в результатах?


person Abhijay Ghildyal    schedule 23.09.2018    source источник


Ответы (1)


  1. Как подсказывает документация, подойдет любое значение, если вы придерживаетесь одного из них во всех экспериментах. Единственное, что нужно учитывать, это использовать ли большое ядро ​​или маленькое ядро ​​(если у вас архитектура big.little), и обычно хорошо попробовать оба (у них разные размеры кеша и т. д.).

  2. Да, обычно вы можете найти эту информацию в Интернете. См. http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0515b/CJHBGEBA.html в качестве примера. Вы захотите посмотреть на свой конкретный телефон, посмотреть, какой процессор он использует, а затем поискать в Google дополнительную информацию.

  3. Я пробовал --warmup_runs = 2000+, и обычно это довольно стабильно. Там немного больше различий с меньшими моделями. Для интенсивных моделей (по крайней мере, для конкретного устройства) вы можете захотеть посмотреть, не перегреваются ли устройства и т. д. Я не видел этого для телефонов среднего уровня, но слышал, что люди иногда держат свои устройства в прохладном месте ( вентилятор, холодильник) для этого.

  4. Могут, но это неизбежно. Лучшее, что вы можете сделать, это закрыть все приложения и отключиться от Интернета. Хотя я лично не видел, чтобы они вносили слишком много дисперсии.

person Alan Chiao    schedule 08.02.2019