用于移动设备的 Deeplab xception(tensorflow lite)

Deeplab xception for mobile (tensorflow lite)

我正在检查 运行 使用预训练的 deeplab xception65_coco_voc_trainval 模型进行图像分割的选项。

冻结的模型大小约为 161MB,在我将其转换为 tflite 后大小约为 160MB,运行在我的 PC 上 cpu 需要约 25 秒。

是 "expected" 还是我可以做得更好?

转换为tflite如下:

tflite_convert \
--graph_def_file="deeplabv3_pascal_trainval/frozen_inference_graph.pb" \
--output_file="deeplab_xception_pascal.tflite" \
--output_format=TFLITE \
--input_shape=1,513,513,3 \
--input_arrays="sub_7" \
--output_arrays="ArgMax" \
--inference_type=FLOAT \
--allow_custom_ops

谢谢!

根据 https://github.com/tensorflow/models/blob/master/research/deeplab/g3doc/model_zoo.md,xception65_coco_voc_trainval 使用 3 个评估量表大约需要 223 秒。冻结图只有一个评估尺度,所以 ~25 秒对我来说听起来很合适。

为了加快 TfLite 的推理速度,我建议使用 gpu delegate,但由于您是 运行在 PC 上使用,因此您需要找到一个较小的模型。也许尝试一种基于 mobilenet 的模型? edgetpu 模型将 运行 在没有 edgetpu 的 tflite 中并且应该相当快,尽管这些是在 cityscapes 上训练的。