首页 > 其他分享 >onnxruntime输出模型中间层的结果

onnxruntime输出模型中间层的结果

时间:2024-01-23 10:24:47浏览次数:20  
标签:输出 layer outs name onnxruntime ort 中间层 output model

        def get_layer_output(model, image):
            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 = rt.InferenceSession(model.SerializeToString(),providers=["CPUExecutionProvider"])
            ort_inputs = {}
            for i, input_ele in enumerate(ort_session.get_inputs()):
                ort_inputs[input_ele.name] = image
            outputs = [x.name for x in ort_session.get_outputs()]
            ort_outs = ort_session.run(outputs, ort_inputs)
            print(type(ort_outs))
            print(type(ort_outs[0]))
            # print("ort_outs[0]",ort_outs[0])
            # exit()    
            # ort_outs = OrderedDict(zip(outputs, ort_outs))
            return ort_outs     
                 
        model_path = "/data_alpha/test_1221/MobileSAM-pytorch/exp/adamw_lr_1e-3_wd_5e-4_bs_8_epoch_16/ckpt/tiny_2262.onnx"
        onnx_model = onnx.load(model_path)
                 
        # print(outputs)        
        intermediate_layer_names = [onnx_model.graph.node[i].name for i in range(len(onnx_model.graph.node))]
        # print(intermediate_layer_names)
        for layer_name, output_data in zip(intermediate_layer_names, get_layer_output(onnx_model,tensor_input_2)):
            if "Conv_" not in layer_name:
                continue        
            # output_file_path = f"/tmp/onnx_txt/{layer_name}.txt"
            # output_file_path = f"{output_folder}/{layer_name}.txt"
            # np.savetxt(output_file_path, output_data.flatten().astype(np.float32), fmt='%f')
        # exit()  

标签:输出,layer,outs,name,onnxruntime,ort,中间层,output,model
From: https://www.cnblogs.com/WEIWEI1095/p/17981736

相关文章

  • 使用strace将重定向一个已经运行进程的输出
    在Linux上,可以使用以下命令来重定向一个已经运行的进程的输出:首先,找到要重定向输出的进程的PID(进程号)。可以使用命令 ps 或 top 来查看正在运行的进程和它们的PID。使用命令 strace-pPID-s100-ewrite 来跟踪进程的输出。这将列出进程在标准输出上写入的内容......
  • 逆向输出用户输入的数据
    题目要求:输出一个字符串,长度0<n<10000,逆向输出它。如,输入:Iamacup.输出:.pucamaI分析:题目要求我们逆序输出,而不是更改字符串在内存中的存储顺序,所以我们依然写一个函数,然后使用以const修饰的指针来解题。#include<stdio.h>#include<assert.h>#include<string.h>void......
  • ETLCloud:实现数据库快速输入输出的利器
    在当今大数据时代,数据的高效处理和管理成为企业发展的关键。而数据库作为数据存储和管理的核心,其输入输出效率的提升对于企业来说至关重要。ETLCloud数据集成工具,为企业提供了快速、灵活、稳定的数据库输入输出解决方案,极大地简化了数据处理流程,提高了工作效率。 系统优点简......
  • 根据输入,输出由“*”组成的x图案
    题目:输入3,输出3行3列的x图形,图形由“*”组成。根据分析,可以把x视为一个拥有"*"和"空格"的一个矩形。当行与列的下标相同,或相加为n时,输出*,其余输出空格#include<stdio.h>intmain(){ intn=0; inti=0; intj=0; scanf("%d",&n); printf("\n"); for(i=0;i......
  • 无涯教程-MATLAB - 数据输出
    MATLAB中的数据导出意味着写入文件,MATLAB允许您在另一个读取ASCII文件的应用程序中使用数据,为此,MATLAB提供了几种数据导出选项。有两种方法可以将数字数组导出为定界的ASCII数据文件-使用save函数并指定-ascii限定符使用dlmwrite函数使用保存函数的语法是-savemy_data.......
  • 小白printf限定宽度和输出格式------新手必备
    大家好,断更了一个月自己在考试所以没有更新,这里我今年的第一篇文章依旧依旧是新手的printf的相关知识,一,printf的限定宽度哦当我们使用printf的时候我们大家对于printf的打印感觉好像什么都可以打印,无论多宽,例如我们打印“c语言是世界上最好的语言”#define_CRT_SECURE_NO_WARNINGS......
  • 《PMBOK指南第六版》第4章 项目整合管理 -> 指导与管理项目工作:输出 - 工作绩效数据
    指导与管理项目工作:输出- 工作绩效数据工作绩效数据 是在执行项目工作的过程中,从每个正在执行的活动中收集到的原始观察结果和测量值。数据通常是在最低层次的细节,将交由其他过程从中提炼出信息。在工作执行过程中收集数据,再交由控制过程做进一步分析。例如,工......
  • 《PMBOK指南第六版》第4章 项目整合管理 -> 指导与管理项目工作:输出 - 可交付成果
    指导与管理项目工作:输出- 可交付成果可交付成果可交付成果是在某一过程、阶段或项目完成时,必须产出任何独特并可核实的产品、成果或服务能力。他通常是项目结果,并可包括项目管理计划的组成部分。一旦完成了可交付成果的第一个版本,就应......
  • 洛谷题单指南-模拟和高精度-P1067 [NOIP2009 普及组] 多项式输出
    原题链接:https://www.luogu.com.cn/problem/P1067题意解读:模拟法依次输出多项式内容即可,但是需要考虑的周全,主要有以下关键点:1、系数为0时不输出多项式2、第一个符号,只有负号才输出3、次数不为0时,不输出为1的系数;次数为0时,输出所有系数4、次数为1时,不输出次数;次数为0时不输......
  • STM32CubeMX教程18 DAC - DMA输出自定义波形
    1、准备材料开发板(正点原子stm32f407探索者开发板V2.4)STM32CubeMX软件(Version6.10.0)野火DAP仿真器keilµVision5IDE(MDK-Arm)ST-LINK/V2驱动一台示波器逻辑分析仪nanoDLA2、实验目标使用STM32CubeMX软件配置STM32F407开发板的DACOUT1实现输出0-3.3V周期为12.8ms的正弦......