ultralytics / ultralytics

Ultralytics YOLO11 πŸš€
https://docs.ultralytics.com
GNU Affero General Public License v3.0
36.33k stars 7k forks source link

`ultralytics 8.3.72` Fix NVIDIA Jetson DLA core support for DLA inference #19078

Closed Laughing-q closed 4 days ago

Laughing-q commented 5 days ago

πŸ› οΈ PR Summary

Made with ❀️ by Ultralytics Actions

🌟 Summary

This PR updates the CI workflow, adds detailed NVIDIA Jetson DLA hardware information, and improves TensorRT export functionality for better device compatibility. πŸš€

πŸ“Š Key Changes

🎯 Purpose & Impact

🌟 These updates collectively improve the developer and user experience, particularly for NVIDIA Jetson users leveraging DLA hardware.

sentry-io[bot] commented 5 days ago

πŸ” Existing Issues For Review

Your pull request is modifying functions with the following pre-existing issues:

πŸ“„ File: ultralytics/engine/exporter.py

Function Unhandled Issue
__call__ AssertionError: ERROR ❌️ argument 'int8' is not supported for format='onnx' ultralytics.engin...
Event Count: 1
__call__ RuntimeError: [enforce fail at alloc_cpu.cpp:117] err == 0. DefaultCPUAllocator: can't allocate memory: you tri... ...
Event Count: 1
__call__ SyntaxError: /content/drive/MyDrive/weedai_yolo/runs/detect/train/args.yaml 'train:' key missing ❌. ...
Event Count: 1

Did you find this useful? React with a πŸ‘ or πŸ‘Ž

UltralyticsAssistant commented 5 days ago

πŸ‘‹ Hello @Laughing-q, thank you for submitting an ultralytics/ultralytics πŸš€ PR! To ensure a seamless integration of your work, please review the following checklist:

πŸ” Additionally: It looks like your PR focuses on improving support for NVIDIA Deep Learning Accelerator (DLA) devices, which is an exciting enhancement! πŸŽ‰ For clarity and completeness, if there are any edge cases or additional behavior that your code addresses (e.g., specific scenarios involving DLA devices), you may want to include them in your testing or documentation updates.

For more guidance, please refer to our Contributing Guide. An Ultralytics engineer will review your PR soon and provide further feedback if necessary. Don’t hesitate to leave a comment if you have any questions. Thank you for contributing to Ultralytics! ⚑

codecov[bot] commented 5 days ago

Codecov Report

Attention: Patch coverage is 33.33333% with 4 lines in your changes missing coverage. Please review.

Project coverage is 73.09%. Comparing base (84a8b06) to head (e25d9b5). Report is 1 commits behind head on main.

Files with missing lines Patch % Lines
ultralytics/nn/autobackend.py 0.00% 3 Missing :warning:
ultralytics/engine/exporter.py 50.00% 1 Missing :warning:
Additional details and impacted files ```diff @@ Coverage Diff @@ ## main #19078 +/- ## ========================================== + Coverage 73.08% 73.09% +0.01% ========================================== Files 129 129 Lines 17485 17486 +1 ========================================== + Hits 12779 12782 +3 + Misses 4706 4704 -2 ``` | [Flag](https://app.codecov.io/gh/ultralytics/ultralytics/pull/19078/flags?src=pr&el=flags&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ultralytics) | Coverage Ξ” | | |---|---|---| | [Benchmarks](https://app.codecov.io/gh/ultralytics/ultralytics/pull/19078/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ultralytics) | `34.10% <33.33%> (+0.01%)` | :arrow_up: | | [GPU](https://app.codecov.io/gh/ultralytics/ultralytics/pull/19078/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ultralytics) | `37.94% <16.66%> (-0.01%)` | :arrow_down: | | [Tests](https://app.codecov.io/gh/ultralytics/ultralytics/pull/19078/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ultralytics) | `66.91% <33.33%> (+<0.01%)` | :arrow_up: | Flags with carried forward coverage won't be shown. [Click here](https://docs.codecov.io/docs/carryforward-flags?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ultralytics#carryforward-flags-in-the-pull-request-comment) to find out more.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

lakshanthad commented 5 days ago

@Laughing-q thanks for the support here! I have tested on Jetson and it all works now! @glenn-jocher this should be good to go.

Laughing-q commented 5 days ago

@glenn-jocher a fix of this PR. In this PR it'll automatically save the dla in our metadata when exporting a engine format model within dla specified and directly use it in AutoBackend class so model gets to know the correct dla device. No need to specify device while inference.

glenn-jocher commented 5 days ago

@Laughing-q looks good! @lakshanthad can you review? Do we need any Docs updates after this?

UltralyticsAssistant commented 4 days ago

πŸ₯³ Amazing work, team! Huge thanks to @Laughing-q for leading this fantastic PR and to @glenn-jocher and @lakshanthad for the collaborative efforts behind the scenes. Merging this is a big step forward for improved compatibility and usability, especially for our NVIDIA Jetson community. πŸš€

As Henry Ford once said, "Coming together is a beginning, staying together is progress, and working together is success." This PR embodies that spirit, combining teamwork and innovation to unlock new potentials for DLA-specific workflows.

Your hard work and dedication continue to inspire. Thank you for your meaningful contributions! ❀️