Training Yolo on a custom 3 class dataset #25669
|
Training YOLOv9-C on a custom 3-class dataset (batch 16, imgsz 640, AdamW), mAP50 plateaus at 0.71 after epoch 80 despite loss still decreasing on both box and cls terms. Is this a sign of label noise, or is box loss just converging slower than cls at this stage? |
Replies: 2 comments 1 reply
|
👋 Hello @TeddyxDaou, thank you for your interest in Ultralytics 🚀! This is an automated response, and an Ultralytics engineer will also assist you soon. We recommend visiting the Docs for new users, where you can find many Python and CLI usage examples and where many common questions may already be answered. For this custom training ❓ question, please provide as much information as possible, including:
Please also verify that you are following our Tips for Best Training Results. If this is a 🐛 bug report, please provide a minimum reproducible example to help us debug it. Join the Ultralytics community where it suits you best. For real-time chat, head to Discord 🎧. Prefer in-depth discussions? Check out Discourse. Or dive into threads on our Subreddit to share knowledge with the community. UpgradeUpgrade to the latest pip install -U ultralyticsEnvironmentsYOLO may be run in any of the following up-to-date verified environments, with all dependencies including CUDA/CUDNN, Python and PyTorch preinstalled:
StatusIf this badge is green, all Ultralytics CI tests are currently passing. CI tests verify correct operation of all YOLO Modes and Tasks on macOS, Windows, and Ubuntu every 24 hours and on every commit. |
|
These aren't mutually exclusive, and I'd check per-class AP first before deciding between them; if one class has much lower AP than the others, that points more toward label noise/class imbalance rather than pure convergence speed. If box loss is still dropping meaningfully while cls loss has basically flattened, that's a pretty normal decoupling since box regression usually takes longer to converge than classification, so I wouldn't read that alone as a problem. Also worth checking if val mAP and train mAP are both plateauing together or diverging, since a growing gap there would point more toward overfitting/noise than pure slow convergence. |
These aren't mutually exclusive, and I'd check per-class AP first before deciding between them; if one class has much lower AP than the others, that points more toward label noise/class imbalance rather than pure convergence speed. If box loss is still dropping meaningfully while cls loss has basically flattened, that's a pretty normal decoupling since box regression usually takes longer to converge than classification, so I wouldn't read that alone as a problem. Also worth checking if val mAP and train mAP are both plateauing together or diverging, since a growing gap there would point more toward overfitting/noise than pure slow convergence.