如何知道 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 - 如何避免不支持的操作?
移动端目标识别(3)——使用TensorFlow Lite将tensorflow模型部署到移动端(ssd)之Running on mobile with TensorFlow Lite (写的很乱,回