如何将Tensorflow对象检测API模型转换为TFLite?

时间:2020-09-29 11:44:26

标签: python-3.6 object-detection tensorflow-lite object-detection-api tensorflow2.x

我正在尝试将Tensorflow对象检测模型( ssd-mobilenet-v2-fpnlite ,从TensorFlow 2 Detection Model Zoo)转换为TFLite。首先,我使用model_main_tf2.py训练模型,然后使用export_tflite_graph_tf2.py导出保存的模型(.pb)。但是,在将.pb文件转换为.tflite时,会引发此错误

VRFY

要转换我使用的.pb文件:

OSError: SavedModel file does not exist at: /content/gdrive/My Drive/models/research/object_detection/fine_tuned_model/saved_model/saved_model.pb/{saved_model.pbtxt|saved_model.pb}
从命令行

或“ tflite_convert”,但有相同的错误。我还尝试使用建议here的最新tf-nightly版本运行它,但是结果是相同的。我试图以各种方式传递路径,.pd似乎写得不好(不是正确的文件)。有没有一种方法可以管理将模型转换为tflite,以便将其实现为android?谢谢!

2 个答案:

答案 0 :(得分:0)

我没有足够的声誉来发表评论,但是这里的问题似乎是您的SAVED_MODEL_PATH

您可以尝试对路径进行硬编码并删除.pb文件。我不记得确切的窍门是什么,但这绝对是由于路径

答案 1 :(得分:0)

您保存的模型路径应为“ / content / gdrive /我的云端硬盘/模型/研究/对象检测/ fine_tuned_model / saved_model /”。它是文件夹,而不是该文件夹中的文件

要进行快速测试,请尝试输入终端

tflite_convert \
  --saved_model_dir="path to saved_folder" \
  --output_file="path to tflite file u want to save"