Giter Club home page Giter Club logo

Comments (4)

github-actions avatar github-actions commented on May 17, 2024

👋 Hello @GabrielRMx, 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):

Status

YOLOv5 CI

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.

glenn-jocher avatar glenn-jocher commented on May 17, 2024

Hello! 😊

It looks like your concern revolves around the size of the best.pt model file after training YOLOv5n on your custom dataset. The increase in size compared to the official YOLOv5n model size is likely due to the inclusion of optimizer states in your trained model file.

When you train a model, additional information besides the model weights, such as optimizer states and potentially extra layers tailored to your specific dataset, can be included in the .pt file. This is a common reason for the file size increase.

Given that your training command seems properly configured for a YOLOv5n training, to reduce the size of your best.pt file closer to the official size, you might consider using the --save-weights-only flag in your training command. This way, only the model weights are saved, excluding optimizer information, which can significantly reduce the file size.

However, the stripped best.pt model file you referenced is actually at 14.9MB, which suggests the optimizer has already been stripped out. So, the size difference is likely due to the model adapting to your custom dataset, which might result in a slightly larger file due to the customization process.

For further optimization options and detailed insights into managing model sizes, feel free to refer to the Ultralytics documentation: Ultralytics Docs.

Keep up the good work with your YOLOv5n project! If you have more questions, we're here to help.

from yolov5.

GabrielRMx avatar GabrielRMx commented on May 17, 2024

Thank you for your quick response. The information has been very useful to me, but i got another question. Exactly what should I take into account when preparing my custom dataset to obtain good results and good inference times like those of the official yolov5n model? My goal is actually to achieve the performance of official yolov5n model with my custom dataset, but what I get when training is a model with more size and slower

from yolov5.

glenn-jocher avatar glenn-jocher commented on May 17, 2024

@GabrielRMx hello! 😊 I'm glad to hear the information was helpful! Achieving good results and fast inference times with your custom dataset, similar to the official YOLOv5n model, involves optimizing a few key aspects:

  1. Dataset Quality: Ensure your images are of good quality and the annotations are accurate. The variance in the dataset should represent the real-world scenarios where the model will be deployed.

  2. Image Size: Training with the same image resolution as the official YOLOv5n model can help match its inference speed. Adjusting the --img-size parameter to match the YOLOv5n's default (usually 640) can be a good starting point.

  3. Model Complexity: Stay with simpler models (like yolov5n) for faster inference. Customizing network architecture might increase the model size and reduce inference speed.

  4. Batch Size and Epochs: A larger batch size and more epochs could potentially increase model size due to overfitting. Use early stopping or monitor your validation loss to avoid overfitting.

  5. Pruning and Quantization: After training, you can look into model pruning and quantization techniques to reduce the model size and speed up inference, though this might require additional tools or frameworks.

  6. Optimization Flags: When training, use optimization flags like --cache or --weights yolov5n.pt to start from pretrained weights.

Remember, achieving balance between speed, size, and accuracy often requires experimentation and fine-tuning. Each dataset is unique, and slight modifications might be needed to match the performance of the official models closely.

Here is an example adjustment to consider in your training command for maintaining the balance:

!python train.py --img 640 --batch 32 --epochs 100 --data your_dataset.yaml --cfg yolov5n.yaml --weights yolov5n.pt --cache

Adjust --batch and --epochs based on your dataset size and training capabilities for a start. Keep iterating! You're on the right path.

from yolov5.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.