当前位置:   article > 正文

torch.distributed.elastic.multiprocessing.api: [WARNING] Sending process 141——YOLOv8双卡训练报错的解决方法_yolov8多卡训练不了

yolov8多卡训练不了

Ultralytics开源的YOLOv8训练模型的时候——使用如下命令,双GPU部署训练

yolo train data=D:/YOLO_V8/ultralytics-main/ultralytics-main/ultralytics/cfg/datasets/mydata.yaml model=yolov8n.pt epochs=650 imgsz=640 batch=256 workers=0 patience=200 device=0,1

抛出异常

torch.distributed.elastic.multiprocessing.api: [WARNING] Sending process 141
ERROR:torch.distributed.elastic.multiprocessing.api:failed (exitcode: -7) local_rank: 0 (pid: 340) of binary: /root/miniconda3/envs/llama/bin/python
torch.distributed.elastic.multiprocessing.errors.ChildFailedError
subprocess.CalledProcessError: Command '['D:\\Anaconda\\envs\\YOLO8\\python.exe', '-m', 'torch.distributed.run', '--nproc_per_node', '2', '--master_port', '58127', 'C:\\Users\\amax\\AppData\\Roaming\\Ultralytics\\DDP\\_temp_8gd8 22v32514268826352.py']' returned non-zero exit status 1.

而使用SingleGPU则不会抛出异常

 yolo train data=D:/YOLO_V8/ultralytics-main/ultralytics-main/ultralytics/cfg/datasets/mydata.yaml model=yolov8n.pt epochs=650 imgsz=640 batch=256 workers=0 patience=200 device=0

这是由于上一次双卡训练直接在pycharm的terminal里面直接Ctrl+C按下去,然后终止了训练,这样可能导致了进程没有完全杀死,没有释放该进程。需要重启电脑。

还有一种解决方法就是,去跑另外的一份python训练AI模型的程序,同样使用同一款pycharm或者vscode训练,然后关闭terminal杀死另一个不相干的训练进程。然后再次打开本训练,有概率就可以继续双卡Multi GPU Training了 

如若重启电脑也不行的话,就考虑环境的问题(需要匹配cuda与torch的版本一一对应上才可以)这个目前没有更好的解决方案,后续再发生这样的报错,找到了更好的解决方案,会再试一下

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/163909
推荐阅读
相关标签
  

闽ICP备14008679号