如何知道 Tensorflow Lite 模型的输入/输出特征信息?

Posted

技术标签:

【中文标题】如何知道 Tensorflow Lite 模型的输入/输出特征信息?【英文标题】:How to know Tensorflow Lite model's input/output feature info? 【发布时间】:2018-11-11 19:18:14 【问题描述】:

我是移动开发人员。我想使用各种 Tensorflow Lite 模型(.tflite)和MLKit。

但是有一些问题,我不知道如何知道.tflite模型的输入/输出特征信息(这些将是设置的参数)。

有什么办法知道吗?

抱歉英语不好,谢谢。


更新(18.06.13.):

我找到了这个网站https://lutzroeder.github.io/Netron/。 此可视化图表基于您上传的模型(如 .mlmode.tflite 等)并查找输入/输出表单。

这是示例截图! https://lutzroeder.github.io/Netron example

【问题讨论】:

创建tflite模型时,需要知道输入输出类型和形状。这就是在 ML Kit 中运行模型所需的全部信息。你是如何创建 tflite 模型的? @PannagSanketi 感谢重播。我从here,MobileNet 下载。我知道,如果我尝试查找 MobileNet 的界面功能信息,我可以从网页和论文中找到。但我的问题是模型中是否有输入/输出信息。 (Core ML 模型有这些元信息)谢谢! 【参考方案1】:

添加到上面的答案:

请参阅这些构建说明:

https://google.github.io/flatbuffers/md__building.html

如果您已经有一个不是您自己生产的 tflite 模型, 并且您想查看 tflite 文件并了解您的输入 和输出,您可以使用 flatc 工具并将模型转换为 .json 文件并阅读。

首先克隆 flatbuffers 存储库并构建 flatc。

git clone https://github.com/google/flatbuffers.git

然后您必须将 tensorflow schema.fbs 存储在本地。要么结帐 tensorflow github 或下载该文件。然后你可以运行 flatc 到 然后输入 tflite 模型生成 json 文件。

flatc -t schema.fbs -- input_model.tflite

这将创建一个易于阅读的 input_model.json 文件。

【讨论】:

【参考方案2】:

如果您已经有一个不是您自己生产的 tflite 模型,并且您 想查看 tflite 文件内部并了解您的输入和输出,您可以使用flatc 工具并转换 模型到.json 文件并阅读。

首先克隆 flatbuffers 存储库并构建 flatc。

git clone https://github.com/google/flatbuffers.git

然后您必须将 tensorflow schema.fbs 存储在本地。查看 tensorflow github 或下载 那one file。 然后你可以运行flatc,然后输入tflite模型生成json文件。

flatc -t schema.fbs -- input_model.tflite

这将创建一个易于阅读的input_model.json 文件。

【讨论】:

谢谢!这就是我想要的答案!再次感谢有用的提示! 我在架构定义中遇到错误:错误:schema.fbs:7: 1: 错误:非法字符: 上述架构文件错误。这个似乎有效:raw.githubusercontent.com/tensorflow/tensorflow/master/… 不幸的是,json 文件是一堆乱码。我仍然不知道网络的预期输入和输出维度

以上是关于如何知道 Tensorflow Lite 模型的输入/输出特征信息?的主要内容,如果未能解决你的问题,请参考以下文章

如何创建一个可轻松转换为TensorFlow Lite的模型?

如何将 HED 模型转换为 Tensorflow Lite 模型

将 Keras 模型转换为 TensorFlow lite - 如何避免不支持的操作?

如何将冻结图转换为 TensorFlow lite

移动端目标识别(3)——使用TensorFlow Lite将tensorflow模型部署到移动端(ssd)之Running on mobile with TensorFlow Lite (写的很乱,回

Tensorflow-lite - 从量化模型输出中获取位图