本文主要是介绍pytorch 2.0 多线程并行,导致GPU利用100%,卡住,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
背景:
程序中有pytorch模型两个,yolov5,crnn。
之前无论是pth格式,还是TRT格式,并行的都没有问题。
最近发现,多线程ThreadPoolExecutor(max_workers=2)调用的时候,即单个进程内处理一张图像,依次是yolov5--->crnn模型,会导致GPU利用100%,卡住。
起初怀疑是:GPU显卡3090计算能力不够,但换成2080Ti后,依然卡住。
后来发现:卡住的pytorch是2.0,之前顺利运行的版本都是1.9.1+cu111。
后来把pytorch版本换回啦就好了。
具体换的方式是:直接把别的环境里装好的torch对应的库,拷贝现在的环境。
拷贝的内容包括torch、torch-1.9.1+cu111.dist-info、 torchvision、torchvision-0.10.1+cu111.dist-info 。文件所在的位置是:miniconda3/envs/XXX/lib/python3.8/site-packages/
这篇关于pytorch 2.0 多线程并行,导致GPU利用100%,卡住的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!