| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
fix(image_projective_transform): 修复binary.json格式配置错误,补全op_graph实现及geir测试用例 Co-authored-by: yourealize<chenzhanxi1@huawei.com> # message auto-generated for no-merge-commit merge: !1062 merge fix/image_projective_transform_format_and_opgraph into master fix(image_projective_transform): 修复binary.json格式配置错误,补全op_graph实现及geir测试用例 Created-by: yourealize Commit-by: yourealize Merged-by: cann-robot Description: ## 描述 修复 ImageProjectiveTransform 算子实现中的两个问题: **问题1:binary.json 格式配置与 def.cpp 不一致** - def.cpp 中 images 输入和 transformed_images 输出声明的 format 为 NHWC - binary.json 中对应字段配置为 ND,导致格式不匹配 - 修复:将 binary.json 中 5 个 op_list 条目的 images 和 transformed_images format 改为 NHWC **问题2:缺少 op_graph 实现和 geir 测试用例** - 新增 op_graph/image_projective_transform_proto.h:REG_OP 算子 IR 定义(3输入/1输出/2属性) - 新增 op_graph/image_projective_transform_graph_infer.cpp:InferDataType 推导(输出 dtype 跟随 images 输入) - 新增 examples/test_geir_image_projective_transform.cpp:geir 图模式测试用例 - 更新 README.md 调用说明章节,增加图模式调用表格 **附带包含 simt.h 性能优化** - FastPath 编译期模板化(if constexpr 消除运行时分支) - UintDiv 快速除法替代硬件除法 - 32/64 位索引宽度自适应 - launch_bounds 自适应线程数 ## 关联的Issue https://gitcode.com/cann/ops-cv/issues/576 ## 测试 - 重新编译安装算子包(含 op_graph 与修正后的 NHWC 二进制配置) - 运行 bash build.sh --run_example image_projective_transform graph,退出码 0 - 输出 16 个 1.000000(单位射影变换 + 全1输入的预期结果) ## 文档更新 - 更新 image/image_projective_transform/README.md 调用说明章节 ## 类型标签 - [x] 🐛 Bug修复 - [ ] ✨ 新特性 - [x] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [x] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-cv!1062 | 3 个月前 | |
feat: add image_projective_transform operator for Ascend950 Co-authored-by: 陈展熹<chenzhanxi1@huawei.com> # message auto-generated for no-merge-commit merge: !1016 merge feat/image_projective_transform into master feat: add image_projective_transform operator for Ascend950 Created-by: yourealize Commit-by: 陈展熹 Merged-by: cann-robot Description: ## 描述 新增 image_projective_transform 算子,支持 Ascend950 平台的图像投影变换。 ### 改动原因 Ascend950 平台缺少 image_projective_transform 算子实现,需补充该算子以支持图像投影变换能力。 ### 改动方法 - 新增 image_projective_transform 算子,支持 BILINEAR(双线性插值)/ NEAREST(最近邻插值)两种插值模式 - 支持 float32 / float16 / uint8 / int32 / int64 五种数据类型 - 使用 double-simulation(Dekker/Knuth 算法)实现精确浮点除法,匹配 TF CPU float32 行为 - 通过 pragma clang fp contract(off) 禁用 FMA 收缩,确保与 TensorFlow 计算结果一致 ## 关联的Issue - #550 ## 测试 - pkg --soc=ascend950 编译通过 - Host UT 编译通过 - 自检 10 条规则全部通过 ## 文档更新 无 ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [x] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-cv!1016 | 3 个月前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 3 个月前 | ||
| 3 个月前 |