Overslaan naar inhoud

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/.

PyPI versie Downloads

# Install the ultralytics package from PyPI
pip install 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-branchof helemaal verwijderd om standaard op main vestiging.

# Install the ultralytics package from GitHub
pip install git+https://github.com/ultralytics/ultralytics.git@main

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/.

Conda Recept Conda Downloads Conda Versie Conda platforms

# Install the ultralytics package using conda
conda install -c conda-forge ultralytics

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.

# Install all packages together using conda
conda install -c pytorch -c nvidia -c conda-forge pytorch torchvision pytorch-cuda=11.8 ultralytics

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.

# Clone the ultralytics repository
git clone https://github.com/ultralytics/ultralytics

# Navigate to the cloned directory
cd ultralytics

# Install the package in editable mode for development
pip install -e .

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:

Docker trekt

  • 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.

PyTorch Installatie-instructies

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:

yolo TASK MODE ARGS

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

yolo train data=coco8.yaml model=yolov8n.pt epochs=10 lr0=0.01

Voorspel een YouTube-video met behulp van een vooraf getraind segmentatiemodel op afbeeldingsformaat 320:

yolo predict model=yolov8n-seg.pt source='https://youtu.be/LNwODJXcvt4' imgsz=320

Waardeer een voorgetraind detectiemodel met batchgrootte 1 en afbeeldingsgrootte 640:

yolo val model=yolov8n.pt data=coco8.yaml batch=1 imgsz=640

Exporteer een YOLOv8n classificatiemodel naar ONNX formaat op afbeeldingsformaat 224 bij 128 (geen TASK vereist)

yolo export model=yolov8n-cls.pt format=onnx imgsz=224,128

Voer speciale commando's uit om versies te bekijken, instellingen te bekijken, controles uit te voeren en meer:

yolo help
yolo checks
yolo version
yolo settings
yolo copy-cfg
yolo cfg

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 --)

CLI Gids

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')

Python Gids

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:

from ultralytics import settings

# View all settings
print(settings)

# Return a specific setting
value = settings['runs_dir']

Als alternatief kun je met de opdrachtregelinterface je instellingen controleren met een eenvoudig commando:

yolo settings

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:

from ultralytics import settings

# Update a setting
settings.update({'runs_dir': '/path/to/runs'})

# Update multiple settings
settings.update({'runs_dir': '/path/to/runs', 'tensorboard': False})

# Reset settings to default values
settings.reset()

Als je liever de commandoregelinterface gebruikt, kun je met de volgende commando's je instellingen wijzigen:

# Update a setting
yolo settings runs_dir='/path/to/runs'

# Update multiple settings
yolo settings runs_dir='/path/to/runs' tensorboard=False

# Reset settings to default values
yolo settings reset

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)

Reacties