Ultralytics YOLOv8.0.202
Python-3.9.16
torch-1.13.1
CUDA:11.6 (NVIDIA GeForce GTX 1650, 4096MiB)
Yolov8在训练时box_loss cls_loss dfl_loss为nan和 Box(P R mAP50 mAP50-95)为0的问题
第一步:找到ultralytics\cfg\default.yaml中的default.yaml文件
将default.yaml中的amp设置为false
amp: False # (bool) Automatic Mixed Precision (AMP) training, choices=[True, False], True runs AMP check
将default.yaml中的half设置为false
half: False # (bool) use half precision (FP16)
第二步:
找到ultralytics\engine\validator.py中的validator.py文件
将self.args.half = self.device.type != 'cpu' # force FP16 val during training这行代码注释掉
# self.args.half = self.device.type != 'cpu' # force FP16 val during training
修改之后的代码为
self.training