Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 加载时目标检测的TensorFlowLite模型_Python_Tensorflow2.0_Tensorflow Lite - Fatal编程技术网

Python 加载时目标检测的TensorFlowLite模型

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

我对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 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个输出节点都在那里。