CANN/GE ATC动态批处理大小配置指南

CANN/GE ATC动态批处理大小配置指南 --dynamic_batch_size【免费下载链接】geGEGraph Engine是面向昇腾的图编译器和执行器提供了计算图优化、多流并行、内存复用和模型下沉等技术手段加速模型执行效率减少模型内存占用。 GE 提供对 PyTorch、TensorFlow 前端的友好接入能力并同时支持 onnx、pb 等主流模型格式的解析与编译。项目地址: https://gitcode.com/cann/ge产品支持情况全量芯片支持IPV350不支持功能说明设置动态batch_size参数适用于执行推理时每次处理图片或者句子数量不固定的场景。在某些推理场景如检测出目标后再执行目标识别网络由于目标个数不固定导致目标识别网络输入batch_size不固定。如果每次推理都按照最大的batch_size或最大分辨率进行计算会造成计算资源浪费。因此推理需要支持动态batch_size和动态分辨率的场景使用ATC工具时通过该参数设置支持的batch_size通过--dynamic_image_size参数设置支持的分辨率档位。模型转换完成后在生成的om离线模型中会新增一个输入在模型推理时通过该新增的输入提供具体的batch_size值。例如a输入的batch_size是动态的在om离线模型中会有与a对应的b输入来描述a的具体batch_size。关联参数该参数需要与--input_shape配合使用不能与--dynamic_image_size、--dynamic_dims、--input_shape_range同时使用。且只支持N在shape首位的场景即shape的第一位设置为-1。如果N在非首位场景下请使用--dynamic_dims参数进行设置。参数取值参数值档位数例如1,2,4,8。参数值格式指定的参数必须放在双引号中档位之间使用英文逗号分隔。参数值约束针对如下产品档位数约束为档位数取值范围为(1,100]即必须设置至少2个档位最多支持100档配置每个档位数值建议限制为[1~2048]。Atlas A3 训练系列产品/Atlas A3 推理系列产品Atlas A2 训练系列产品/Atlas A2 推理系列产品Atlas 200I/500 A2 推理产品Atlas 推理系列产品Atlas 训练系列产品针对Ascend 950PR/Ascend 950DT档位数约束为档位数取值范围为(1, 256]即必须设置至少2个档位最多支持256档配置每个档位数值建议限制为[1~2048]。如果用户设置的档位数值过大或档位过多在运行环境执行推理时建议执行swapoff -a命令关闭swap交换区间作为内存的功能防止出现由于内存不足将swap交换空间作为内存继续调用导致运行环境异常缓慢的情况。推荐配置及收益如果用户设置的档位数值过大或档位过多可能会导致模型转换失败此时建议用户减少档位或调低档位数值。CV计算机视觉类的网络--dynamic_batch_size建议取值为8、16档位该场景下的网络性能比单个batch_size更优8、16档位只是建议取值实际使用时还请以实际测试结果为准。OCR/NLP文字识别/自然语言处理类网络--dynamic_batch_size档位取值建议为16的整数倍该档位值只是建议取值实际使用时还请以实际测试结果为准。示例atc --input_shapedata:-1,3,416,416;img_info:-1,4 --dynamic_batch_size1,2,4,8 ...其中“--input_shape”中的“-1”表示设置动态batch_size。则ATC在模型编译时支持的输入组合档数分别为第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)依赖约束使用约束不支持含有过程动态shape算子网络中间层shape不固定的网络。如果用户设置了动态batch_size同时又通过--insert_op_conf参数设置了动态AIPP功能实际推理时调用aclmdlSetInputAIPP接口设置动态AIPP相关参数值时需确保batch_size要设置为最大Batch数。。通过该参数设置动态batch_size特性后生成的离线模型网络结构会与固定batch_size场景下的不同推理性能可能存在差异。接口约束如果模型转换时通过该参数设置了动态batch_size则使用应用工程进行推理时在模型执行接口之前使用aclmdlSetDynamicBatchSize接口用于设置真实的batch_size档位。不使用aclmdlSetDynamicBatchSize接口则模型执行时默认按照batch_size设置范围的最大值进行赋值。【免费下载链接】geGEGraph Engine是面向昇腾的图编译器和执行器提供了计算图优化、多流并行、内存复用和模型下沉等技术手段加速模型执行效率减少模型内存占用。 GE 提供对 PyTorch、TensorFlow 前端的友好接入能力并同时支持 onnx、pb 等主流模型格式的解析与编译。项目地址: https://gitcode.com/cann/ge创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考