Python onnx 模型打印显示所有节点及查看相互关系

文章介绍了在处理ONNX模型时,如何通过PythonAPI获取并打印出所有节点的信息和权重参数。作者分享了简单的代码示例,包括遍历节点输出和初始化器(权重)的详细信息,特别查找了特定输出名称的节点。此外,还展示了获取模型所有输出节点的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近使用onnx时,想把所有的节点的信息和权重参数显示出来,找了一下没找到类似的源码,官方介绍的pythonAPI都是些什么加载,保存,转换之类的,没有详细介绍怎么使用onnx分析模型的,只好自己写一个。

其实很简单,我只列些最基本的,具体分析还得看个人的需要,

import onnx
if __name__ == '__main__':

    model_path = r'F:\model_float32.onnx'

    model = onnx.load(model_path)

    nodes = model.graph.node
    nodnum = len(nodes)  # 205

    for nid in range(nodnum):
        if (nodes[nid].output[0] == 'stride_32'):
            print('Found stride_32: index = ', nid)
        else:
            print(nodes[nid].output)

    inits = model.graph.initializer
    ininum = len(inits)  # 124

    for iid in range(ininum):
        el = inits[iid]
        print('name:', el.name, ' dtype:', el.data_type, ' dim:', el.dims)  # el.raw_data for weights and biases

    print(model.graph.output)  # display all the output nodes

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值