# onnx_profiling_tools **Repository Path**: syn006/onnx_profiling_tools ## Basic Information - **Project Name**: onnx_profiling_tools - **Description**: onnx离线推理常规工具 - **Primary Language**: Python - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 5 - **Created**: 2025-08-07 - **Last Updated**: 2025-08-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # onnx_profiling_tools #### 介绍 onnx离线推理,提供一键化模型分析工具: 1. 精度对比: 1.1 对比onnx/om模型算子精度结果 1.2 支持dump om模型算子输出结果 2. 性能对比: 2.1 分析模型device(npu)侧的性能:算子耗时等 2.2 对比om模型和gpu模型性能 2.3 分析模型host侧的性能:主要针对动态模型,涉及算子下发等 #### 目录介绍 1. acc_profiling 使用方式: ``` # 首次初始化 git submodule init git submodule update # 或者直接拉取tools代码: git clone https://gitee.com/ascend/tools.git ./acc_profiling/tools # 对于CANN 5.0.3alpha001之前的版本 mkdir -p acc_profiling/tools/msame/out cp ./bins/msame ./acc_profiling/tools/msame/out/msame # 精度对比 # 随机输入 bash acc_profiling/acc_profiling.sh ${onnx_model} ${om_model} ${output_dir} # 指定输入文件: 建议采用绝对路径 bash acc_profiling/acc_profiling.sh ${onnx_model} ${om_model} ${output_dir} ${input_files} # 精度对比辅助工具 # dump npu各层算子信息 # dump所有算子信息: dump_npu_dir为所有输出文件的上级目录 bash acc_profiling/dump_data.sh ${dump_npu_dir} ${output_path} # dump单算子信息: dump_npu_file为所有指定的输出文件, format一般支持ND/NCHW bash acc_profiling/dump_data.sh ${dump_npu_file} ${output_path} ${format} # 对比 onnx/npu 单算子精度:支持输入为npy/bin格式 python acc_profiling/scripts/veryfy_acc.py onnx_output_sample.npy om_output_sample.npy ``` 2. speed_profiling 使用方式: ``` # om模型性能profiling bash speed_profiling/speed_profiling.sh -h # 静态模型device侧profiling bash speed_profiling/speed_profiling.sh -m ${om_model} -o ${output_dir} # 动态模型device侧profiling bash speed_profiling/speed_profiling.sh -m ${om_model} -o ${output_dir} -i ${input_files} -p ${input_shape} -s ${output_size} -r 1 # 动态模型host侧profiling bash speed_profiling/speed_profiling.sh -m ${om_model} -o ${output_dir} -i ${input_files} -p ${input_shape} -s ${output_size} -r 1 --profiler # 比较和GPU的profiling结果 # trtexec --onnx=${onnx_model} --fp16 --shapes=${input_shape} --threads --dumpProfile --exportProfile=${gpu_profiling_json_file} # 比较单卡的算子耗时/占比 python speed_profiling/compare_profiling.py -i ${npu_summary_csv_file} -j ${gpu_profiling_json_file} -o ${output_csv_file} -r 1.0 -s ``` #### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request #### 特技 1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md 2. Gitee 官方博客 [blog.gitee.com](https://blog.gitee.com) 3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解 Gitee 上的优秀开源项目 4. [GVP](https://gitee.com/gvp) 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目 5. Gitee 官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) 6. Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)