serendipity light 2024-07-15 16:54 采纳率: 0%
浏览 8

单机多卡分布式训练图像生成模型,在训练完一个epoch总是报错如下错误,请问是什么原因?有没有解决方法

Traceback (most recent call last):
File "D:\gxx\VQ-Diffusion1\train.py", line 169, in
main()
File "D:\gxx\VQ-Diffusion1\train.py", line 125, in main
launch(main_worker, args.ngpus_per_node, args.num_node, args.node_rank, args.dist_url, args=(args,))
File "D:\gxx\VQ-Diffusion1\image_synthesis\distributed\launch.py", line 41, in launch
mp.spawn(
File "C:\anaconda3\envs\vqdiff\lib\site-packages\torch\multiprocessing\spawn.py", line 240, in spawn
return start_processes(fn, args, nprocs, join, daemon, start_method='spawn')
File "C:\anaconda3\envs\vqdiff\lib\site-packages\torch\multiprocessing\spawn.py", line 198, in start_processes
while not context.join():
File "C:\anaconda3\envs\vqdiff\lib\site-packages\torch\multiprocessing\spawn.py", line 131, in join
process.terminate()
File "C:\anaconda3\envs\vqdiff\lib\multiprocessing\process.py", line 133, in terminate
self._popen.terminate()
File "C:\anaconda3\envs\vqdiff\lib\multiprocessing\popen_spawn_win32.py", line 123, in terminate
_winapi.TerminateProcess(int(self._handle), TERMINATE)
PermissionError: [WinError 5] 拒绝访问。

  • 写回答

3条回答 默认 最新

  • 专家-赤兔[在线] 优质创作者: 编程框架技术领域 2024-07-15 16:55
    关注

    引自免费微信小程序:皆我百晓生

    这个问题是由于尝试在Windows系统上运行torch.multiprocessing.spawn()导致的权限问题。这个问题可以通过以下步骤解决:

    1. 在命令提示符(cmd)中,输入以下命令并按Enter键:

      python -m pip install torch
      
    2. 然后重新运行你的脚本。

    3. 如果仍然遇到问题,可以尝试以下步骤之一:

      a. 将你的脚本保存为.py文件,并将.py扩展名更改为.exe

      b. 使用PyInstaller打包你的脚本到一个独立的可执行文件中。这将在命令行中运行脚本时为您提供更多的控制权,包括设置环境变量和指定参数。

      c. 尝试使用Python 3.x版本的torch.multiprocessing.spawn()替换旧版的torch.multiprocessing.spawn(),因为新版本应该解决了这个兼容性问题。

    如果你已经按照以上步骤进行了修改,但仍然遇到问题,请提供详细的错误信息和您的机器配置,以便进一步诊断和解决。

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 7月15日