昇腾社区首页
中文
注册

函数:set_dynamic_batch_size

产品支持情况

产品

是否支持

Atlas A3 训练系列产品 / Atlas A3 推理系列产品

Atlas A2 训练系列产品 / Atlas 800I A2 推理产品 /A200I A2 Box 异构组件

Atlas 训练系列产品

Atlas 推理系列产品

Atlas 200I/500 A2 推理产品

Atlas 200/300/500 推理产品

功能说明

在动态Batch场景下,在模型执行前调用本接口设置模型推理时的批量大小Batch(每次处理图片的数量)。

函数原型

  • C函数原型
    1
    aclError aclmdlSetDynamicBatchSize(uint32_t modelId, aclmdlDataset *dataset, size_t index, uint64_t batchSize)
    
  • python函数
    1
    ret = acl.mdl.set_dynamic_batch_size(model_id, dataset, index, batch_size)
    

参数说明

参数名

说明

model_id

int,模型ID。

可在以下接口成功加载模型后获取到模型ID。

dataset

int,表示模型的输入数据对应的指针地址。

使用aclmdlDataset类型的数据描述模型推理时的输入数据,输入的内存地址、内存大小用aclDataBuffer类型的数据来描述,具体请参见aclmdlDataset

index:int,标识动态Batch输入的输入index,需调用acl.mdl.get_input_index_by_name接口获取,动态Batch和动态分辨率输入的名称固定为“ascend_mbatch_shape_data”,动态AIPP输入的名称固定为“ascend_dynamic_aipp_data”

index

int,标识动态Batch输入的输入index,需调用acl.mdl.get_input_index_by_name接口获取,动态Batch和动态分辨率输入的名称固定为“ascend_mbatch_shape_data”,动态AIPP输入的名称固定为“ascend_dynamic_aipp_data”

batch_size

int,指定模型推理时的批量大小Batch。

此处设置的“batch_size”只能为模型构建时设置的Batch档位中的其中一档,也可调用acl.mdl.get_dynamic_batch接口获取指定模型支持的Batch档位数以及每一档中的Batch数。

返回值说明

返回值

说明

ret

int,错误码,返回0表示成功,返回其它值表示失败。

资源参考

接口调用流程与示例,参见动态Batch/动态分辨率/动态维度(设置多档维度值)