Comments (6)
@kanis777 hello ๐,
Thanks for your detailed query! When training YOLOv5 on a single class, please double-check the following in your setup:
-
YAML Configuration: Ensure that the
nc
(number of classes) is set to 1, and thenames
field contains only one class name. -
Data Labels: Verify that all label files only contain the class index 0 since you have only one class (persons).
-
Model Output: Sometimes, predictions for single classes can be hard to spot if the model hasn't sufficiently learned. Try lowering your confidence threshold temporarily for the predictions with the command
--conf-thres 0.1
when running detections to see if any low confidence predictions are being made.
If issues persist, adjusting learning rates or training for more epochs could also help improve detection.
If no bounding boxes are displayed at all, it may suggest the model hasn't learned effective features for that class, suggesting a possible need for hyperparameter tuning or more training data.
Keep up the efforts, and reach out if you have more questions! ๐
from yolov5.
๐ Hello @kanis777, 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 a minimum reproducible example to help us debug it.
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.
Requirements
Python>=3.8.0 with all requirements.txt installed including PyTorch>=1.8. To get started:
git clone https://github.com/ultralytics/yolov5 # clone
cd yolov5
pip install -r requirements.txt # install
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):
- Notebooks with free GPU:
- Google Cloud Deep Learning VM. See GCP Quickstart Guide
- Amazon Deep Learning AMI. See AWS Quickstart Guide
- Docker Image. See Docker Quickstart Guide
Status
If this badge is green, all YOLOv5 GitHub Actions Continuous Integration (CI) tests are currently passing. CI tests verify correct operation of YOLOv5 training, validation, inference, export and benchmarks on macOS, Windows, and Ubuntu every 24 hours and on every commit.
Introducing YOLOv8 ๐
We're excited to announce the launch of our latest state-of-the-art (SOTA) object detection model for 2023 - YOLOv8 ๐!
Designed to be fast, accurate, and easy to use, YOLOv8 is an ideal choice for a wide range of object detection, image segmentation and image classification tasks. With YOLOv8, you'll be able to quickly and accurately detect objects in real-time, streamline your workflows, and achieve new levels of accuracy in your projects.
Check out our YOLOv8 Docs for details and get started with:
pip install ultralytics
from yolov5.
Thank you for replying
This is how my yaml file looks . So , I dont think the mistakes lie there.
I have about a total of 36 images - 20 for training 7 for testing and 7 for validation
In yolov5/runs/train/exp4
Train_batch0
Train_batch1
Train_batch2
val batch0_labels
val batch0_pred
![confusion_matrix](https://github.com/ultralyti
cs/yolov5/assets/106160864/88d1b09c-799a-4736-83bb-42cf231b5c66)
![R_curve](https://github.com/ultralytics/yolov5/assets
/106160864/92dcb683-c4ee-4cde-8b7e-0a0133486d25)
Annotation is not the problem - I have got the pytorch yolov5 zip from roboflow . and i checked using bounding boxes .
I am setting the epochs to only 10
My doubt is if it is able to label ... then y cant it predict .
Maybe as u said the size is the problem . I will try out another dataset aswell . But if u can , I would like u to explain y can it label but not predict - is the labeling utilizing annotated data instead of labeling on its own ??
from yolov5.
Hello @kanis777,
Thanks for sharing the details and images from your training process. It looks like your YAML configuration is set up correctly.
Given your scenario, it's important to note that during training, the labels shown (e.g., train_batch0_labels
, val_batch0_labels
) are directly from your annotated dataset, not predictions by the model. These are used to guide the model's learning process.
The val_batch0_pred
images, on the other hand, show the model's predictions based on what it has learned. If these predictions are missing or incorrect, it typically indicates that the model hasn't yet learned to generalize well from the training data provided. This could be due to several reasons:
- Insufficient training data: 36 images in total might be too few to effectively train the model, especially for complex tasks like person detection.
- Underfitting: Since you're only training for 10 epochs, the model might not have had enough iterations to learn effectively from the data.
You might consider increasing the number of epochs or using a dataset with more images. Additionally, experimenting with different learning rates or augmentation strategies could also help improve model performance.
Keep experimenting, and don't hesitate to reach out if you have more questions! ๐
from yolov5.
Thanks for replying back . It helped !!!
from yolov5.
You're welcome! I'm glad to hear that the information was helpful. If you have any more questions as you continue working with YOLOv5 or run into any challenges, feel free to reach out. Happy coding! ๐
from yolov5.
Related Issues (20)
- RuntimeError: Caught RuntimeError in replica 0 on device 0 HOT 2
- How to modify the network structure of the YOLOv5 classification model HOT 4
- 'RandomSampler' object has no attribute 'set_epoch' HOT 2
- Hyperparameters explanation HOT 4
- Suppress torch.hub.load() Output HOT 8
- How can I save the detections Yolov5 makes when he's working with a camera source? HOT 4
- How to specify yolov5 to train multiple folders? HOT 1
- pulling out model's layer intermediates HOT 2
- Continuous training of a Ultralytics Model HOT 4
- Exporting trained yolov5 model (trained on custom dataset) to 'saved model' format changes the no. of classes and the name of classes to default coco128 values HOT 2
- more details about training procedure HOT 4
- divide the objects into small and large categories based on the size of the bonding boxes HOT 8
- Request for YOLOv5 v6.2 Source Code under GPL-3.0 License HOT 4
- What prevents me from using the AMP function๏ผ HOT 4
- What prevents me from using the AMP function๏ผ HOT 1
- What prevents me from using the AMP function๏ผ HOT 1
- Background annotation HOT 6
- Hi @7rkMnpl, HOT 2
- Multiple GPU Hyperparameter evolution HOT 5
- Marking YOLOv5 Detection Text Outputs with TP or FP HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. ๐๐๐
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from yolov5.