---
title: 函数：set_dynamic_batch_size
description: "在动态Batch场景下，在模型执行前调用本接口设置模型推理时的批量大小Batch（每次处理图片的数量）。"
url: https://www.hiascend.com/document/detail/zh/canncommercial/latest/API/ascendgraphapi/aclpythondevg_01_0151.html
sourcePath: /source/zh/canncommercial/900/API/ascendgraphapi/aclpythondevg_01_0151.html
indexId: e65ba423f1fdb20621a20d98a8ad0ce1f17bd8836e15a2670ea5400ceb5cb22675
---
# 函数：set_dynamic_batch_size

#### 功能说明

在动态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。 acl.mdl.load\_from\_file acl.mdl.load\_from\_mem acl.mdl.load\_from\_file\_with\_mem acl.mdl.load\_from\_mem\_with\_mem |
| 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/动态分辨率/动态维度（设置多档维度值）(https://www.hiascend.comdocument/detail/zh/canncommercial/900/programug/acldevg/aclpythondevg_0046.html)。
