当前位置:   article > 正文

YOLOv8常见错误汇总_yolov8运行时amp被禁用

yolov8运行时amp被禁用

1.训练过程中loss出现Nan值.

可以尝试关闭AMP混合精度训练,如何关闭amp呢?找到如下文件'ultralytics/cfg/default.yaml',其中有一个参数是

amp: False  # (bool) Automatic Mixed Precision (AMP) training, choices=[True, False], True runs AMP check

将其设置为False即可,默认时为True。

或在在自己建立的train.py中将amp=False,

2.多卡训练问题,修改模型以后不能支持多卡训练可以尝试下面的两行命令行操作,两个是不同的操作,是代表不同的版本现尝试第一个不行用第二个

python -m torch.distributed.run --nproc_per_node 2 train.pypython -m torch.distributed.launch --nproc_per_node 2 train.py

3.针对运行过程中的一些报错解决

1.如果训练的过程中验证报错了(主要是一些形状不匹配的错误这是因为验证集的一些特殊图片导致)就是有这种训练第一个epochs完成后开始验证的时候报错

图片

找到ultralytics/models/yolo/detect/train.py的DetectionTrainer class中的build_dataset函数中的rect=mode == 'val'改为rect=False

2.推理的时候运行detect.py文件报了形状不匹配的错误

找到ultralytics/engine/predictor.py找到函数def pre_transform(self, im),在LetterBox中的auto改为False

3.训练的过程中报错类型不匹配的问题

找到'ultralytics/engine/validator.py'文件找到 'class BaseValidator:' 然后在其'__call__'中self.args.half = self.device.type != 'cpu'  # force FP16 val during training的一行代码下面加上self.args.half = False

4.针对yaml文件中的nc修改

 不用修改,模型会自动根据你数据集的配置文件获取。

这也是模型打印两次的区别,第一次打印出来的就是你选择模型的yaml文件结构,第二次打印的就是替换了你数据集的yaml文件,模型使用的是第二种。

5.训练过程中不打印GFLOpS

计算的GFLOPs计算异常不打印,所以需要额外修改,找到文件'ultralytics/utils/torch_utils.py'文件内有如下的代码按照如下的图片进行修改,大家看好函数就行,其中红框的640可能和你的不一样, 然后下面代码替换掉整个代码即可。

图片

def get_flops(model, imgsz=640):    """Return a YOLO model's FLOPs."""    try:        model = de_parallel(model)        p = next(model.parameters())        # stride = max(int(model.stride.max()), 32) if hasattr(model, 'stride') else 32  # max stride        stride = 640        im = torch.empty((1, 3, stride, stride), device=p.device)  # input image in BCHW format        flops = thop.profile(deepcopy(model), inputs=[im], verbose=False)[0] / 1E9 * 2 if thop else 0  # stride GFLOPs        imgsz = imgsz if isinstance(imgsz, list) else [imgsz, imgsz]  # expand if int/float        return flops * imgsz[0] / stride * imgsz[1] / stride  # 640x640 GFLOPs    except Exception:        return 0

6.mmcv安装的解决方法

mmcv-full经常会安装失败,因为自身系统的编译工具有问题,也有可能是环境之间安装的有冲突 推荐离线安装的形式,下面的地址中找自己的版本,下载到本地进行安装。​​​​​​​

https://download.openmmlab.com/mmcv/dist/cu111/torch1.8.0/index.html https://download.openmmlab.com/mmcv/dist/index.html
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/酷酷是懒虫/article/detail/794250
推荐阅读
相关标签
  

闽ICP备14008679号