解决pytorch多线程共享全局变量问题:Cannot re-initialize CUDA in forked subprocess. To use CUDA with multiprocessing

原因:在Python3中使用 spawn 或 forkseverver 启动方法才支持在进程之间共享CUDA张量。而我是用的multiprocessing 是使用 fork 创建子进程,不被 CUDA 运行时所支持

在程序最开始的地方加上:

torch.multiprocessing.set_start_method(‘spawn’)

 

posted @ 2022-07-13 09:19  一只小羊  阅读(2610)  评论(0编辑  收藏  举报