tensorflow转onnx的实现方法
安装tf2onnx以及onnxruntime
pip install onnxruntime pip install tf2onnx
tf 转为onnx步骤为如下:
- 将tf动态图冻结,生成冻结后的pb文件
- 使用tf2onnx 将pb文件转为onnx文件
将tf动态图冻结使用如下代码:
def export_frozen_graph(model, model_dir, name_pb) : f = tf.function(lambda x: model(inputs=x)) f = f.get_concrete_function(x=(tf.TensorSpec(model.inputs[0].shape, model.inputs[0].dtype))) frozen_func = convert_variables_to_constants_v2(f) frozen_func.graph.as_graph_def() print("-" * 50) print("Frozen model inputs: ") print(frozen_func.inputs) print("Frozen model outputs: ") print(frozen_func.outputs) tf.io.write_graph(graph_or_graph_def=frozen_func.graph, logdir=model_dir, name=name_pb, as_text=False)
使用tf2onnx 将pb文件转为onnx文件时需要在终端执行,需要指出的是大部分tf模型的输入layout都是NHWC,而ONNX模型的输入layout为NCHW,因此建议在转换的时候加上--inputs-as-nchw这个选项,其他选项可以参考文档,非常详细,具体运行命令如下:
python -m tf2onnx.convert --input yolo.pb --output model.onnx --outputs Identity:0,Identity_1:0,Identity_2:0 --inputs x:0 --inputs-as-nchw x:0 --opset 10
参数说明:
- input 输入的pb模型
- output 输出的onnx文件名
- inputs 输入层名字,有多个输入时,中间用逗号隔开
- outputs 输出层名字,有多个输出时,中间用逗号隔开
- –inputs-as-nchw 将输入作为nchw格式,注意加上输入层名字
- –opset onnx 版本号
通过程序直接转:
tf2onnx.convert.from_keras(model, inputs_as_nchw=[model.inputs[0].name], output_path=model_filepath + 'yolo.onnx') --opset 10
到此这篇关于tensorflow转onnx的实现方法的文章就介绍到这了,更多相关tensorflow转onnx内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
使用Python的web.py框架实现类似Django的ORM查询的教程
这篇文章主要介绍了使用Python的web.py框架实现类似Django的ORM查询的教程,集成的ORM操作数据库向来是Python最强大的功能之一,本文则探讨如何在web.py框架上实现,需要的朋友可以参考下2015-05-05PyCharm+Qt Designer+PyUIC安装配置教程详解
这篇文章主要介绍了PyCharm+Qt Designer+PyUIC安装配置教程详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧2019-06-06下载与当前Chrome对应的chromedriver.exe(用于python+selenium)
这篇文章主要介绍了下载与当前Chrome对应的chromedriver.exe(用于python+selenium),本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下2020-01-01python selenium执行所有测试用例并生成报告的方法
今天小编就为大家分享一篇python selenium执行所有测试用例并生成报告的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2019-02-02python基于json文件实现的gearman任务自动重启代码实例
这篇文章主要介绍了python基于json文件实现的gearman任务自动重启代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下2019-08-08
最新评论