本文主要是介绍多线程libtorch推理问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一、环境
我出问题的测试环境如下:
pytorch1.10+cu113
pytorch1.10+cu116
pytorch2.2+cu118
libtorch1.10.1+cu113
libtorch1.10.1+cu111
libtorch1.9.0+cu111
二、问题现象
最近封装libtorch的推理为多线程推理的时候,遇到一个现象如下:
(1)只要是将模型初始化放到一个子线程中,就在40系列显卡上运行到forward处报错:
但是在30系列的显卡上,是没有任何问题的。
注:使用std::async(std::launch::async)这个函数执行模型初始化的线程函数时候确是可以的,这个就很让人奇怪。
(2)解决方法
最后发现是我在推理的时候加入了:
t
这篇关于多线程libtorch推理问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!