Python 加载时目标检测的TensorFlowLite模型
我对tensorflow没有经验。 我正在使用tensorflow 2.3.0创建一个带有自定义数据集的对象检测模型。我使用的模型是“ssd_mobilenet_v2_fpnlite_640x640_coco17_tpu-8”。 加载经过训练的检查点,我可以用它来检测图像中的对象,效果非常好 现在,我使用以下命令使用SavedModel格式保存模型:Python 加载时目标检测的TensorFlowLite模型,python,tensorflow2.0,tensorflow-lite,Python,Tensorflow2.0,Tensorflow Lite,我对tensorflow没有经验。 我正在使用tensorflow 2.3.0创建一个带有自定义数据集的对象检测模型。我使用的模型是“ssd_mobilenet_v2_fpnlite_640x640_coco17_tpu-8”。 加载经过训练的检查点,我可以用它来检测图像中的对象,效果非常好 现在,我使用以下命令使用SavedModel格式保存模型: python导出\u tflite\u graph\u tf2.py--经过训练的检查点\u dir训练--输出\u目录推断\u graph\u
python导出\u tflite\u graph\u tf2.py--经过训练的检查点\u dir训练--输出\u目录推断\u graph\u tflite--管道\u配置\u路径训练/ssd\u mobilenet\u v2\u fpnlite\u 640x640\u coco17\u tpu-8.config
然后,我使用以下代码将模型转换为TFLite格式:
converter.optimizations = [tf.lite.Optimize.DEFAULT]
converter.target_spec.supported_ops = [tf.lite.OpsSet.TFLITE_BUILTINS_INT8,
tf.lite.OpsSet.TFLITE_BUILTINS]
tflite_model = converter.convert()
with open(path + 'final_detector.tflite', 'wb') as f:
f.write(tflite_model)
此代码来自tensorflow文档。()
如果我试图解释此模型,我会得到以下错误:
File "...\python\interpreter.py", line 197, in __init__
_interpreter_wrapper.CreateWrapperFromFile(
ValueError: Did not get operators, tensors, or buffers in subgraph 0.
我做错了什么?你能检查一下图表转换是否正确吗?我最终找到了我所有问题的根源。虽然我刚刚介绍了tensorflow文档,但在使用tensorflow 2.3.0时,您需要将tflite降级到2.2.0版本。重建tflite模型是可行的。看起来应该这样,输入节点和4个输出节点都在那里。