Schnellstart
Installiere Ultralytics
Ultralytics bietet verschiedene Installationsmethoden, darunter pip, conda und Docker. Installiere YOLOv8 über die ultralytics
pip-Paket für die letzte stabile Version oder durch Klonen der Ultralytics GitHub-Repository für die aktuellste Version. Docker kann verwendet werden, um das Paket in einem isolierten Container auszuführen und so eine lokale Installation zu vermeiden.
Pass auf: Ultralytics YOLO Schnellstart-Anleitung
Installiere
Installieren Sie die ultralytics
Paket mit pip oder aktualisieren Sie eine bestehende Installation, indem Sie pip install -U ultralytics
. Besuchen Sie den Python Package Index (PyPI) für weitere Informationen über die ultralytics
Paket: https://pypi.org/project/ultralytics/.
Du kannst auch die ultralytics
Paket direkt vom GitHub Repository. Das kann nützlich sein, wenn du die neueste Entwicklungsversion haben willst. Vergewissere dich, dass du das Git-Kommandozeilen-Tool auf deinem System installiert hast. Die @main
Befehl installiert die main
Zweig und kann in einen anderen Zweig geändert werden, d.h. @my-branch
oder ganz entfernt, um die Standardeinstellung zu main
Zweig.
Conda ist ein alternativer Paketmanager zu pip, der ebenfalls für die Installation verwendet werden kann. Weitere Informationen zu Anaconda findest du unter https://anaconda.org/conda-forge/ultralytics. Ultralytics Das Feedstock-Repository zum Aktualisieren des Conda-Pakets findest du unter https://github.com/conda-forge/ultralytics-feedstock/.
Hinweis
Wenn Sie in einer CUDA-Umgebung installieren, ist die beste Vorgehensweise die Installation von ultralytics
, pytorch
und pytorch-cuda
in demselben Befehl, damit der conda-Paketmanager etwaige Konflikte auflösen kann, oder um die pytorch-cuda
zuletzt, damit sie die CPU-spezifischen pytorch
Paket, wenn nötig.
Conda Docker Image
Ultralytics Conda Docker-Images sind auch erhältlich bei DockerHub. Diese Bilder basieren auf Miniconda3 und sind ein einfacher Weg, um mit der ultralytics
in einer Conda-Umgebung.
# Set image name as a variable
t=ultralytics/ultralytics:latest-conda
# Pull the latest ultralytics image from Docker Hub
sudo docker pull $t
# Run the ultralytics image in a container with GPU support
sudo docker run -it --ipc=host --gpus all $t # all GPUs
sudo docker run -it --ipc=host --gpus '"device=2,3"' $t # specify GPUs
Klone die ultralytics
Repository, wenn du dich an der Entwicklung beteiligen oder mit dem neuesten Quellcode experimentieren möchtest. Nach dem Klonen navigierst du in das Verzeichnis und installierst das Paket im Editiermodus -e
mit pip.
Verwende Docker, um mühelos die ultralytics
Paket in einem isolierten Container, um eine konsistente und reibungslose Leistung in verschiedenen Umgebungen zu gewährleisten. Durch die Wahl eines der offiziellen ultralytics
Bilder von Docker HubMit Ultralytics kannst du nicht nur die Komplexität einer lokalen Installation vermeiden, sondern auch auf eine verifizierte Arbeitsumgebung zugreifen. bietet 5 unterstützte Docker-Images, die jeweils für eine hohe Kompatibilität und Effizienz für verschiedene Plattformen und Anwendungsfälle ausgelegt sind:
- Dockerfile: GPU-Image für die Ausbildung empfohlen.
- Dockerfile-arm64: Optimiert für die ARM64-Architektur und ermöglicht den Einsatz auf Geräten wie dem Raspberry Pi und anderen ARM64-basierten Plattformen.
- Dockerfile-cpu: Ubuntu-basierte CPU-Version, die sich für Inferenzen und Umgebungen ohne GPUs eignet.
- Dockerfile-Jetson: Maßgeschneidert für NVIDIA Jetson-Geräte, mit einer für diese Plattformen optimierten GPU-Unterstützung.
- Dockerfile-python: Minimales Image mit nur Python und den notwendigen Abhängigkeiten, ideal für leichtgewichtige Anwendungen und Entwicklung.
- Dockerfile-conda: Basiert auf Miniconda3 mit der conda-Installation des ultralytics Pakets.
Im Folgenden findest du die Befehle, um das neueste Image zu erhalten und auszuführen:
# Set image name as a variable
t=ultralytics/ultralytics:latest
# Pull the latest ultralytics image from Docker Hub
sudo docker pull $t
# Run the ultralytics image in a container with GPU support
sudo docker run -it --ipc=host --gpus all $t # all GPUs
sudo docker run -it --ipc=host --gpus '"device=2,3"' $t # specify GPUs
Der obige Befehl initialisiert einen Docker-Container mit der neuesten ultralytics
Bild. Die -it
Flag weist ein Pseudo-TTY zu und hält stdin offen, damit du mit dem Container interagieren kannst. Die --ipc=host
Flag setzt den IPC (Inter-Process Communication) Namespace auf den Host, der für die gemeinsame Nutzung von Speicher zwischen Prozessen wichtig ist. Die --gpus all
Flagge ermöglicht den Zugriff auf alle verfügbaren GPUs innerhalb des Containers, was für Aufgaben, die GPU-Berechnungen erfordern, entscheidend ist.
Hinweis: Um mit Dateien auf deinem lokalen Rechner innerhalb des Containers zu arbeiten, verwende Docker-Volumes, um ein lokales Verzeichnis in den Container zu mounten:
# Mount local directory to a directory inside the container
sudo docker run -it --ipc=host --gpus all -v /path/on/host:/path/in/container $t
Alter /path/on/host
mit dem Verzeichnispfad auf deinem lokalen Rechner, und /path/in/container
mit dem gewünschten Pfad innerhalb des Docker-Containers für die Zugänglichkeit.
Für die fortgeschrittene Nutzung von Docker kannst du den Ultralytics Docker Guide lesen.
Siehe die ultralytics
Anforderungen.txt Datei für eine Liste der Abhängigkeiten. Beachte, dass alle obigen Beispiele alle erforderlichen Abhängigkeiten installieren.
Tipp
PyTorch Die Anforderungen variieren je nach Betriebssystem und CUDA-Anforderungen. Es wird daher empfohlen, zuerst PyTorch zu installieren und dabei den Anweisungen unter https://pytorch.org/get-started/locally zu folgen.
Verwende Ultralytics mit CLI
Die Ultralytics Befehlszeilenschnittstelle (CLI) ermöglicht einfache einzeilige Befehle, ohne dass eine Python Umgebung benötigt wird. CLI erfordert keine Anpassungen oder Python Code. Du kannst alle Aufgaben einfach vom Terminal aus mit der yolo
Befehl. Schau dir die CLI Leitfaden um mehr über die Verwendung von YOLOv8 von der Kommandozeile aus zu erfahren.
Beispiel
Ultralytics yolo
Befehle verwenden die folgende Syntax:
TASK
(optional) ist eine von (erkennen., Segment, klassifizieren, Pose)MODE
(erforderlich) ist eine von (Zug, val, vorhersagen., exportieren, Strecke)ARGS
(optional) sindarg=value
Paare wieimgsz=640
die die Standardeinstellungen außer Kraft setzen.
Alle sehen ARGS
in der vollen Konfigurationsleitfaden oder mit der yolo cfg
CLI Befehl.
Trainiere ein Erkennungsmodell für 10 Epochen mit einer anfänglichen learning_rate von 0,01
Vorhersage eines YouTube-Videos mit einem trainierten Segmentierungsmodell bei Bildgröße 320:
Val ein vortrainiertes Erkennungsmodell bei Losgröße 1 und Bildgröße 640:
Exportiere ein Klassifizierungsmodell von YOLOv8n in das Format ONNX mit der Bildgröße 224 x 128 (kein TASK erforderlich)
Warnung
Argumente müssen übergeben werden als arg=val
Paare, getrennt durch ein Gleichheitszeichen =
Zeichen und durch Leerzeichen zwischen den Paaren abgegrenzt. Verwenden Sie nicht --
Argument-Präfixe oder Kommas ,
zwischen den Argumenten.
yolo predict model=yolov8n.pt imgsz=640 conf=0.25
✅yolo predict model yolov8n.pt imgsz 640 conf 0.25
❌ (fehlt=
)yolo predict model=yolov8n.pt, imgsz=640, conf=0.25
❌ (nicht verwenden,
)yolo predict --model yolov8n.pt --imgsz 640 --conf 0.25
❌ (nicht verwenden--
)
Verwende Ultralytics mit Python
YOLOv8Die Schnittstelle Python ermöglicht eine nahtlose Integration in deine Python Projekte und erleichtert das Laden, Ausführen und Verarbeiten der Ergebnisse des Modells. Die Schnittstelle Python wurde mit Blick auf Einfachheit und Benutzerfreundlichkeit entwickelt und ermöglicht es den Nutzern, die Objekterkennung, Segmentierung und Klassifizierung schnell in ihre Projekte zu integrieren. Das macht die Python Schnittstelle von YOLOv8 zu einem unschätzbaren Werkzeug für alle, die diese Funktionen in ihre Python Projekte einbauen wollen.
Du kannst zum Beispiel ein Modell laden, es trainieren, seine Leistung auf einem Validierungsset bewerten und es sogar mit nur wenigen Zeilen Code in das Format ONNX exportieren. In der AnleitungPython erfährst du mehr über die Verwendung von YOLOv8 in deinen Python Projekten.
Beispiel
from ultralytics import YOLO
# Create a new YOLO model from scratch
model = YOLO('yolov8n.yaml')
# Load a pretrained YOLO model (recommended for training)
model = YOLO('yolov8n.pt')
# Train the model using the 'coco8.yaml' dataset for 3 epochs
results = model.train(data='coco8.yaml', epochs=3)
# Evaluate the model's performance on the validation set
results = model.val()
# Perform object detection on an image using the model
results = model('https://ultralytics.com/images/bus.jpg')
# Export the model to ONNX format
success = model.export(format='onnx')
Ultralytics Einstellungen
Die Bibliothek Ultralytics bietet ein leistungsfähiges Einstellungsmanagement, mit dem du deine Experimente genauestens steuern kannst. Durch die Verwendung der SettingsManager
untergebracht in der ultralytics.utils
Modul können die Nutzer ihre Einstellungen leicht abrufen und ändern. Diese werden in einer YAML-Datei gespeichert und können entweder direkt in der Umgebung Python oder über die Befehlszeilenschnittstelle (CLI) eingesehen und geändert werden.
Einstellungen inspizieren
Um einen Einblick in die aktuelle Konfiguration deiner Einstellungen zu erhalten, kannst du sie direkt einsehen:
Einstellungen ansehen
Du kannst Python verwenden, um deine Einstellungen zu sehen. Beginne mit dem Importieren der settings
Objekt aus dem ultralytics
Modul. Drucke die Einstellungen mit den folgenden Befehlen aus und gib sie zurück:
Ändern der Einstellungen
Ultralytics ermöglicht es den Nutzern, ihre Einstellungen einfach zu ändern. Änderungen können auf die folgenden Arten vorgenommen werden:
Einstellungen aktualisieren
Rufen Sie innerhalb der Umgebung Python die update
Methode auf der settings
Objekt, um deine Einstellungen zu ändern:
Wenn du lieber die Befehlszeilenschnittstelle verwendest, kannst du mit den folgenden Befehlen deine Einstellungen ändern:
Einstellungen verstehen
Die folgende Tabelle gibt einen Überblick über die Einstellungen, die auf Ultralytics vorgenommen werden können. Jede Einstellung ist mit einem Beispielwert, dem Datentyp und einer kurzen Beschreibung versehen.
Name | Beispielwert | Datentyp | Beschreibung |
---|---|---|---|
settings_version |
'0.0.4' |
str |
Ultralytics Version derEinstellungen (abweichend von Ultralytics pip version) |
datasets_dir |
'/path/to/datasets' |
str |
Das Verzeichnis, in dem die Datensätze gespeichert werden |
weights_dir |
'/path/to/weights' |
str |
Das Verzeichnis, in dem die Modellgewichte gespeichert werden |
runs_dir |
'/path/to/runs' |
str |
Das Verzeichnis, in dem die Experimentläufe gespeichert werden |
uuid |
'a1b2c3d4' |
str |
Der eindeutige Bezeichner für die aktuellen Einstellungen |
sync |
True |
bool |
Ob Analysen und Abstürze mit HUB synchronisiert werden sollen |
api_key |
'' |
str |
Ultralytics HUB API Schlüssel |
clearml |
True |
bool |
Ob die ClearML Protokollierung verwendet werden soll |
comet |
True |
bool |
Ob du Comet ML für die Verfolgung und Visualisierung von Experimenten nutzen willst |
dvc |
True |
bool |
Ob du DVC für die Versuchsverfolgung und Versionskontrolle nutzen willst |
hub |
True |
bool |
Ob die Ultralytics HUB-Integration verwendet werden soll |
mlflow |
True |
bool |
Ob MLFlow für die Experimentverfolgung verwendet werden soll |
neptune |
True |
bool |
Ob Neptune für die Verfolgung von Experimenten verwendet werden soll |
raytune |
True |
bool |
Ob Ray Tune für die Abstimmung der Hyperparameter verwendet werden soll |
tensorboard |
True |
bool |
Ob TensorBoard für die Visualisierung verwendet werden soll |
wandb |
True |
bool |
Ob die Weights & Biases Protokollierung verwendet werden soll |
Während du durch deine Projekte oder Experimente navigierst, solltest du diese Einstellungen immer wieder überprüfen, um sicherzustellen, dass sie optimal für deine Bedürfnisse konfiguriert sind.
Erstellt 2023-11-12, Aktualisiert 2024-04-18
Autoren: glenn-jocher (8), RizwanMunawar (2), Laughing-q (1), AyushExel (1)