---
title: --dynamic_batch_size
description: "| 产品 | 是否支持 |"
url: https://www.hiascend.com/document/detail/zh/canncommercial/latest/devaids/aoe/aoepar_16_011.html
sourcePath: /source/zh/canncommercial/900/devaids/aoe/aoepar_16_011.html
indexId: 268b3beea67330d4793c64fb7d8efa42d30b046b212c8e98c1e60abfc3931f4b60
---
# --dynamic_batch_size

#### 产品支持情况

| 产品 | 是否支持 |
| --- | --- |
| Atlas A3 训练系列产品 / Atlas A3 推理系列产品 | √ |
| Atlas A2 训练系列产品 / Atlas A2 推理系列产品 | √ |
| Atlas 200I/500 A2 推理产品 | √ |
| Atlas 推理系列产品 | √ |
| Atlas 训练系列产品 | √ |


#### 功能说明

设置动态Batch档位参数，适用于执行推理时，每次处理图片数量不固定的场景。


#### 关联参数

该参数需要与--input_shape同时使用，不能与--dynamic_image_size、--dynamic_dims同时使用。

且只支持N在shape首位的场景，即shape的第一位设置为"-1"。如果N在非首位场景下，请使用--dynamic_dims参数进行设置。


#### 参数取值

参数值：档位数，例如"1,2,4,8"。

参数值格式：指定的参数必须放在双引号中，每一组参数中间使用英文逗号分隔。

参数值约束：档位数取值范围为(1,100]，即必须设置至少2个档位，最多支持100档配置；档位之间通过英文逗号分隔，每个档位数值建议限制为：[1~2048]。


#### 推荐配置及收益

- 如果用户设置的档位数值过大或档位过多，可能会导致调优失败，此时建议用户减少档位或调低档位数值。
- 如果用户设置的档位数值过大或档位过多，在运行环境执行推理时，建议执行swapoff -a命令关闭swap交换空间作为内存的功能，防止出现由于内存不足，将swap交换空间作为内存继续调用，导致运行环境异常缓慢的情况。


#### 示例

```
--input_shape="data:-1,3,416,416;img_info:-1,4"  --dynamic_batch_size="1,2,4,8"
```

其中，“--input_shape”中的“-1”表示设置动态Batch。则调优引擎在调优模型时，支持的输入组合档数分别为：

第0档：data(1,3,416,416)+img_info(1,4)

第1档：data(2,3,416,416)+img_info(2,4)

第2档：data(4,3,416,416)+img_info(4,4)

第3档：data(8,3,416,416)+img_info(8,4)


#### 依赖约束

- 使用约束：
  若用户执行推理业务时，每次处理的图片数量不固定，则可以通过配置该参数来动态分配每次处理的图片数量。例如用户执行推理业务时需要每次处理2张，4张，8张图片，则可以配置为2,4,8，申请了档位后，模型推理时会根据实际档位申请内存。

- 接口约束：
  如果调优时通过该参数设置了动态Batch，则使用应用工程进行模型推理时，需要在aclmdlExecute接口之前，增加aclmdlSetDynamicBatchSize接口，用于设置真实的Batch档位。

  关于aclmdlSetDynamicBatchSize接口的具体使用方法，请参见的“模型执行(https://www.hiascend.comdocument/detail/zh/canncommercial/900/API/ascendgraphapi/aclcppdevg_03_0297.html)”章节。
