yolov5/CONTRIBUTING.md

5.3 KiB
Raw Permalink Blame History

Ultralytics logo

Contributing to YOLO 🚀

We value your input and are committed to making contributing to YOLO as easy and transparent as possible. Whether you're:

  • Reporting a bug
  • Discussing the current state of the codebase
  • Submitting a fix
  • Proposing a new feature
  • Interested in becoming a maintainer

Ultralytics YOLO thrives thanks to the collective efforts of our community. Every improvement you contribute helps push the boundaries of what's possible in AI! 😃

🛠️ Submitting a Pull Request (PR)

Submitting a PR is straightforward! Heres an example showing how to update requirements.txt in four simple steps:

1. Select the File to Update

Click on requirements.txt in the GitHub repository.

PR_step1

2. Click 'Edit this file'

Find the 'Edit this file' button in the top-right corner.

PR_step2

3. Make Your Changes

For example, update the matplotlib version from 3.2.2 to 3.3.

PR_step3

4. Preview Changes and Submit Your PR

Click the Preview changes tab to review your updates. At the bottom, select 'Create a new branch for this commit', give your branch a descriptive name like fix/matplotlib_version, and click the green Propose changes button. Your PR is now submitted for review! 😃

PR_step4

PR Best Practices

To ensure your work is integrated smoothly, please:

  • Make sure your PR is up-to-date with the ultralytics/yolov5 master branch. If your branch is behind, update it using the 'Update branch' button or by running git pull and git merge master locally.

Screenshot 2022-08-29 at 22 47 15

  • Ensure all YOLO Continuous Integration (CI) checks are passing.

Screenshot 2022-08-29 at 22 47 03

  • Limit your changes to the minimum required for your bug fix or feature.
    "It is not daily increase but daily decrease, hack away the unessential. The closer to the source, the less wastage there is." — Bruce Lee

🐛 Submitting a Bug Report

If you encounter an issue with YOLO, please submit a bug report!

To help us investigate, we need to be able to reproduce the problem. Follow these guidelines to provide what we need to get started:

When asking a question or reporting a bug, you'll get better help if you provide code that others can easily understand and use to reproduce the issue. This is known as a minimum reproducible example. Your code should be:

  • Minimal Use as little code as possible that still produces the issue
  • Complete Include all parts needed for someone else to reproduce the problem
  • Reproducible Test your code to ensure it actually reproduces the issue

Additionally, for Ultralytics to assist you, your code should be:

  • Current Ensure your code is up-to-date with the latest master branch. Use git pull or git clone to get the latest version and confirm your issue hasn't already been fixed.
  • Unmodified The problem must be reproducible without any custom modifications to the repository. Ultralytics does not provide support for custom code ⚠️.

If your issue meets these criteria, please close your current issue and open a new one using the 🐛 Bug Report template, including your minimum reproducible example to help us diagnose your problem.

📄 License

By contributing, you agree that your contributions will be licensed under the AGPL-3.0 license.


For more details on contributing, check out the Ultralytics open-source contributing guide, and explore our Ultralytics blog for community highlights and best practices.

We welcome your contributions—thank you for helping make Ultralytics YOLO better! 🚀

Ultralytics open-source contributors