Snelstart
Installeer Ultralytics
Ultralytics biedt verschillende installatiemethoden, waaronder pip, conda en Docker. Installeer YOLOv8 via de ultralytics
pip pakket voor de laatste stabiele release of door het klonen van de Ultralytics GitHub opslagplaats voor de meest actuele versie. Docker kan worden gebruikt om het pakket in een geïsoleerde container uit te voeren, waardoor een lokale installatie wordt vermeden.
Kijken: Ultralytics YOLO Snelstartgids
Installeer
Installeer de ultralytics
pakket met pip, of werk een bestaande installatie bij door pip install -U ultralytics
. Bezoek de Python Package Index (PyPI) voor meer details over de ultralytics
verpakking: https://pypi.org/project/ultralytics/.
Je kunt ook de ultralytics
pakket rechtstreeks van de GitHub archief. Dit kan handig zijn als je de laatste ontwikkelversie wilt hebben. Zorg ervoor dat de Git commandoregel tool geïnstalleerd is op je systeem. De @main
commando installeert de main
tak en kan worden gewijzigd naar een andere tak, d.w.z. @my-branch
of helemaal verwijderd om standaard op main
vestiging.
Conda is een alternatieve pakketbeheerder voor pip die ook kan worden gebruikt voor installatie. Bezoek Anaconda voor meer informatie op https://anaconda.org/conda-forge/ultralytics. Ultralytics feedstock repository voor het bijwerken van het conda pakket is op https://github.com/conda-forge/ultralytics-feedstock/.
Opmerking
Als je in een CUDA-omgeving installeert, is het het beste om het volgende te installeren ultralytics
, pytorch
en pytorch-cuda
in hetzelfde commando zodat de conda pakketbeheerder eventuele conflicten kan oplossen, of anders om te installeren pytorch-cuda
als laatste om de CPU-specifieke pytorch
pakket indien nodig.
Conda Docker Afbeelding
Ultralytics Conda Docker-images zijn ook beschikbaar via DockerHub. Deze afbeeldingen zijn gebaseerd op Miniconda3 en zijn een eenvoudige manier om te beginnen met het gebruik van ultralytics
in een Conda-omgeving.
# 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
Kloon de ultralytics
repository als je wilt bijdragen aan de ontwikkeling of wilt experimenteren met de nieuwste broncode. Na het klonen navigeer je naar de map en installeer je het pakket in bewerkbare modus -e
met pip.
Gebruik Docker om de ultralytics
pakket in een geïsoleerde container, zodat het consistent en soepel presteert in verschillende omgevingen. Door een van de officiële ultralytics
beelden van Docker hubZo vermijd je niet alleen de complexiteit van een lokale installatie, maar profiteer je ook van toegang tot een geverifieerde werkomgeving. Ultralytics biedt 5 belangrijke ondersteunde Docker-images, elk ontworpen voor hoge compatibiliteit en efficiëntie voor verschillende platforms en gebruikssituaties:
- Dockerbestand: GPU image aanbevolen voor training.
- Dockerfile-arm64: Geoptimaliseerd voor de ARM64-architectuur, waardoor het kan worden gebruikt op apparaten zoals de Raspberry Pi en andere ARM64-gebaseerde platforms.
- Dockerfile-cpu: Ubuntu-gebaseerde CPU-only versie geschikt voor inferentie en omgevingen zonder GPU's.
- Dockerfile-jetson: Op maat gemaakt voor NVIDIA Jetson apparaten, met GPU-ondersteuning geoptimaliseerd voor deze platforms.
- Dockerbestand-python: Minimaal image met alleen Python en noodzakelijke afhankelijkheden, ideaal voor lichtgewicht applicaties en ontwikkeling.
- Dockerfile-conda: Gebaseerd op Miniconda3 met conda installatie van ultralytics pakket.
Hieronder staan de commando's om de nieuwste image op te halen en uit te voeren:
# 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
Het bovenstaande commando initialiseert een Docker-container met de nieuwste ultralytics
beeld. De -it
wijst een pseudo-TTY toe en houdt stdin open, zodat je met de container kunt communiceren. De --ipc=host
stelt de IPC (Inter-Process Communication) naamruimte in op de host, wat essentieel is voor het delen van geheugen tussen processen. De --gpus all
flag geeft toegang tot alle beschikbare GPU's in de container, wat cruciaal is voor taken die GPU-berekeningen vereisen.
Opmerking: Om te werken met bestanden op je lokale machine binnen de container, gebruik je Docker volumes voor het mounten van een lokale map in de container:
# 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
met het directorypad op je lokale machine, en /path/in/container
met het gewenste pad in de Docker-container voor toegankelijkheid.
Voor geavanceerd Docker-gebruik kun je de Ultralytics Docker Guide raadplegen.
Zie de ultralytics
vereisten.txt bestand voor een lijst met afhankelijkheden. Merk op dat alle bovenstaande voorbeelden alle vereiste afhankelijkheden installeren.
Tip
PyTorch De vereisten verschillen per besturingssysteem en CUDA-vereisten, dus het is aan te raden om eerst PyTorch te installeren volgens de instructies op https://pytorch.org/get-started/locally.
Gebruik Ultralytics met CLI
De Ultralytics opdrachtregelinterface (CLI) maakt eenvoudige eenregelige opdrachten mogelijk zonder dat je een Python omgeving nodig hebt. CLI vereist geen aanpassingen of Python code. Je kunt alle taken gewoon vanaf de terminal uitvoeren met de yolo
commando. Bekijk de CLI Gids om meer te leren over het gebruik van YOLOv8 vanaf de commandoregel.
Voorbeeld
Ultralytics yolo
commando's gebruiken de volgende syntaxis:
TASK
(optioneel) is een van (detecteren, segment, classificeren, houding)MODE
(vereist) is een van (trein, waarde, voorspellen, export, spoor)ARGS
(optioneel) zijnarg=value
paren zoalsimgsz=640
die de standaardwaarden overschrijven.
Bekijk alle ARGS
volledig Configuratiegids of met de yolo cfg
CLI commando.
Train een detectiemodel voor 10 epochs met een initiële leer_snelheid van 0,01
Voorspel een YouTube-video met behulp van een vooraf getraind segmentatiemodel op afbeeldingsformaat 320:
Waardeer een voorgetraind detectiemodel met batchgrootte 1 en afbeeldingsgrootte 640:
Exporteer een YOLOv8n classificatiemodel naar ONNX formaat op afbeeldingsformaat 224 bij 128 (geen TASK vereist)
Waarschuwing
Argumenten moeten worden doorgegeven als arg=val
paren, gesplitst door een is gelijk aan =
teken en gescheiden door spaties tussen de paren. Gebruik geen --
argumentvoorvoegsels of komma's ,
tussen argumenten.
yolo predict model=yolov8n.pt imgsz=640 conf=0.25
✅yolo predict model yolov8n.pt imgsz 640 conf 0.25
❌ (ontbreekt=
)yolo predict model=yolov8n.pt, imgsz=640, conf=0.25
❌ (niet gebruiken,
)yolo predict --model yolov8n.pt --imgsz 640 --conf 0.25
❌ (niet gebruiken--
)
Gebruik Ultralytics met Python
YOLOv8De Python interface zorgt voor een naadloze integratie in je Python projecten, waardoor het eenvoudig is om de uitvoer van het model te laden, uit te voeren en te verwerken. De interface Python is ontworpen met eenvoud en gebruiksgemak in gedachten en stelt gebruikers in staat om objectdetectie, segmentatie en classificatie snel in hun projecten te implementeren. Hierdoor is YOLOv8's Python interface een hulpmiddel van onschatbare waarde voor iedereen die deze functionaliteiten in zijn Python projecten wil opnemen.
Gebruikers kunnen bijvoorbeeld een model laden, het trainen, de prestaties evalueren op een validatieset en het zelfs exporteren naar ONNX formaat met slechts een paar regels code. Bekijk de Python Gids voor meer informatie over het gebruik van YOLOv8 binnen je Python projecten.
Voorbeeld
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 Instellingen
De bibliotheek Ultralytics biedt een krachtig systeem voor het beheren van instellingen om fijnkorrelige controle over je experimenten mogelijk te maken. Door gebruik te maken van de SettingsManager
gehuisvest in de ultralytics.utils
module kunnen gebruikers gemakkelijk hun instellingen bekijken en wijzigen. Deze worden opgeslagen in een YAML-bestand en kunnen direct in de Python omgeving of via de Command-Line Interface (CLI) worden bekeken of gewijzigd.
Instellingen inspecteren
Om inzicht te krijgen in de huidige configuratie van je instellingen, kun je deze direct bekijken:
Instellingen bekijken
Je kunt Python gebruiken om je instellingen te bekijken. Begin met het importeren van de settings
object van de ultralytics
module. Instellingen afdrukken en retourneren met de volgende commando's:
Instellingen wijzigen
Ultralytics kunnen gebruikers eenvoudig hun instellingen wijzigen. Wijzigingen kunnen op de volgende manieren worden uitgevoerd:
Instellingen bijwerken
Roep binnen de Python omgeving het update
methode op de settings
object om je instellingen te wijzigen:
Als je liever de commandoregelinterface gebruikt, kun je met de volgende commando's je instellingen wijzigen:
Instellingen begrijpen
De tabel hieronder geeft een overzicht van de instellingen die beschikbaar zijn voor aanpassing binnen Ultralytics. Elke instelling wordt geschetst samen met een voorbeeldwaarde, het gegevenstype en een korte beschrijving.
Naam | Voorbeeldwaarde | Gegevenstype | Beschrijving |
---|---|---|---|
settings_version |
'0.0.4' |
str |
Ultralytics instellingenversie (anders dan Ultralytics pip versie) |
datasets_dir |
'/path/to/datasets' |
str |
De map waar de datasets zijn opgeslagen |
weights_dir |
'/path/to/weights' |
str |
De map waar de modelgewichten worden opgeslagen |
runs_dir |
'/path/to/runs' |
str |
De map waar de experimenten worden opgeslagen |
uuid |
'a1b2c3d4' |
str |
De unieke identificatie voor de huidige instellingen |
sync |
True |
bool |
Analyses en crashes synchroniseren met HUB |
api_key |
'' |
str |
Ultralytics HUB API sleutel |
clearml |
True |
bool |
Of ClearML loggen gebruikt moet worden |
comet |
True |
bool |
Of je Comet ML wilt gebruiken voor het volgen en visualiseren van experimenten |
dvc |
True |
bool |
Of je DVC wilt gebruiken voor het bijhouden van experimenten en versiebeheer |
hub |
True |
bool |
Of je Ultralytics HUB integratie wilt gebruiken |
mlflow |
True |
bool |
Of MLFlow gebruikt moet worden voor het volgen van experimenten |
neptune |
True |
bool |
Of Neptune gebruikt moet worden voor het volgen van experimenten |
raytune |
True |
bool |
Of Ray Tune gebruikt moet worden voor het afstemmen van hyperparameters |
tensorboard |
True |
bool |
Of je TensorBoard wilt gebruiken voor visualisatie |
wandb |
True |
bool |
Of Weights & Biases loggen gebruikt moet worden |
Als je door je projecten of experimenten navigeert, zorg er dan voor dat je deze instellingen opnieuw bekijkt om er zeker van te zijn dat ze optimaal zijn geconfigureerd voor jouw behoeften.
Aangemaakt 2023-11-12, Bijgewerkt 2024-04-18
Auteurs: glenn-jocher (8), RizwanMunawar (2), Laughing-q (1), AyushExel (1)