yolov10 icon indicating copy to clipboard operation
yolov10 copied to clipboard

(bug_fix)24.6.13下载版本中关于多卡训练DDP运行失败,报ModuleNotFoundError的原因及解决办法。

Open axhionning opened this issue 8 months ago • 1 comments

单卡训练不报错,但是多卡训练报错,如下: image 原因为生成DDP训练命令行时指定运行的的py文件为临时文件,临时文件位置不在项目下,无法索引到包,可以在生成py文件的ultralytics/utils/dist.py的类generate_ddp_file中添加指引路径的内容: image 或者直接修改ultralytics/utils/dist.py的类generate_ddp_command,使生成的DDP command直接运行开启训练的py文件,修改如下,先在dist.py前面添加(python3.9实测可以,别的python版本请自行确认): import re from pathlib import Path

然后将类generate_ddp_command类中的: file = generate_ddp_file(trainer) 改为: file = str(Path(sys.argv[0]).resolve()) safe_pattern = re.compile(r'^[a-zA-Z0-9_. /\\-]{1,128}$') # allowed characters and maximum of 100 characters if not (safe_pattern.match(file) and Path(file).exists() and file.endswith('.py')): # using CLI file = generate_ddp_file(trainer)

修改完成后,DDP命令中运行开启训练的py文件,训练正常进行: image

csdn博客:关于yolov10-DDP训练失败的问题及解决办法

axhionning avatar Jun 13 '24 09:06 axhionning