pyACL推理动态分辨率,只支持最大分辨率挡位
收藏回复举报
pyACL推理动态分辨率,只支持最大分辨率挡位
t('forum.solved') 已解决
发表于2024-01-26 16:08:01
0 查看

cann :6.3.RC2

设备:910A,310I Pro

转化命令:

atc --framework=5  --model=./models/onnx/ocr_det.onnx --input_format=NCHW --input_shape="input:1,3,-1,-1"

--dynamic_image_size="1056,1472;1088,1472;1120,1472;1152,1472;1472,1024;1472,1056;1536,1536" --output=./models/ocr_det910  --soc_version=Ascend910ProB 

参考官网acl接口,设置了动态分辨率:

def model_set_dynamicInfo(self, height, width):
    '''
    动态分辨率
    :param batch_size:
    :return:
    '''
    # 获取动态分辨率输入的index,标识动态分辨率输入的输入名称固定为"ascend_mbatch_shape_data"
    index, ret = acl.mdl.get_input_index_by_name(self.model_desc, "ascend_mbatch_shape_data")
    ret = acl.mdl.set_dynamic_hw_size(self.model_id, self.input_dataset, index, height, width)

问题:进行推理时,只有分辨率最大挡位的挡位能得到正常结果,其余挡位全是错误结果。观察了om模型,为什么shape一直都是最大挡。

希望技术大佬看到了可以交流沟通一下

本帖最后由 匿名用户2024/01/26 16:59:46 编辑

我要发帖子