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了 文章来源:https://www.toymoban.com/news/detail-761500.html
如若重启电脑也不行的话,就考虑环境的问题(需要匹配cuda与torch的版本一一对应上才可以)这个目前没有更好的解决方案,后续再发生这样的报错,找到了更好的解决方案,会再试一下文章来源地址https://www.toymoban.com/news/detail-761500.html
到了这里,关于torch.distributed.elastic.multiprocessing.api: [WARNING] Sending process 141——YOLOv8双卡训练报错的解决方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!