YOLO模型在昇腾310上使用batch推理,推理耗时随着batch增加呈现线性增大
收藏回复举报
YOLO模型在昇腾310上使用batch推理,推理耗时随着batch增加呈现线性增大
t('forum.solved') 已解决
新人帖
发表于2025-06-27 09:18:01
0 查看

在昇腾310上,使用了多种yolo的模型,包括yolo5s,yolo5n,yolo11n,yolo11l,都进行过不同batch的推理测试,试验结果均呈现:推理耗时随着batch增加呈现线性增大

其中,onnx转om模型,两种转换方式都有尝试过

静态转换:atc --model=yolov11n.onnx --framework=5 --output=yolov11n-body-fp16 --input_format=NCHW --input_shape="images:N,3,640,640" --log=error --soc_version=Ascend310 --precision_mode=force_fp16

动态转换:atc --model=yolov11n.onnx --framework=5 --output=yolov11n-body-fp16 --input_format=NCHW --input_shape="images:-1,3,640,640" --dynamic_batch_size="1,2,4,8,16" --log=error --soc_version=Ascend310 --precision_mode=force_fp16

两种方式得到的om模型,在推理耗时上基本上都是随着batch增加呈现线性增大,比方说我不设置batch时,模型推理耗时5ms,但是使用了batch=16时,耗时为80ms,差不多16倍;

问题1:我发现使用dynamic_batch_size,模型的输入都会按照设置的最大batch作为输入,在申请内存时,也会按照最大batch去申请,所以不知道dynamic_batch_size有什么作用?

问题2:为什么模型推理耗时上基本上都是随着batch增加呈现线性增大,不应该像GPU那样,在一定范围内,随着batch增加,模型的推理耗时基本上不会变,甚至更小吗?310上有什么方式可以做到该功能?

我要发帖子