安卓上运行 TFLite 格式的 DeepLab v3 的模型(支持 GPU)

节前 Tensorflow Lite 推出了支持 GPU 的版本,同时也放出了一个 TFLite 格式的 DeepLab v3 的模型,于是更新了一下自己代码,体验了一把。

模型尺寸
TFLite 的模型尺寸更小,只有 2.4M。相比之前我自己转换的 TF Mobile 模型,小了 6M。

性能对比
下面是一个简单性能对比:

可以看出,在运行时间上,TFLite 版本比 TF Mobile 快了 6 倍左右。当然这个提高可能有一部分原因和输入图片的尺寸有关。我之前转换的 TF Mobile 模型的输入是 513 x 513,而官方这个 TFLite 的模型是 257 x 257。不过从这个比较结果来看,TFLite 使用 GPU 加速并没有很大幅度增加 DeepLab 的推演性能,在 Oneplus3T/5 上提高了 40ms 左右。而更诡异的是在 Pixel 2 XL 上,不使用 GPU 竟然还快 15ms。

效果对比
下面是图像分割后效果的对比:

可以看出 TFLite 的效果还是稍微差了一些,第二张图片有些不能接受。不过不能确定两个模型是否在同一个训练集使用相同的参数训练出来的。所以也不能断言 TFLite 影响了推演精度。

代码
代码放在 GitHub 上:

有兴趣的小伙伴可以研究一下。


叶楠 2019-2-11 17:39:29