问题描述:
今天跑YOLOv8报错:“subprocess.CalledProcessError: Command '['/home/XXX/anaconda3/envs/DL/bin/python', '-m', 'torch.distributed.run', '--nproc_per_node', '4', '--master_port', '34305', '/local/XXX/yolov8_AFPN/train.py']' returned non-zero exit status 1.”
花了一下午终于解决了报错问题
解决办法:
参考网上教程,在 DistributedDataParallel 中加入
find_unused_parameters=True
对应在YOLOv8里面调价的位置是:文件夹engine里面的train.py文件
在train.py文件里搜索DDP,大约是240行左右添加即可!
self.model = DDP(self.model, device_ids=[RANK], find_unused_parameters=True)
最终!好歹是运行上啦!