#android #tensorflow #benchmarking #tensorflow-lite
#Android #tensorflow #сравнительный анализ #tensorflow-lite
Вопрос:
Я провожу несколько тестов, запуская пользовательскую модель (4 полностью подключенных слоя по 400 единиц в каждом) на устройстве Android. Я тестирую производительность среды выполнения с помощью тестового приложения для Android Tensorflow Lite. Однако я испытываю очень странное поведение: сравнительный анализ модели с использованием графического процессора приводит к худшей производительности, чем при использовании только процессоров.
Это производительность с процессорами:
Среднее время вывода в США: Прогрев: 38,8272, Инициализация: 465, Вывод: 38,8438, общий максимальный размер резидентного набора = 0 МБ, общий размер malloc-ed = 0 МБ, выделенный / отображаемый размер = -0,273354 МБ
хотя это производительность, которую я получаю с помощью графического процессора:
Среднее время вывода в США: Прогрев: 418,266, Инициализация: 297403, Вывод: 1231,89, общий максимальный размер резидентного набора = 29,2383 МБ, общий размер malloc-ed = 0 МБ, размер выделенного / mmapped в использовании = 0,192513 МБ
Как вы можете заметить, время вывода с графическим процессором примерно в 4 раза превышает время выполнения с процессорами. Как это возможно?
Это команда, которую я использую для сравнения модели:
adb shell am start -S -n org.tensorflow.lite.benchmark/.BenchmarkModelActivity
--es args '"--graph=<model_path> --num_threads=4 --num_runs=10000 --use_gpu=true"'
Комментарии:
1. На каком оборудовании?
2. Я пробовал 3 разных смартфона: Nexus 5, Nexus 6 и Xiaomi Mi 9T.
3. Есть предложения?