Replies: 2 comments 6 replies
-
|
👋 Hello @mwelliott, thanks for sharing these detailed results and for using Ultralytics 🚀. This is an automated response to help you get support quickly — an Ultralytics engineer will also assist you here soon. We recommend a visit to the Docs for new users where you can find many Python and CLI usage examples and where many of the most common questions may already be answered. If this is a 🐛 Bug Report regarding validation discrepancies, please provide a minimum reproducible example (MRE) to help us debug it. For this case, please include:
If this is a custom training ❓ Question, please provide as much information as possible, including dataset image examples and training logs, and verify you are following our Tips for Best Training Results. 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. |
Beta Was this translation helpful? Give feedback.
-
|
Can you post your training command and the exact name of the model you trained? |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Howdy! I just had a 200 epoch object detection training session complete - this consisted of around 55k images and 130k~ bounding boxes.
As you know, once training completes we get some validation metrics. Here are the last few lines of the training, showing the last 2 epochs and then the validation output:
I noticed that some of the classes had very low precision and map50-95 in the validation results, which doesn't seem to line up with the overall metrics we see via the individual epochs output. It also doesn't line up with real world usage, as these classes are very accurate (like left_chest and right_chest). So, I then ran the validation again manually using the same config, dataset, and environment immediately after the training completed. Essentially just immediately thought - hey, something is strange, let me run validation again. Here are the results of that:
Interestingly- now the precision, recall, and mAP numbers are a lot higher. And they seem to align much better with what the individual epoch runs were showing in their rolled up metrics. Is this a bug, or am I just not understanding how these validation metrics work after a training run completes? I'd love to know - thank you so much for any knowledge or insights! :)
Quick edit - I am using Ultralytics 8.3.179 and this is a yolo11x model. Python version is 3.11.9
Beta Was this translation helpful? Give feedback.
All reactions