文档
注册

--dynamic_batch_size

功能说明

设置动态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接口的具体使用方法,请参见应用软件开发指南(C&C++)手册“AscendCL API参考”中的模型加载与执行章节。

搜索结果
找到“0”个结果

当前产品无相关内容

未找到相关内容,请尝试其他搜索词