RuntimeError: Cannot re-initialize CUDA in forked subprocess.
·
RuntimeError: Cannot re-initialize CUDA in forked subprocess. To use CUDA with multiprocessing, you must use the 'spawn' start method.
分析:在Python3中使用 spawn 或 forkseverver 启动方法才支持在进程之间共享CUDA张量。而multiprocessing 是使用 fork 创建子进程,不被 CUDA 运行时所支持。
解决方案:
1、设置工作模式:
if __name__=='__main__':
torch.multiprocessing.set_start_method('spawn')
2、直接设置num_workers=0
更多推荐

所有评论(0)