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

计算机视觉-Archer 2024-10-07 11:37:01 阅读 77

运行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就就如下报错,因为无法整除



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。