文件最后提交记录最后更新时间
【fix】: 统一shell脚本的编码规范 Co-authored-by: kantao1<kantao1@huawei.com> # message auto-generated for no-merge-commit merge: !1886 merge develop into develop 【fix】: 统一shell脚本的编码规范 Created-by: kantao1 Commit-by: kantao1 Merged-by: cann-robot Description: # Pull Request ## 描述 1. 统一shell脚本的编码规范 2. python脚本使用内置logging打印日志 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [x] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!18861 个月前
【PR】: sync ge_dev to master 20260312 Co-authored-by: ClarkXie<xiezhengkai@huawei.com> Co-authored-by: wangxiaotian995<710309755@qq.com> Co-authored-by: peiyang<lipeiyang@huawei.com> Co-authored-by: KenChow<zhouchen53@huawei.com> Co-authored-by: cann-robot<songchangxia@cann.team> Co-authored-by: tangqunzhang<tangqunzhang@huawei.com> Co-authored-by: zhang_shengjie<804425610@qq.com> Co-authored-by: jsong27<songjiaming6@h-partners.com> Co-authored-by: xuyafei<xuyafei3@huawei.com> Co-authored-by: yelongjian<yelongjian1@huawei.com> Co-authored-by: wtf_newage<liuqiang238@hisilicon.com> Co-authored-by: lining23666<lining.li@huawei.com> # message auto-generated for no-merge-commit merge: !1093 merge develop into master 【PR】: sync ge_dev to master 20260312 Created-by: peiyang Commit-by: yelongjian;ClarkXie;jsong27;wangxiaotian995;lining23666;tangqunzhang;zhang_shengjie;cann-robot;KenChow;xuyafei;peiyang;wtf_newage Merged-by: peiyang Description: # Pull Request ## 描述 本PR指在将develop分支的代码同步合入master分支,包括以下特性: 1、TE errorMsg E40021 2、解决环境内核升级导致CV融合算子host编译问题 3、atc拦截save_original_model、compress_weight_conf、enable_compress_weight 三个option 4、Add/BitwiseAnd/BitwiseNot/BitwiseOr/BitwiseXor/Eq新增支持数据类型 5、调用AppendCoreTypeToPlatform接口增加判空 6、优化样例执行流程,将env DDK;NPU_HOST_LIB的配置步骤移除 7、优化concat分组重计算 8、[dflow] 删除DT无用的头文件导入 9、Concat对齐值生成错误导致性能下降&头文件路径修改 10、[om2]整改超大函数 11、禁止广播下沉到compare计算节点后 12、UT,ST优化和失败用例修复,告警修改 13、[dflow] 删除中废弃的代码,并简化dt cmake配置 14、GetTensor函数增加判空 15、FE/TE适配新增属性is_null_output支持空可选输出占位 16、CompareExtend API NE场景下对输入tensor存在NaN值的特殊处理 17、修改llt失败问题 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. 2. ## 核对清单 <!-- [x] 表示选中 --> - [ ] 我的代码遵循了项目的代码风格 - [ ] 我已对代码进行了自测 - [ ] 我已更新了相关的文档 - [ ] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [ ] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!10932 个月前
【PR】: sync ge_dev to master 20260311 Co-authored-by: cann-robot<songchangxia@cann.team> Co-authored-by: tang-haojie<tanghaojie1@huawei.com> Co-authored-by: isaacxu<xurui23@huawei.com> Co-authored-by: yelongjian<yelongjian1@huawei.com> Co-authored-by: kobemini<gengchao4@huawei.com> Co-authored-by: yuchen97<wangyuchen38@huawei.com> Co-authored-by: maohaodi<maohaodi@huawei.com> Co-authored-by: lihuachao<lihuachao1@huawei.com> Co-authored-by: liuyuanchen1<liuyuanchen1@huawei.com> Co-authored-by: KenChow<zhouchen53@huawei.com> Co-authored-by: wtf_newage<liuqiang238@hisilicon.com> Co-authored-by: jin-xiaohang<jinxiaohang4@huawei.com> Co-authored-by: peiyang<lipeiyang@huawei.com> Co-authored-by: wangxiaotian995<710309755@qq.com> Co-authored-by: andy_git<liaomeifeng@huawei.com> Co-authored-by: zhangfeifan0709<zhangfeifan7@huawei.com> Co-authored-by: xuyafei<xuyafei3@huawei.com> Co-authored-by: lining23666<lining.li@huawei.com> Co-authored-by: zhang_shengjie<804425610@qq.com> Co-authored-by: jinhu_huawei<jinhu5@huawei.com> Co-authored-by: wuzhengzhen<wuzhengzhen@huawei.com> Co-authored-by: chenyukai<chenyukai4@huawei.com> Co-authored-by: jiang-mingming01<jiangmingming16@h-partners.com> # message auto-generated for no-merge-commit merge: !1045 merge develop into master 【PR】: sync ge_dev to master 20260311 Created-by: peiyang Commit-by: zhang_shengjie;jiang-mingming01;chenyukai;lining23666;wuzhengzhen;cann-robot;yuchen97;kobemini;isaacxu;jinhu_huawei;maohaodi;KenChow;xuyafei;zhangfeifan0709;andy_git;peiyang;wangxiaotian995;jin-xiaohang;wtf_newage;liuyuanchen1;lihuachao;yelongjian;tang-haojie Merged-by: peiyang Description: # Pull Request ## 描述 本PR指在将develop分支的代码同步合入master分支,包括以下特性: 1、dflow替换rt接口为aclrt接口 2、新增modify_conv_data_format_pass 3、新增modify_conv_data_format_pass 4、解决CV融合算子编译告警 5、dflow静态检查修改 6、[Autofuse] 修复slice上提至transpose前的bug 7、修复错误码上报和日志格式问题 8、当concat的对齐值小于等于1时,无意义,跳过这种判断&头文件路径修复 9、ATT性能公式注释及表达式优化 10、SECURITY文件Markdown格式问题修改 11、bugfix for es symbol bind 12、移动非dflow dt并删除冗余的依赖 13、修复te_fusion的全局变量导致的内存持续增长 14、新增Acos ascir 15、rt接口切换为aclrt系列接口:设备管理类 16、GetOrRegisterKernel并发问题 17、修复transform eliminate消除逻辑改图bug 18、es sample更新打印格式 19、新增GeSession使能动态batch的样例 20、修复A2 Dma swap后性能公式问题 21、兼容算子独立升级,添加原命名空间接口 22、修复C++和python处理图名的差异&Power处理特殊 23、修复air转模型构造输入tensor顺序错误的问题 24、Concat融合拓扑排序问题修复 25、基于graph接口的MatMul+Add融合为GEMM自定义pass样例 26、修复udf DT依赖源码proto后没有加依赖找不到头文件的问题 27、npu_arch从3101修改为3510 && logicalOr ascir bugfix ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. 2. ## 核对清单 <!-- [x] 表示选中 --> - [ ] 我的代码遵循了项目的代码风格 - [ ] 我已对代码进行了自测 - [ ] 我已更新了相关的文档 - [ ] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [ ] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!10452 个月前
【fix】: 统一shell脚本的编码规范 Co-authored-by: kantao1<kantao1@huawei.com> # message auto-generated for no-merge-commit merge: !1886 merge develop into develop 【fix】: 统一shell脚本的编码规范 Created-by: kantao1 Commit-by: kantao1 Merged-by: cann-robot Description: # Pull Request ## 描述 1. 统一shell脚本的编码规范 2. python脚本使用内置logging打印日志 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [x] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!18861 个月前
README.md

