YOLOv8运行出错:ValueError: Invalid CUDA ‘device=1‘ requested. Use ‘device=cpu‘ or pass valid CUDA device

在训练 YOLOv8时,创建了一个train.py来运行代码,train.py代码如下:

from ultralytics import YOLO

# Load a model
model = YOLO("yolov8s.yaml")  # build a new model from scratch
model = YOLO("yolov8s.pt")  # load a pretrained model (recommended for training)

# Use the model
model.train(data="ultralytics/cfg/datasets/coco128.yaml", epochs=100, imgsz=640,
                      device=0,resume=True,lr0=0.01,batch=16)  # train the model

但是运行一直报这个错误:

 后来将代码改为即可运行,修改如下:

from ultralytics import YOLO


 # Load a model
model = YOLO("yolov8s.yaml")  # build a new model from scratch
model.load("yolov8s.pt")  # load a pretrained model (recommended for training)

# # Train the model
model.train(data="ultralytics/cfg/datasets/coco128.yaml", epochs=100, imgsz=640,
                      device=0,resume=True,lr0=0.01,batch=16)

—————————————————2024.3.16更新———————————————————

看到很多评论说好像两段代码没有什么区别,确实是的,只有这一句model = YOLO("yolov8s.pt")变成了model.load("yolov8s.pt");当时确实是这样改就能正常运行。

为了再次跑出这个问题,我又重新配了个新环境,按照以前的方式从头配置YOLOv8,新问题不少,但是这个问题始终没有出现,在github官方代码上,很多人也出现了相似的问题,也有一些解决方案,大家可以去看一看,说不定就能解决这个问题。

这次运行出现的新问题1:

解决方法:

根据这篇解决 RuntimeError: An attempt has been made to start a new process before the current process......-CSDN博客

在代码中添加if __name__ =='__main__':

from ultralytics import YOLO

if __name__ == 'main':
     # Load a model
    model = YOLO("yolov8s.yaml")  # build a new model from scratch
    model.load("yolov8s.pt")  # load a pretrained model (recommended for training)

    # Train the model
    model.train(data="ultralytics/cfg/datasets/coco128.yaml", epochs=100, imgsz=640,
                      device=0,resume=True,lr0=0.01,batch=16)

问题2:报错:SyntaxError: 'fl_gamma' is not a valid YOLO argument.

解决方法:根据这篇博客的评论区,解决【SyntaxError: ‘fl_gamma‘ is not a valid YOLO argument.】——YOLOv8_syntaxerror: 'image_weights' is not a valid yolo a-CSDN博客

改变这两句代码的位置就可以了:

原先:

model = YOLO("yolov8s.yaml")  # build a new model from scratch
model.load("yolov8s.pt")  # load a pretrained model (recommended for training)

调换后:

model.load("yolov8s.pt")  # load a pretrained model (recommended for training)
model = YOLO("yolov8s.yaml")  # build a new model from scratch

  • 8
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 20
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 20
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值