已关闭
[Bug-Report|缺陷反馈]: ImageProjectiveTransform算子binary.json格式配置错误且缺少op_graph实现 #576
陈展熹创建于  6月27日关闭于  6月30日
陈展熹成员
6月27日 创建

Describe the current behavior / 问题描述

ImageProjectiveTransform 算子实现存在两个问题:

问题1:binary.json 格式配置与 def.cpp 不一致

  • op_host/image_projective_transform_def.cppimages 输入和 transformed_images 输出声明的 format 为 FORMAT_NHWC
  • op_host/config/ascend950/image_projective_transform_binary.json 中对应字段配置为 "format": "ND"
  • 导致二进制配置中的格式与算子定义不匹配

问题2:缺少 op_graph 实现和 geir 测试用例

  • 缺少 op_graph/image_projective_transform_proto.h 算子 IR 定义
  • 缺少 op_graph/image_projective_transform_graph_infer.cpp InferDataType 推导
  • 缺少 examples/test_geir_image_projective_transform.cpp geir 图模式测试用例
  • 导致无法通过 geir 通路调用该算子

Environment / 环境信息

  • 硬件:Ascend 950PR
  • CANN 版本:cann-9.1.0-beta.1
  • 操作系统:Linux x86_64

Steps to reproduce the issue / 重现步骤

  1. 检查 image/image_projective_transform/op_host/config/ascend950/image_projective_transform_binary.json 中 images 输入的 format 字段,发现为 "ND"
  2. 检查 image/image_projective_transform/op_host/image_projective_transform_def.cpp 中 images 输入的 Format 声明,发现为 FORMAT_NHWC
  3. 尝试运行 bash build.sh --run_example image_projective_transform graph,报错找不到 geir 测试用例

Describe the expected behavior / 预期结果

  1. binary.json 中 images 和 transformed_images 的 format 应为 "NHWC",与 def.cpp 声明一致
  2. 应存在 op_graph 目录包含 proto.h 和 graph_infer.cpp
  3. 应存在 examples 目录包含 geir 测试用例
  4. bash build.sh --run_example image_projective_transform graph 应能成功运行

修复后验证:

  • 重新编译安装算子包
  • 运行 bash build.sh --run_example image_projective_transform graph,退出码 0
  • 输出 16 个 1.000000(单位射影变换 + 全1输入的预期结果)

Special notes for this issue/备注

修复 PR:https://gitcode.com/cann/ops-cv/merge_requests/1062

修复内容包括:

  1. binary.json 中 5 个 op_list 条目的 images/transformed_images format 改为 NHWC
  2. 新增 op_graph/image_projective_transform_proto.h 算子 IR 定义
  3. 新增 op_graph/image_projective_transform_graph_infer.cpp InferDataType 推导
  4. 新增 examples/test_geir_image_projective_transform.cpp geir 测试用例
  5. 更新 README.md 调用说明章节
  6. 包含 simt.h 性能优化(R001-R006)
likedislike
陈展熹成员
6月27日 添加了label:bug-report
陈展熹成员
6月27日 评论:
likedislike
陈展熹成员
6月27日 评论:

/assign

likedislike
CANN-robotCANN-robot成员
6月27日 将 yourealize 设为负责人
CANN-robotCANN-robot成员
6月30日 关闭了 issue
CANN-robotCANN-robot成员
6月30日 添加了label:resolved
陈展熹成员
7月2日 关联了pull request:remove: 删除legacy.h中ImageProjectiveTransform算子原型注册