样例使用指导

功能描述

该样例主要是基于Onnx ResNet-50网络(单输入、单Batch)实现多batch场景下图片分类的功能。

在该样例中:

  1. 先使用样例提供的脚本transfer_pic.py,将2张*.jpg图片都转换为*.bin格式,同时将图片从1024*683的分辨率缩放为224*224。
  2. 解析resnet50模型,然后直接对2张图片(batch值为2)进行推理,得到推理结果,再对推理结果进行处理,输出top5置信度的类别标识。

目录结构

├── data
│   ├── dog1_1024_683.jpg               // 测试数据,需要按指导获取测试图片,放到data目录下
│   ├── dog2_1024_683.jpg               // 测试数据,需要按指导获取测试图片,放到data目录下

├── model
│   ├── resnet50_Opset16.onnx           // Onnx ResNet-50网络的模型文件

├── scripts
│   ├── build.sh                        // sample编译脚本
│   ├── run.sh                          // sample运行脚本
│   ├── transfer_pic.py                 // 将*.jpg转换为*.bin,同时将图片从1024*683的分辨率缩放为224*224

├── src
│   ├── CMakeLists.txt                  // 编译配置脚本
│   ├── sample_dynamic_batch.cpp        // 主函数,图片分类功能的实现文件

├── CMakeLists.txt                      // 编译脚本,调用src目录下的CMakeLists文件

