动态输出单算子NonMaxSuppressionV3调用报错
收藏回复举报
动态输出单算子NonMaxSuppressionV3调用报错
t('forum.solved') 已解决
发表于2025-01-13 16:19:34
0 查看

CANN 版本 6.0.1

设备:Atlas 200

算子配置文件:

[

  {

    "op": "NonMaxSuppressionV3",

    "name": "nms_op",

    "input_desc": [

      {

        "format": "ND",

        "shape": [47,4],

        "type": "float32"

      },

      {

        "format": "ND",

        "shape": [47],

        "type": "float32"

      },

      {

        "format": "ND",

        "shape": [],

        "type": "int32"

      },

      {

        "format": "ND",

        "shape": [],

        "type": "float32"

      },

      {

        "format": "ND",

        "shape": [],

        "type": "float32"

      }

    ],

    "output_desc": [

      {

        "format": "ND",

        "shape": [-1],

  "shape_range": [[1,-1]],

        "type": "int32"

      }

    ]

  }

]

使用固定输入的NonMaxSuppressionV3单算子调用时,由于输出维度不确定,参考文档执行动态Shape算子(不注册算子选择器)-单算子调用-应用开发(C++)-推理应用开发,需要使用aclopInferShape()推断输出维度

接口调用后,失败返回500002

[ERROR] GE(3054,execute_add_op):2025-01-13-07:32:37.703.815 [operator_factory_impl.cc:75]3054 GetOpsTypeList: ErrorNo: 4294967295(failed) [INFER][DEFAULT][Check][Param] no operator creators found 

[ERROR] GE(3054,execute_add_op):2025-01-13-07:32:37.704.087 [operator_factory.cc:44]3054 GetOpsTypeList: ErrorNo: 4294967295(failed) [INFER][DEFAULT][Get][OpsTypeList] failed. 

[ERROR] ASCENDCL(3054,execute_add_op):2025-01-13-07:32:37.704.275 [op.cpp:444]3054 LoadOpsProto: [INFER][DEFAULT][Get][OpsType]GetOpsTypeList failed. 

[ERROR] ASCENDCL(3054,execute_add_op):2025-01-13-07:32:37.704.482 [op.cpp:648]3054 aclopInferShape: [INFER][DEFAULT][Load][OpsProto]Load opsProto lib fail. 

[INFO]  aclopInferShape ret:500002 

[ERROR] ASCENDCL(3054,execute_add_op):2025-01-13-07:32:37.704.803 [tensor_desc_internal.cpp:391]3054 aclGetTensorDescDimRange: [Check][Index]index out of range. index = 0, numDims = 0 

此时构造一个输出维度用于推理使用,推理接口aclopExecuteV2()也报错,返回507018

cke_12254.png

这两个报错都是要联系技术支持,请教下报错的原因,以及NMS算子是怎么推断输出dim的

日志见附件

我要发帖子