我正在检查使用预先训练的deeplab xception65_coco_voc_trainval模型运行图像分割的选项。
冻结的模型大小为 ~161MB,将其转换为 tflite 后大小为 ~160MB,在我的 PC CPU 上运行此模型需要 ~25 秒。
这是"意料之中的",还是我可以做得更好?
转换为 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 的说法,使用 3 个评估量表xception65_coco_voc_trainval大约需要 223 秒。冻结图有一个评估刻度,所以~25秒对我来说听起来很合适。
为了加快 TfLite 的推理速度,我建议使用 GPU 委托,但由于您在 PC 上运行,因此您需要找到一个较小的模型。也许尝试一种基于移动网络的模型?edgetpu模型将在没有edgetpu的tflite中运行,并且应该非常快,尽管这些模型是在城市景观上训练的。