yolov8、RTDETR无法使用多个GPU训练
网上看了好多解决方法:
什么命令行 CUDA_VISIBLE_DEVICES=0,1 python train.py
环境变量都不行
最后找到解决方案:在ultralytics/engine/trainer.py
中的第246行
将
self.model = DDP(self.model, device_ids=[RANK])
改为下面的代码即可,什么其他命令行啊,
if world_size > 1:# self.model = DDP(self.model, device_ids=[RANK])self.model = nn.parallel.DistributedDataParallel(self.model, device_ids=[RANK], find_unused_parameters=True)