解决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’)

浙公网安备 33010602011771号