首页 > 解决方案 > Tensorflow Lite:糟糕的 GPU 性能

问题描述

我正在通过在 Android 设备上运行自定义模型(4 个完全连接的层,每个层有 400 个单元)来进行一些测试。我正在使用Tensorflow Lite Android benchmark application测试运行时性能。但是,我遇到了一个非常奇怪的行为:使用 GPU 对模型进行基准测试会导致性能比仅使用 CPU 更差。

这些是 CPU 的性能:

我们的平均推理时间:预热:38.8272,初始化:465,推理:38.8438,总体最大驻留集大小 = 0 MB,总 malloc 大小 = 0 MB,使用中分配/映射大小 = -0.273354 MB

虽然这些是我使用 GPU 获得的性能:

我们的平均推理时间:预热:418.266,初始化:297403,推理:1231.89,总体最大驻留集大小 = 29.2383 MB,总 malloc 大小 = 0 MB,使用中分配/映射大小 = 0.192513 MB

如您所见,GPU 的推理时间大约是 CPU 执行时间的 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"'

标签: androidtensorflowbenchmarkingtensorflow-lite

解决方案


推荐阅读