在之前实现了torch转tensorRT加速后,发现推理速度确实大幅加快了,加速效果见
【torch-onnx-tensorRT加速】torch转tensorRT后加速效果
以及使用onnx实现tensorRT速度的方式:
torch转onnx模型加速,onnx模型推理直接达到tensorRT速度,省去onnx转tensorRT的流程

问题

但是,发现在使用深度学习模型基于GPU进行推理过程时,前几个批次格外的慢,正常跑起来后每次循环只要50ms,但第一个批次的时间要好几秒,后续速度逐渐加快,平稳后达到50ms每批次。

所以严重影响了整体的平均速度,通过搜索发现应该是由于GPU或CUDA需要预热,比如一些显存的开辟、数据交换等,解决方法就是在开始正式推理前,先让推理模型运行几次,以python为例

import torch 
input = torch.randn((batch, x, y, z), device='cuda')
for _ in range(n_warm):
	out = inference_model(input)

使用循环进行模型预热后的验证效果

待更新

参考:
https://blog.csdn.net/z240626191s/article/details/126291864
https://blog.csdn.net/qq_40231159/article/details/120901785

Logo

欢迎来到FlagOS开发社区,这里是一个汇聚了AI开发者、数据科学家、机器学习爱好者以及业界专家的活力平台。我们致力于成为业内领先的Triton技术交流与应用分享的殿堂,为推动人工智能技术的普及与深化应用贡献力量。

更多推荐