Performance benchmark numbers for our starter model are generated with the tool described in Section 1
Model Name | Model size | Device | GPU | CPU |
---|---|---|---|---|
COCO SSD MobileNet v1 | 27 Mb | Pixel 3 (Android 10) | 22ms | 46ms* |
Pixel 4 (Android 10) | 20ms | 29ms* | ||
iPhone XS (iOS 12.4.1) | 7.6ms | 11ms** |
其中 * 4 threads used. ** 2 threads used on iPhone for the best performance result.
1. 性能跑分
本文档列出了在一些 Android 和 iOS 设备上运行常见模型时 TensorFlow Lite 的跑分。
这些跑分数据由 Android TFLite benchmark binary 及 iOS benchmark app 产生。
1.1 安卓环境的跑分
对于安卓环境的跑分,为了减少设备间的差异性,CPU 亲和性被设置为使用大核跑分(参见第2章)。
假设模型被下载并解压缩到 /data/local/tmp/tflite_models 路径。用于跑分的二进制文件
使用 这些命令构建。 此外,我们假设该文件位于 /data/local/tmp 目录。
使用以下语句运行跑分:
adb shell taskset ${CPU_MASK} /data/local/tmp/benchmark_model \
--num_threads=1 \
--graph=/data/local/tmp/tflite_models/${GRAPH} \
--warmup_runs=1 \
--num_runs=50 \
--use_nnapi=false
在这里, ${GRAPH}是模型的名字, ${CPU_MASK} 是CPU亲和度设置。 请从下表中选择:
Device | CPU_MASK |
---|---|
Pixel 2 | f0 |
Pixel xl | 0c |
模型名称 | 设备 | 平均推理时间 |
---|---|---|
Mobilenet_1.0_224(float) | Pixel 2 | 123.3 ms |
Pixel XL | 113.3 ms | |
Mobilenet_1.0_224 (quant) | Pixel 2 | 65.4 ms |
Pixel XL | 74.6 ms | |
NASNet mobile | Pixel 2 | 273.8 ms |
Pixel XL | 210.8 ms | |
SqueezeNet | Pixel 2 | 234.0 ms |
Pixel XL | 158.0 ms | |
Inception_ResNet_V2 | Pixel 2 | 2846.0 ms |
Pixel XL | 1973.0 ms | |
Inception_V4 | Pixel 2 | 3180.0 ms |
Pixel XL | 2262.0 ms |