win10 yolov8 训练问题集锦

1.win10cmd 命令行 训练

 要先激活虚拟环境,命令如下:

D: 
cd D:\\ultralytics-main\\venv\\Scripts 
activate.bat 
cd ..\\.. 
yolo  train data=D:\\ultralytics-main\\datasets\\zmbh.yaml model=D:\\ultralytics-main\\yolov8m epochs=5000 imgsz=640 batch=2 workers=4 device=0 amp=True half=True

2.固定文件夹images和labels名称,不能动,否则会出现 no labels found in detect set, can not compute metrics without labels错误

 测过了改utils.py 里面的images 为图片文件夹(如JPEGImages)名称,问题依然存在,所以还是按照yolov8规定的来。

 

3.运行yolov8报错:ValueError: not enough values to unpack (expected 3, got 0)

导致报这种错误的原因可能有多种:

  1.把项目.yaml文件中的数据集路径改为绝对路径,删除label中之前生成的.cache文件后重新运行。

  2.生成的train.txt和val.txt 里的文件路径错了,仔细检查下

4.Yolov8训练时box_loss、cls_loss、dfl_loss、Box(P、R、mAP都等于nan或0)

  1、训练的时候出现box_loss、cls_loss、dfl_loss都为nan的情况,需要将训练的时候的参数进行修改,设置amp=False

  2、修改之后训练的时候出现P、R、map值为NAN或者非常小,一般来说基于预训练模型来进行训练P、R、map的值都不会很低,如果出现0.0x这种一般是有点问题,这种情况可以尝试以下操作,需要到ultralytics/cfg文件目录下找到default.yaml的默认设置文件

  

    

 


  搜索half,将half改成False

  half: False # (bool) use half precision (FP16)

  3.然后还需要将ultralytics/engine目录下的validator进行注释,用好的显卡注意改过来

  #self.args.half = self.device.type != "cpu" # force FP16 val during training

posted on 2024-08-29 15:07  NLazyo  阅读(193)  评论(0编辑  收藏  举报