您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

CONTRIBUTING.md 4.9KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. ## Contributing to YOLOv5 🚀
  2. We love your input! We want to make contributing to YOLOv5 as easy and transparent as possible, whether it's:
  3. - Reporting a bug
  4. - Discussing the current state of the code
  5. - Submitting a fix
  6. - Proposing a new feature
  7. - Becoming a maintainer
  8. YOLOv5 works so well due to our combined community effort, and for every small improvement you contribute you will be
  9. helping push the frontiers of what's possible in AI 😃!
  10. ## Submitting a Pull Request (PR) 🛠️
  11. Submitting a PR is easy! This example shows how to submit a PR for updating `requirements.txt` in 4 steps:
  12. ### 1. Select File to Update
  13. Select `requirements.txt` to update by clicking on it in GitHub.
  14. <p align="center"><img width="800" alt="PR_step1" src="https://user-images.githubusercontent.com/26833433/122260847-08be2600-ced4-11eb-828b-8287ace4136c.png"></p>
  15. ### 2. Click 'Edit this file'
  16. Button is in top-right corner.
  17. <p align="center"><img width="800" alt="PR_step2" src="https://user-images.githubusercontent.com/26833433/122260844-06f46280-ced4-11eb-9eec-b8a24be519ca.png"></p>
  18. ### 3. Make Changes
  19. Change `matplotlib` version from `3.2.2` to `3.3`.
  20. <p align="center"><img width="800" alt="PR_step3" src="https://user-images.githubusercontent.com/26833433/122260853-0a87e980-ced4-11eb-9fd2-3650fb6e0842.png"></p>
  21. ### 4. Preview Changes and Submit PR
  22. Click on the **Preview changes** tab to verify your updates. At the bottom of the screen select 'Create a **new branch**
  23. for this commit', assign your branch a descriptive name such as `fix/matplotlib_version` and click the green **Propose
  24. changes** button. All done, your PR is now submitted to YOLOv5 for review and approval 😃!
  25. <p align="center"><img width="800" alt="PR_step4" src="https://user-images.githubusercontent.com/26833433/122260856-0b208000-ced4-11eb-8e8e-77b6151cbcc3.png"></p>
  26. ### PR recommendations
  27. To allow your work to be integrated as seamlessly as possible, we advise you to:
  28. - ✅ Verify your PR is **up-to-date with upstream/master.** If your PR is behind upstream/master an
  29. automatic [GitHub actions](https://github.com/ultralytics/yolov5/blob/master/.github/workflows/rebase.yml) rebase may
  30. be attempted by including the /rebase command in a comment body, or by running the following code, replacing 'feature'
  31. with the name of your local branch:
  32. ```bash
  33. git remote add upstream https://github.com/ultralytics/yolov5.git
  34. git fetch upstream
  35. git checkout feature # <----- replace 'feature' with local branch name
  36. git merge upstream/master
  37. git push -u origin -f
  38. ```
  39. - ✅ Verify all Continuous Integration (CI) **checks are passing**.
  40. - ✅ Reduce changes to the absolute **minimum** required for your bug fix or feature addition. _"It is not daily increase
  41. but daily decrease, hack away the unessential. The closer to the source, the less wastage there is."_ — Bruce Lee
  42. ## Submitting a Bug Report 🐛
  43. If you spot a problem with YOLOv5 please submit a Bug Report!
  44. For us to start investigating a possible problem we need to be able to reproduce it ourselves first. We've created a few
  45. short guidelines below to help users provide what we need in order to get started.
  46. When asking a question, people will be better able to provide help if you provide **code** that they can easily
  47. understand and use to **reproduce** the problem. This is referred to by community members as creating
  48. a [minimum reproducible example](https://stackoverflow.com/help/minimal-reproducible-example). Your code that reproduces
  49. the problem should be:
  50. * ✅ **Minimal** – Use as little code as possible that still produces the same problem
  51. * ✅ **Complete** – Provide **all** parts someone else needs to reproduce your problem in the question itself
  52. * ✅ **Reproducible** – Test the code you're about to provide to make sure it reproduces the problem
  53. In addition to the above requirements, for [Ultralytics](https://ultralytics.com/) to provide assistance your code
  54. should be:
  55. * ✅ **Current** – Verify that your code is up-to-date with current
  56. GitHub [master](https://github.com/ultralytics/yolov5/tree/master), and if necessary `git pull` or `git clone` a new
  57. copy to ensure your problem has not already been resolved by previous commits.
  58. * ✅ **Unmodified** – Your problem must be reproducible without any modifications to the codebase in this
  59. repository. [Ultralytics](https://ultralytics.com/) does not provide support for custom code ⚠️.
  60. If you believe your problem meets all of the above criteria, please close this issue and raise a new one using the 🐛 **
  61. Bug Report** [template](https://github.com/ultralytics/yolov5/issues/new/choose) and providing
  62. a [minimum reproducible example](https://stackoverflow.com/help/minimal-reproducible-example) to help us better
  63. understand and diagnose your problem.
  64. ## License
  65. By contributing, you agree that your contributions will be licensed under
  66. the [GPL-3.0 license](https://choosealicense.com/licenses/gpl-3.0/)