环境要求

  • 通过安装指导 环境准备 正确安装toolkitops

  • 设置环境变量(假设包安装在/usr/local/Ascend/

    source /usr/local/Ascend/cann/set_env.sh
    

实现步骤

  1. 以运行用户登录开发环境。

  2. 下载代码并上传至环境后,请先进入根目录下"examples/gesession/sample_dynmaic_batch"样例目录。

    请注意,下文中的样例目录均指"examples/gesession/sample_dynmaic_batch"目录。

  3. 准备ResNet-50模型。

    1. 获取ResNet-50原始模型。

      您可以从以下链接中获取ResNet-50网络的模型文件,并以运行用户将获取的文件上传至开发环境的"样例目录/model"目录下。如果目录不存在,需要自行创建。

      • ResNet-50网络的模型文件(*.onnx):单击Link下载该文件。
  4. 准备测试图片。

    1. 请从以下链接获取该样例的输入图片,并以运行用户将获取的文件上传至开发环境的"样例目录/data"目录下。如果目录不存在,需自行创建。

      https://obs-9be7.obs.cn-east-2.myhuaweicloud.com/models/aclsample/dog1_1024_683.jpg

      https://obs-9be7.obs.cn-east-2.myhuaweicloud.com/models/aclsample/dog2_1024_683.jpg

    2. 切换到“样例目录/data“目录下,执行transfer_pic.py脚本,将*.jpg转换为*.bin,同时将图片从1024*683的分辨率缩放为224*224。在“样例目录/data“目录下生成2个*.bin文件。

      python3 ../scripts/transfer_pic.py
      

      如果执行脚本报错“ModuleNotFoundError: No module named 'PIL'”,则表示缺少Pillow库,请使用pip3 install Pillow --user命令安装Pillow库。

构建验证

  1. 以运行用户登录开发环境。

  2. 请先进入根目录下"examples/gesession/sample_dynmaic_batch"样例目录。

    请注意,下文中的样例目录均指"examples/gesession/sample_dynmaic_batch"目录。

  3. 切换到"样例目录/scripts",编译程序。

    bash build.sh
    
  4. 运行程序

    bash run.sh
    
  5. 执行结果

    执行成功后,在屏幕上的关键提示信息示例如下,提示信息中的index表示类别标识、value表示该分类的最大置信度,这些值可能会根据版本、环境有所不同,请以实际情况为准:

    [INFO] SAMPLE start to execute.
    [INFO] Initialize ge success
    [INFO] Set device 0 success
    [INFO] Parse model ../model/resnet50_Opset16.onnx success
    [INFO] Graph add success
    [INFO] Graph compile success
    [INFO] Start to process file:../data/dog1_1024_683.bin
    [INFO] Start to process file:../data/dog2_1024_683.bin
    [INFO] Graph run success
    [INFO] Result of picture 1:
    [INFO] top 1: index[162] value[xxxxxx]
    [INFO] top 2: index[161] value[xxxxxx]
    [INFO] top 3: index[166] value[xxxxxx]
    [INFO] top 4: index[167] value[xxxxxx]
    [INFO] top 5: index[163] value[xxxxxx]
    [INFO] Result of picture 2:
    [INFO] top 1: index[267] value[xxxxxx]
    [INFO] top 2: index[266] value[xxxxxx]
    [INFO] top 3: index[265] value[xxxxxx]
    [INFO] top 4: index[153] value[xxxxxx]
    [INFO] top 5: index[99] value[xxxxxx]
    [INFO] Output data success
    [INFO] SAMPLE PASSED
    

    说明: 类别标签和类别的对应关系与训练模型时使用的数据集有关,本样例使用的模型是基于imagenet数据集进行训练的,您可以在互联网上查阅imagenet数据集的标签及类别的对应关系。 当前屏显信息中的类别标识与类别的对应关系如下: "161": ["basset", "basset hound"]、 "267": ["standard poodle"]。