admin管理员组文章数量:1122852
onnx
1. onnx是基于protobuf来做数据存储和传输,*.proto后缀文件, 其定义是protobuf语法,类似json
2. netron可用来查看onnx网络模型结构
3. onnx可以直接编辑修改,从而省去从源头(pytorch,tensorflow等修改在转化的步骤)
proto文件记录了onnx的结构
graph的node存储了网络结构conv,stride,pad等等信息,initializer存储了weight,bias等,input,output则存储对应的书输入输出。
pytorch生成onnx
pytorch中使用torch.onnx.export生成onnx
torch.onnx.export(model, //需要实例化# 这里的args,是指输入给model的参数,类型为tuple或者tensor(dummy,), # 储存的文件路径"demo.onnx", # 打印详细信息verbose=True, # 为输入和输出节点指定名称,方便后面查看或者操作input_names=["image"], output_names=["output"], # 这里的opset,指,各类算子以何种方式导出,对应于symbolic_opset11opset_version=11, # 表示他有batch、height、width3个维度是动态的,在onnx中给其赋值为-1# 通常,我们只设置batch为动态,其他的避免动态dynamic_axes={"image": {0: "batch", 2: "height", 3: "width"},"output": {0: "batch", 2: "height", 3: "width"},}
本文标签: onnx
版权声明:本文标题:onnx 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1687169793a71931.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论