-
-
Notifications
You must be signed in to change notification settings - Fork 6.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. Weβll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Raspberry Pi 5 self-hosted CI #8828
Conversation
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #8828 +/- ##
==========================================
- Coverage 76.00% 76.00% -0.01%
==========================================
Files 121 121
Lines 15339 15343 +4
==========================================
+ Hits 11658 11661 +3
- Misses 3681 3682 +1
Flags with carried forward coverage won't be shown. Click here to find out more. β View full report in Codecov by Sentry. |
@glenn-jocher mAP falling behind and throws out error. Do we lower it? What do you suggest? |
@lakshanthad yes, perhaps some issues with NCNN, we can lower the segment benchmark floor to 0.267. You do that directly in the CI. |
New fail on Pose, updating to 0.179. The Tests failures won't be resolved by updating benchmarks though, can you take a look at these as well? |
@glenn-jocher Benchmarks are all good now. I will take a look at Tests failures tomorrow. |
@lakshanthad got it. Yes, I lowered a couple thresholds slightly to meet the lower RPi5 values. For the tests I fixed a CI YAML bug and they are launching correctly now but aborting mid-tests for some reason, maybe in test_cli.py |
@glenn-jocher let's see after this change because coreml doesnt support exports on RPi: |
no luck it seems. I will investigate further. I am suspecting this has something to do with the number of cores on the RPi. Threading issue. The problem might be inside test_python.py |
@lakshanthad some of the replacements you've made I'm not understanding at all, like this one is for replacing all ARM64 environments, it's not about Raspberry Pis and Jetson Nano's they are lumped in with every other ARM64 environment no? |
@lakshanthad here's another case, it seems you're forgetting that RPi and Jetson are not the only ARM64 environments in the world. If a Macbook M2/M3 user runs this now his code will break no? Why are there so many replacements swapping ARM64 for RPi+Jetson, these statements are not equivalent and are excluding the wider world of ARM64 devices out there, or even i.e. Linux Docker images running on aarch64 devices like Macbooks. |
@glenn-jocher M1/M2 will not break. Those ARM64 issues such as numpy versioning only affects RPi and Jetson and was not bringing about issues when running on the macos ARM runner. The reason i made them specify to rpi and jetson is because the problems only started happening for rpi and jetson, but not for macos arm runners. I wanted to highlight the problems only happen with rpi and jetson and that is why i remove ARM64 and added the new constants. |
@lakshanthad we started getting a strange failure of I searched for a simple way to run on schedule but it doesn't exist, we need to treat Raspberry Pi the same way we treat the GPU job, as a separate job. I'm trying to refactor now. |
okay thanks a lot! @glenn-jocher. my god, did you only sleep 3hrs? |
ultralytics 8.1.48
Raspberry Pi 5 self-hosted CI
@lakshanthad apologies buddy, I had to tear up the CI changes and merge them into a single smaller job (no benchmarks, just tests). I used my "GPU" job as a blueprint, I hope this works, but haven't had time to test. Also I found I couldn't cancel in-progress Rpi runner actions as I think maybe it was coming from your fork, but I've put them on scheduled and workflow dispatch triggers now. |
@@ -101,6 +101,7 @@ export = [ | |||
"openvino>=2024.0.0", # OpenVINO export | |||
"tensorflow<=2.13.1; python_version <= '3.11'", # TF bug https://github.com/ultralytics/ultralytics/issues/5161 | |||
"tensorflowjs>=3.9.0; python_version <= '3.11'", # TF.js export, automatically installs tensorflow | |||
"flatbuffers>=23.5.26,<100", # update old 'flatbuffers' included inside tensorflow package |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@lakshanthad I'm not sure if this line is causing the Dockerfile deploy errors following this PR. I may have to remove it for the time being to get 8.2 out in time.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This should not be the issue. Because this change was done a long time ago and the other CI were passing at the time @glenn-jocher. Are you sure this is causing the issue?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If this is really the issue, then we can add this for only 'aarch64' @glenn-jocher
@glenn-jocher understood. it is fine. Thank you for all the changes. I think this is the only way we can implement it for now. So we will manually add the benchmarks later to this separate job? |
Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com> Co-authored-by: UltralyticsAssistant <web@ultralytics.com> Co-authored-by: Ultralytics AI Assistant <135830346+UltralyticsAssistant@users.noreply.github.com>
Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com> Co-authored-by: UltralyticsAssistant <web@ultralytics.com> Co-authored-by: Ultralytics AI Assistant <135830346+UltralyticsAssistant@users.noreply.github.com>
Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com> Co-authored-by: UltralyticsAssistant <web@ultralytics.com> Co-authored-by: Ultralytics AI Assistant <135830346+UltralyticsAssistant@users.noreply.github.com>
π οΈ PR Summary
Made with β€οΈ by Ultralytics Actions
π Summary
Expand CI testing to include Raspberry Pi 5 on Bookworm OS.
π Key Changes
rpi5-bookworm
to the operating systems (OS) tested in Continuous Integration (CI) workflows.rpi5-bookworm
.π― Purpose & Impact
rpi5-bookworm
helps in tailoring the setup process specifically for this platform, optimizing the workflow. βοΈπ οΈThis move could significantly impact users working on Raspberry Pi 5 by providing better-supported tools and libraries, enhancing development efficiency and product reliability on this popular platform.
π οΈ PR Summary
Made with β€οΈ by Ultralytics Actions
π Summary
Enhancements for Raspberry Pi compatibility and model export adjustments.
π Key Changes
pyproject.toml
to include a new dependencyflatbuffers
for better compatibility with TensorFlow packages.π― Purpose & Impact