Python 如何从tflite模型中提取元数据

Python 如何从tflite模型中提取元数据,python,tensorflow,tensorflow-lite,Python,Tensorflow,Tensorflow Lite,我正在用python加载对象检测模型。我可以用以下代码行加载它: import tflite\u运行时解释器作为tflite model_path='path_to_model_file.tf' 解释器=tflite.transparer(模型路径) 我可以毫无问题地对此进行推断。但是,根据,标签应该包含在元数据中,但我无法提取它 我最接近的时候,是在下列情况下: 来自tflite的支持将元数据作为元数据导入 displayer=\u metadata.MetadataDisplayer.wi

我正在用python加载对象检测模型。我可以用以下代码行加载它:

import tflite\u运行时解释器作为tflite
model_path='path_to_model_file.tf'
解释器=tflite.transparer(模型路径)
我可以毫无问题地对此进行推断。但是,根据,标签应该包含在元数据中,但我无法提取它

我最接近的时候,是在下列情况下:

来自tflite的
支持将元数据作为元数据导入
displayer=\u metadata.MetadataDisplayer.with\u model\u文件(model\u路径)
export_json_file=“extracted_metadata.json”)
json\u file=displayer.get\u metadata\u json()
#可选:将元数据写入json文件
打开(导出json文件“w”)作为f:
f、 写入(json_文件)
但第一行代码失败,出现以下错误:
{AtributeError}'int'对象没有属性“tobytes”


如何提取它?

如果您只关心标签文件,您只需在Linux或Mac上运行命令,如
unzip model\u path
。带有元数据的TFLite模型本质上是一个zip文件。有关更多详细信息,请参阅

您可以编写代码片段来提取元数据,这对我很有用。确保仔细检查
model\u路径
。它应该是一个字符串,例如
“lite-model\u ssd\u mobilenet\u v1\u metadata\u 2.tflite”


如果您想在Android应用程序中读取标签文件,请参阅示例代码。

再次尝试我的代码并“成功”:我现在可以看到元数据,但它不会显示标签文件本身。不过,解压成功了,谢谢!MetadataDisplayer不显示标签,我们应该这样做。我将添加一个方法来执行此操作。