def get_out(input):
# 加载模型
model = onnx.load('weights/truck-cls.onnx')
# 模型推理
ori_output = copy.deepcopy(model .graph.output)
# 输出模型每层的输出
for node in model.graph.node:
for output in node.output:
model.graph.output.extend([onnx.ValueInfoProto(name=output)])
ort_session = onnxruntime.InferenceSession(model.SerializeToString())
ort_inputs = {ort_session.get_inputs()[0].name: input}
ort_outs = ort_session.run(None, ort_inputs)
#获取所有节点输出
outputs = [x.name for x in ort_session.get_outputs()]
# 生成字典,便于查找层对应输出
ort_outs = OrderedDict(zip(outputs, ort_outs))
print("Mul_106")
print(ort_outs["173"])
input 为输出图片
该代码段加载了一个名为truck-cls.onnx的ONNX模型,并进行推理。它遍历模型节点,获取每个节点的输出,并使用ONNXRuntime运行模型以得到各层的输出。特别是,它打印了名为Mul_106对应的输出173。此过程适用于分析和调试深度学习模型的中间层结果。
3716

被折叠的 条评论
为什么被折叠?



