Ubuntu ARM GitHub CI runners (#18762)
Signed-off-by: Glenn Jocher <glenn.jocher@ultralytics.com> Signed-off-by: Lakshantha Dissanayake <lakshanthad@yahoo.com> Co-authored-by: Lakshantha Dissanayake <lakshanthad@yahoo.com> Co-authored-by: Lakshantha Dissanayake <lakshantha@ultralytics.com> Co-authored-by: UltralyticsAssistant <web@ultralytics.com>
This commit is contained in:
parent
b30021e781
commit
e411337778
3 changed files with 8 additions and 7 deletions
4
.github/workflows/ci.yml
vendored
4
.github/workflows/ci.yml
vendored
|
|
@ -98,7 +98,7 @@ jobs:
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
os: [ubuntu-latest, macos-15, windows-latest]
|
os: [ubuntu-latest, windows-latest, macos-15, ubuntu-24.04-arm]
|
||||||
python-version: ["3.11"]
|
python-version: ["3.11"]
|
||||||
model: [yolo11n]
|
model: [yolo11n]
|
||||||
steps:
|
steps:
|
||||||
|
|
@ -160,7 +160,7 @@ jobs:
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
os: [ubuntu-latest, macos-15, windows-latest]
|
os: [ubuntu-latest, macos-15, windows-latest, ubuntu-24.04-arm]
|
||||||
python-version: ["3.11"]
|
python-version: ["3.11"]
|
||||||
torch: [latest]
|
torch: [latest]
|
||||||
include:
|
include:
|
||||||
|
|
|
||||||
|
|
@ -11,6 +11,7 @@ from tests import MODEL, SOURCE
|
||||||
from ultralytics import YOLO
|
from ultralytics import YOLO
|
||||||
from ultralytics.cfg import TASK2DATA, TASK2MODEL, TASKS
|
from ultralytics.cfg import TASK2DATA, TASK2MODEL, TASKS
|
||||||
from ultralytics.utils import (
|
from ultralytics.utils import (
|
||||||
|
ARM64,
|
||||||
IS_RASPBERRYPI,
|
IS_RASPBERRYPI,
|
||||||
LINUX,
|
LINUX,
|
||||||
MACOS,
|
MACOS,
|
||||||
|
|
@ -157,7 +158,7 @@ def test_export_tflite_matrix(task, dynamic, int8, half, batch):
|
||||||
|
|
||||||
@pytest.mark.skipif(not TORCH_1_9, reason="CoreML>=7.2 not supported with PyTorch<=1.8")
|
@pytest.mark.skipif(not TORCH_1_9, reason="CoreML>=7.2 not supported with PyTorch<=1.8")
|
||||||
@pytest.mark.skipif(WINDOWS, reason="CoreML not supported on Windows") # RuntimeError: BlobWriter not loaded
|
@pytest.mark.skipif(WINDOWS, reason="CoreML not supported on Windows") # RuntimeError: BlobWriter not loaded
|
||||||
@pytest.mark.skipif(IS_RASPBERRYPI, reason="CoreML not supported on Raspberry Pi")
|
@pytest.mark.skipif(LINUX and ARM64, reason="CoreML not supported on aarch64 Linux")
|
||||||
@pytest.mark.skipif(checks.IS_PYTHON_3_12, reason="CoreML not supported in Python 3.12")
|
@pytest.mark.skipif(checks.IS_PYTHON_3_12, reason="CoreML not supported in Python 3.12")
|
||||||
def test_export_coreml():
|
def test_export_coreml():
|
||||||
"""Test YOLO exports to CoreML format, optimized for macOS only."""
|
"""Test YOLO exports to CoreML format, optimized for macOS only."""
|
||||||
|
|
|
||||||
|
|
@ -41,7 +41,7 @@ import yaml
|
||||||
from ultralytics import YOLO, YOLOWorld
|
from ultralytics import YOLO, YOLOWorld
|
||||||
from ultralytics.cfg import TASK2DATA, TASK2METRIC
|
from ultralytics.cfg import TASK2DATA, TASK2METRIC
|
||||||
from ultralytics.engine.exporter import export_formats
|
from ultralytics.engine.exporter import export_formats
|
||||||
from ultralytics.utils import ARM64, ASSETS, IS_JETSON, IS_RASPBERRYPI, LINUX, LOGGER, MACOS, TQDM, WEIGHTS_DIR
|
from ultralytics.utils import ARM64, ASSETS, LINUX, LOGGER, MACOS, TQDM, WEIGHTS_DIR
|
||||||
from ultralytics.utils.checks import IS_PYTHON_3_12, check_requirements, check_yolo, is_rockchip
|
from ultralytics.utils.checks import IS_PYTHON_3_12, check_requirements, check_yolo, is_rockchip
|
||||||
from ultralytics.utils.downloads import safe_download
|
from ultralytics.utils.downloads import safe_download
|
||||||
from ultralytics.utils.files import file_size
|
from ultralytics.utils.files import file_size
|
||||||
|
|
@ -100,9 +100,9 @@ def benchmark(
|
||||||
elif i == 9: # Edge TPU
|
elif i == 9: # Edge TPU
|
||||||
assert LINUX and not ARM64, "Edge TPU export only supported on non-aarch64 Linux"
|
assert LINUX and not ARM64, "Edge TPU export only supported on non-aarch64 Linux"
|
||||||
elif i in {5, 10}: # CoreML and TF.js
|
elif i in {5, 10}: # CoreML and TF.js
|
||||||
assert MACOS or LINUX, "CoreML and TF.js export only supported on macOS and Linux"
|
assert MACOS or (LINUX and not ARM64), (
|
||||||
assert not IS_RASPBERRYPI, "CoreML and TF.js export not supported on Raspberry Pi"
|
"CoreML and TF.js export only supported on macOS and non-aarch64 Linux"
|
||||||
assert not IS_JETSON, "CoreML and TF.js export not supported on NVIDIA Jetson"
|
)
|
||||||
if i in {5}: # CoreML
|
if i in {5}: # CoreML
|
||||||
assert not IS_PYTHON_3_12, "CoreML not supported on Python 3.12"
|
assert not IS_PYTHON_3_12, "CoreML not supported on Python 3.12"
|
||||||
if i in {6, 7, 8}: # TF SavedModel, TF GraphDef, and TFLite
|
if i in {6, 7, 8}: # TF SavedModel, TF GraphDef, and TFLite
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue