ultralytics / yolov5

YOLOv5 🚀 in PyTorch > ONNX > CoreML > TFLite
https://docs.ultralytics.com
GNU Affero General Public License v3.0
50.35k stars 16.25k forks source link

What name and where is the result files are read during plotting confusion matrix #6140

Closed uzuco closed 2 years ago

uzuco commented 2 years ago

Search before asking

Question

Hello. I am beginner of yolo and need a help about confusion matrix. I am trying to make an original confusion matrix, but could not find result reading part in metrics.py/train.py script. Could you tell me at where and what name of the file should be read by scripts? If it is reading weights, could you also tell me the writing orders( ...like what is in columns and rows ) of the weights file? Thanks!

Additional

No response

github-actions[bot] commented 2 years ago

👋 Hello @uzuco, thank you for your interest in YOLOv5 🚀! Please visit our ⭐️ Tutorials to get started, where you can find quickstart guides for simple tasks like Custom Data Training all the way to advanced concepts like Hyperparameter Evolution.

If this is a 🐛 Bug Report, please provide screenshots and minimum viable code to reproduce your issue, otherwise we can not help you.

If this is a custom training ❓ Question, please provide as much information as possible, including dataset images, training logs, screenshots, and a public link to online W&B logging if available.

For business inquiries or professional support requests please visit https://ultralytics.com or email Glenn Jocher at glenn.jocher@ultralytics.com.

Requirements

Python>=3.6.0 with all requirements.txt installed including PyTorch>=1.7. To get started:

$ git clone https://github.com/ultralytics/yolov5
$ cd yolov5
$ pip install -r requirements.txt

Environments

YOLOv5 may be run in any of the following up-to-date verified environments (with all dependencies including CUDA/CUDNN, Python and PyTorch preinstalled):

Status

CI CPU testing

If this badge is green, all YOLOv5 GitHub Actions Continuous Integration (CI) tests are currently passing. CI tests verify correct operation of YOLOv5 training (train.py), validation (val.py), inference (detect.py) and export (export.py) on MacOS, Windows, and Ubuntu every 24 hours and on every commit.

glenn-jocher commented 2 years ago

@uzuco YOLOv5 automatically creates confusion matrices on training end or by calling val.py directly:

image

uzuco commented 2 years ago

Thanks for the comment @glenn-jocher . I could find the confusion matrix that you sent me after running train.py script. But I have to customize that the chart (like picking up several classes) for previous runs. Are TP, TN, FN, FP values stored in arrays or parameters?

glenn-jocher commented 2 years ago

@uzuco yes you can customize the confusion matrix here: https://github.com/ultralytics/yolov5/blob/affa284352fa6d094d32fe2be69dbffe36bd20f8/utils/metrics.py#L117-L199

uzuco commented 2 years ago

@glenn-jocher I will try that. Thank you so much for your kind help!