CoreML-Modell lokal kompilieren (coreml.compile_model)
Deklaration
compiled_model_path, err = coreml.compile_model(model_path)
Parameter
-
model_path
Zeichenkette. Zu kompilierender Modellpfad. Ab iOS 15 wird das Format.mlpackageunterstützt; iOS 13 und 14 unterstützen nur das ältere Format.mlmodel.Dokumentation zur YOLO11-Konvertierung nach CoreML
Referenzbefehle zur YOLO11-Formatkonvertierung unter macOS
# Hier wird eine Python-3.10-Umgebung vorausgesetzt; andernfalls selbst erstellen (nur mit Python 3.10 getestet, höhere Versionen nicht verifiziert).
# Zuerst ultralytics installieren; bei vorhandener Installation diesen Schritt überspringen.
pip install ultralytics
# Unter iOS 13 oder iOS 14 kann mit format=mlmodel in das ältere mlmodel-Format konvertiert werden.
yolo export format=mlmodel nms=True model=best.pt
# Ab iOS 15 kann mit format=coreml in ein mlpackage-Modell konvertiert werden.
yolo export format=coreml nms=True model=best.pt
# nms=True ist optional.
# Wenn NMS in das exportierte Modell eingebettet werden soll, kann es aktiviert werden.
# Wenn die Nachverarbeitung auf XXTouch-Seite mit coreml.nms / coreml.rotated_nms erfolgen soll, kann nms=True entfallen.
Rückgabewerte
-
compiled_model_path
Zeichenkette | nil. Bei Erfolg der kompilierte Modellpfad, bei einem Fehlernil. -
err
Zeichenkette | nil. Bei Erfolgnil, bei einem Fehler die Fehlermeldung.
Hinweise
-
Ab Softwareversion 1.3.8 verfügbar
-
Systeme vor iOS 12 werden nicht unterstützt.
-
Diese Funktion kompiliert Modelle im Format
.mlpackageoder.mlmodelin das von Geräten direkt ladbare Format.mlmodelc. -
Ein auf einem Gerät eines bestimmten Modells oder einer bestimmten Systemversion kompiliertes
.mlmodelcist möglicherweise nicht auf anderen Geräten verwendbar.YOLO11-Modelltrainingsbefehle auf einem Computer mit NVIDIA-Grafikkarte
# Zuerst das Visual-Studio-Desktopentwicklungstool für C++ installieren; bei vorhandener Installation überspringen. Link:
# https://visualstudio.microsoft.com/
# CUDA 11.8 Toolkit auf dem Computer installieren; bei vorhandener Installation überspringen. Link:
# https://developer.nvidia.com/cuda-11-8-0-download-archive
# Hier wird eine Python-3.10-Umgebung vorausgesetzt; andernfalls selbst erstellen (nur mit Python 3.10 getestet, höhere Versionen nicht verifiziert).
# Zuerst ultralytics installieren; bei vorhandener Installation überspringen.
pip install ultralytics
# torch-Bibliotheken mit Unterstützung für NVIDIA CUDA 11.8 Toolkit neu installieren.
# Überspringen, wenn bereits eine CUDA-fähige torch-Version installiert ist.
pip uninstall torch torchvision torchaudio # Auf dem Computer installierte CPU-Version von torch deinstallieren.
pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu118
yolo train model=yolo11m.pt data=COCO.yml epochs=300 imgsz=640 device=0 # Mit GPU0 trainieren.YOLO11-Modelltrainingsbefehle unter macOS
# Hier wird eine Python-3.10-Umgebung vorausgesetzt; andernfalls selbst erstellen (nur mit Python 3.10 getestet, höhere Versionen nicht verifiziert).
# Zuerst ultralytics installieren; bei vorhandener Installation überspringen.
pip install ultralytics
# Bei vorhandener torch-Installation überspringen.
pip install torch torchvision torchaudio
yolo train model=yolo11m.pt data=COCO.yml epochs=300 imgsz=640 device=mps # Training mit Metal-Shadern beschleunigen.
Beispiel
compiled_model_path = XXT_HOME_PATH..'/models/yolo11m.mlmodelc' -- Speicherort des kompilierten Modells
file.remove(compiled_model_path) -- Während des Tests bei jedem Lauf neu kompilieren; nach Stabilisierung auskommentieren.
if not file.exists(compiled_model_path) then -- Falls noch kein kompiliertes Modell vorhanden ist, eines kompilieren.
local tmp_path, err = coreml.compile_model(XXT_HOME_PATH..'/models/yolo11m.mlpackage') -- Modell kompilieren.
if not tmp_path then
error(err)
end
file.move(tmp_path, compiled_model_path, 'mo') -- Kompiliertes Modell an den Zielort verschieben.
end