训练DiT报错ERROR:torch.distributed.elastic.multiprocessing.api:failed (exitcode: -9) local_rank: 0

avatar
作者
筋斗云
阅读量:0

运行Dit时,torchrun --nnodes=1 --nproc_per_node=8 train.py --model DiT-XL/2 --data-path /home/pansiyuan/jupyter/qianyu/data

遇到报错

1 完整报错

2 报错关键位置

ERROR:torch.distributed.elastic.multiprocessing.api:failed (exitcode: -9)local_rank: 0 (pid: 83746) of binary: /opt/conda/bin/python Traceback (most recent call last):

torch.distributed.elastic.multiprocessing.errors.ChildFailedError

解决办法:

此时是多卡计算看不到报错信息

采用单卡
torchrun --nnodes=1 --nproc_per_node=1 train.py --model DiT-XL/2 --data-path /home/pansiyuan/jupyter/qianyu/data

单卡之后报错结果是数据集找不到

没有找到文件args,data_path是不是出问题了

值得注意的是这里的DiT给的路径data_path等等,在train.py文件arg里面都是用的不是下划线

注意这里的指令也需要下划线
torchrun --nnodes=1 --nproc_per_node=8 train.py --model DiT-XL/2 --data-path /home/pansiyuan/jupyter/qianyu/data/train

args.data_path

修改后,再次尝试调小batch就行

如果使用7张卡设置batch size为256就就如下报错,因为无法整除

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!