yhygao / CBIM-Medical-Image-Segmentation

A PyTorch framework for medical image segmentation
Apache License 2.0
260 stars 46 forks source link

train_ddp.py卡住 #17

Closed zdy21 closed 1 year ago

zdy21 commented 1 year ago

我在运行python train_ddp.py --model attention_unet --dimension 3d --dataset acdc --batch_size 32 --unique_name acdc_attention_unet_3d_ddp --gpu 0,1,2,3,4,5,6,7时,终端显示[INFO] 2023-03-09 10:50:07 train_ddp.py:253 Use EMA model for evaluation之后就没有日志更新了,检查发现是一直卡顿在mp.spawn(fn=main_worker, nprocs=ngpus_per_node, args=(ngpus_per_node, fold_idx, args, result_dict))这一行,请问怎么样解决这个问题?感谢任何回复!

yhygao commented 1 year ago

通常这个是main_worker里面有运行错误,但是ddp的时候一般不会抛出来。你可以用相同的配置跑train.py来debug,单卡的情况下会正常报错。另外batch size 32是不是有点大了,一般数据量小的情况下设置这么大的batch size最后训出来效果不太好, 2-6可能就够了。我这边也试一下你这个配置,但是我这几天服务器硬盘挂了,得花点时间重新处理数据,有结果了我跟你update

yhygao commented 1 year ago

我这边用train_ddp.py 两块卡batch size 4是能正常运行的。如果你那边日志更新到 EMA model这就没了的话,那应该是后面数据集报错了。只能是training/dataset/dim3/dataset_acdc.py这个文件里20-41行的错,估计是25行读文件的问题。你检查下配置文件里data_root有没有设置成正确的路径。