forked from ultralytics/ultralytics
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
ultralytics 8.0.90
actions and docs improvements (ultralytics#2326)
Co-authored-by: calmisential <[email protected]> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: triple Mu <[email protected]> Co-authored-by: Laughing <[email protected]> Co-authored-by: Ayush Chaurasia <[email protected]> Co-authored-by: Laughing-q <[email protected]> Co-authored-by: ran xiao <[email protected]> Co-authored-by: rxiao <[email protected]>
- Loading branch information
1 parent
243fc4b
commit 44c7c35
Showing
39 changed files
with
782 additions
and
142 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -47,6 +47,7 @@ jobs: | |
d = [a - b for a, b in zip(v_local, v_pypi)] # diff | ||
increment = (d[0] == d[1] == 0) and d[2] == 1 # only publish if patch version increments by 1 | ||
os.system(f'echo "increment={increment}" >> $GITHUB_OUTPUT') | ||
os.system(f'echo "version={ultralytics.__version__}" >> $GITHUB_OUTPUT') | ||
if increment: | ||
print('Local version is higher than PyPI version. Publishing new version to PyPI ✅.') | ||
id: check_pypi | ||
|
@@ -64,6 +65,44 @@ jobs: | |
env: | ||
PERSONAL_ACCESS_TOKEN: ${{ secrets.PERSONAL_ACCESS_TOKEN }} | ||
run: | | ||
mkdocs gh-deploy --force || true | ||
# git checkout gh-pages | ||
# git push https://[email protected]/ultralytics/docs gh-pages --force | ||
mkdocs build | ||
git config --global user.name "Glenn Jocher" | ||
git config --global user.email "[email protected]" | ||
git clone https://github.com/ultralytics/docs.git docs-repo | ||
cd docs-repo | ||
git checkout gh-pages || git checkout -b gh-pages | ||
rm -rf * | ||
cp -R ../site/* . | ||
git add . | ||
git commit -m "Update Docs for 'ultralytics ${{ steps.check_pypi.outputs.version }}'" | ||
git push https://${{ secrets.PERSONAL_ACCESS_TOKEN }}@github.com/ultralytics/docs.git gh-pages | ||
- name: Extract PR Details | ||
run: | | ||
if [ "${{ github.event_name }}" = "pull_request" ]; then | ||
PR_JSON=$(curl -s -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" https://api.github.com/repos/${{ github.repository }}/pulls/${{ github.event.pull_request.number }}) | ||
PR_NUMBER=${{ github.event.pull_request.number }} | ||
PR_TITLE=$(echo $PR_JSON | jq -r '.title') | ||
else | ||
COMMIT_SHA=${{ github.event.after }} | ||
PR_JSON=$(curl -s -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" "https://api.github.com/search/issues?q=repo:${{ github.repository }}+is:pr+is:merged+sha:$COMMIT_SHA") | ||
PR_NUMBER=$(echo $PR_JSON | jq -r '.items[0].number') | ||
PR_TITLE=$(echo $PR_JSON | jq -r '.items[0].title') | ||
fi | ||
echo "PR_NUMBER=$PR_NUMBER" >> $GITHUB_ENV | ||
echo "PR_TITLE=$PR_TITLE" >> $GITHUB_ENV | ||
- name: Notify on Slack (Success) | ||
if: success() && github.event_name == 'push' && steps.check_pypi.outputs.increment == 'True' | ||
uses: slackapi/[email protected] | ||
with: | ||
payload: | | ||
{"text": "<!channel> GitHub Actions success for ${{ github.workflow }} ✅\n\n\n*Repository:* https://github.com/${{ github.repository }}\n*Action:* https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}\n*Author:* ${{ github.actor }}\n*Event:* NEW 'ultralytics ${{ steps.check_pypi.outputs.version }}' pip package published 😃\n*Job Status:* ${{ job.status }}\n*Pull Request:* <https://github.com/${{ github.repository }}/pull/${{ env.PR_NUMBER }}> ${{ env.PR_TITLE }}\n"} | ||
env: | ||
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL_YOLO }} | ||
- name: Notify on Slack (Failure) | ||
if: failure() | ||
uses: slackapi/[email protected] | ||
with: | ||
payload: | | ||
{"text": "<!channel> GitHub Actions error for ${{ github.workflow }} ❌\n\n\n*Repository:* https://github.com/${{ github.repository }}\n*Action:* https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}\n*Author:* ${{ github.actor }}\n*Event:* ${{ github.event_name }}\n*Job Status:* ${{ job.status }}\n*Pull Request:* <https://github.com/${{ github.repository }}/pull/${{ env.PR_NUMBER }}> ${{ env.PR_TITLE }}\n"} | ||
env: | ||
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL_YOLO }} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,65 @@ | ||
# Ultralytics Individual Contributor License Agreement | ||
|
||
Thank you for your interest in contributing to open source software projects (“Projects”) made available by Ultralytics | ||
SE or its affiliates (“Ultralytics”). This Individual Contributor License Agreement (“Agreement”) sets out the terms | ||
governing any source code, object code, bug fixes, configuration changes, tools, specifications, documentation, data, | ||
materials, feedback, information or other works of authorship that you submit or have submitted, in any form and in any | ||
manner, to Ultralytics in respect of any of the Projects (collectively “Contributions”). If you have any questions | ||
respecting this Agreement, please contact [email protected]. | ||
|
||
You agree that the following terms apply to all of your past, present and future Contributions. Except for the licenses | ||
granted in this Agreement, you retain all of your right, title and interest in and to your Contributions. | ||
|
||
**Copyright License.** You hereby grant, and agree to grant, to Ultralytics a non-exclusive, perpetual, irrevocable, | ||
worldwide, fully-paid, royalty-free, transferable copyright license to reproduce, prepare derivative works of, publicly | ||
display, publicly perform, and distribute your Contributions and such derivative works, with the right to sublicense the | ||
foregoing rights through multiple tiers of sublicensees. | ||
|
||
**Patent License.** You hereby grant, and agree to grant, to Ultralytics a non-exclusive, perpetual, irrevocable, | ||
worldwide, fully-paid, royalty-free, transferable patent license to make, have made, use, offer to sell, sell, | ||
import, and otherwise transfer your Contributions, where such license applies only to those patent claims | ||
licensable by you that are necessarily infringed by your Contributions alone or by combination of your | ||
Contributions with the Project to which such Contributions were submitted, with the right to sublicense the | ||
foregoing rights through multiple tiers of sublicensees. | ||
|
||
**Moral Rights.** To the fullest extent permitted under applicable law, you hereby waive, and agree not to | ||
assert, all of your “moral rights” in or relating to your Contributions for the benefit of Ultralytics, its assigns, and | ||
their respective direct and indirect sublicensees. | ||
|
||
**Third Party Content/Rights.** If your Contribution includes or is based on any source code, object code, bug | ||
fixes, configuration changes, tools, specifications, documentation, data, materials, feedback, information or | ||
other works of authorship that were not authored by you (“Third Party Content”) or if you are aware of any | ||
third party intellectual property or proprietary rights associated with your Contribution (“Third Party Rights”), | ||
then you agree to include with the submission of your Contribution full details respecting such Third Party | ||
Content and Third Party Rights, including, without limitation, identification of which aspects of your | ||
Contribution contain Third Party Content or are associated with Third Party Rights, the owner/author of the | ||
Third Party Content and Third Party Rights, where you obtained the Third Party Content, and any applicable | ||
third party license terms or restrictions respecting the Third Party Content and Third Party Rights. For greater | ||
certainty, the foregoing obligations respecting the identification of Third Party Content and Third Party Rights | ||
do not apply to any portion of a Project that is incorporated into your Contribution to that same Project. | ||
|
||
**Representations.** You represent that, other than the Third Party Content and Third Party Rights identified by | ||
you in accordance with this Agreement, you are the sole author of your Contributions and are legally entitled | ||
to grant the foregoing licenses and waivers in respect of your Contributions. If your Contributions were | ||
created in the course of your employment with your past or present employer(s), you represent that such | ||
employer(s) has authorized you to make your Contributions on behalf of such employer(s) or such employer | ||
(s) has waived all of their right, title or interest in or to your Contributions. | ||
|
||
**Disclaimer.** To the fullest extent permitted under applicable law, your Contributions are provided on an "asis" | ||
basis, without any warranties or conditions, express or implied, including, without limitation, any implied | ||
warranties or conditions of non-infringement, merchantability or fitness for a particular purpose. You are not | ||
required to provide support for your Contributions, except to the extent you desire to provide support. | ||
|
||
**No Obligation.** You acknowledge that Ultralytics is under no obligation to use or incorporate your Contributions | ||
into any of the Projects. The decision to use or incorporate your Contributions into any of the Projects will be | ||
made at the sole discretion of Ultralytics or its authorized delegates .. | ||
|
||
**Disputes.** This Agreement shall be governed by and construed in accordance with the laws of the State of | ||
New York, United States of America, without giving effect to its principles or rules regarding conflicts of laws, | ||
other than such principles directing application of New York law. The parties hereby submit to venue in, and | ||
jurisdiction of the courts located in New York, New York for purposes relating to this Agreement. In the event | ||
that any of the provisions of this Agreement shall be held by a court or other tribunal of competent jurisdiction | ||
to be unenforceable, the remaining portions hereof shall remain in full force and effect. | ||
|
||
**Assignment.** You agree that Ultralytics may assign this Agreement, and all of its rights, obligations and licenses | ||
hereunder. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
# Ultralytics YOLO Frequently Asked Questions (FAQ) | ||
|
||
This FAQ section addresses some common questions and issues users might encounter while working with Ultralytics YOLO repositories. | ||
|
||
## 1. What are the hardware requirements for running Ultralytics YOLO? | ||
|
||
Ultralytics YOLO can be run on a variety of hardware configurations, including CPUs, GPUs, and even some edge devices. However, for optimal performance and faster training and inference, we recommend using a GPU with a minimum of 8GB of memory. NVIDIA GPUs with CUDA support are ideal for this purpose. | ||
|
||
## 2. How do I fine-tune a pre-trained YOLO model on my custom dataset? | ||
|
||
To fine-tune a pre-trained YOLO model on your custom dataset, you'll need to create a dataset configuration file (YAML) that defines the dataset's properties, such as the path to the images, the number of classes, and class names. Next, you'll need to modify the model configuration file to match the number of classes in your dataset. Finally, use the `train.py` script to start the training process with your custom dataset and the pre-trained model. You can find a detailed guide on fine-tuning YOLO in the Ultralytics documentation. | ||
|
||
## 3. How do I convert a YOLO model to ONNX or TensorFlow format? | ||
|
||
Ultralytics provides built-in support for converting YOLO models to ONNX format. You can use the `export.py` script to convert a saved model to ONNX format. If you need to convert the model to TensorFlow format, you can use the ONNX model as an intermediary and then use the ONNX-TensorFlow converter to convert the ONNX model to TensorFlow format. | ||
|
||
## 4. Can I use Ultralytics YOLO for real-time object detection? | ||
|
||
Yes, Ultralytics YOLO is designed to be efficient and fast, making it suitable for real-time object detection tasks. The actual performance will depend on your hardware configuration and the complexity of the model. Using a GPU and optimizing the model for your specific use case can help achieve real-time performance. | ||
|
||
## 5. How can I improve the accuracy of my YOLO model? | ||
|
||
Improving the accuracy of a YOLO model may involve several strategies, such as: | ||
|
||
- Fine-tuning the model on more annotated data | ||
- Data augmentation to increase the variety of training samples | ||
- Using a larger or more complex model architecture | ||
- Adjusting the learning rate, batch size, and other hyperparameters | ||
- Using techniques like transfer learning or knowledge distillation | ||
|
||
Remember that there's often a trade-off between accuracy and inference speed, so finding the right balance is crucial for your specific application. | ||
|
||
If you have any more questions or need assistance, don't hesitate to consult the Ultralytics documentation or reach out to the community through GitHub Issues or the official discussion forum. |
Oops, something went wrong.