Installare Ultralytics
Ultralytics offre diversi metodi di installazione, tra cui pip, conda e Docker. È possibile installare YOLO tramite il metodo ultralytics
per l'ultima versione stabile, oppure clonando il pacchetto Ultralytics Repository GitHub per la versione più recente. Docker è anche un'opzione per eseguire il pacchetto in un contenitore isolato, evitando così l'installazione locale.
Guarda: Ultralytics YOLO Guida rapida
Installare
Installare o aggiornare il programma ultralytics
utilizzando pip, eseguendo pip install -U ultralytics
. Per maggiori dettagli sul ultralytics
visitare il sito Indice dei pacchetti Python (PyPI).
# Install the ultralytics package from PyPI
pip install ultralytics
È inoltre possibile installare ultralytics
direttamente dal Ultralytics Repository GitHub. Questo può essere utile se si desidera l'ultima versione di sviluppo. Assicurarsi di avere installato lo strumento a riga di comando Git ed eseguirlo:
# Install the ultralytics package from GitHub
pip install git+https://github.com/ultralytics/ultralytics.git@main
Conda può essere utilizzato come gestore di pacchetti alternativo a pip. Per maggiori dettagli, visitate Anaconda. Il repository di Ultralytics per l'aggiornamento del pacchetto conda è disponibile su GitHub.
# Install the ultralytics package using conda
conda install -c conda-forge ultralytics
Nota
Se si esegue l'installazione in un ambiente CUDA , è buona norma installare ultralytics
, pytorch
, e pytorch-cuda
nello stesso comando. Questo permette al gestore di pacchetti conda di risolvere eventuali conflitti. In alternativa, installare pytorch-cuda
per ultimo per sovrascrivere la CPU pytorch
se necessario.
# Install all packages together using conda
conda install -c pytorch -c nvidia -c conda-forge pytorch torchvision pytorch-cuda=11.8 ultralytics
Immagine Docker di Conda
Ultralytics Le immagini Docker di Conda sono disponibili anche da DockerHub. Queste immagini sono basate su Miniconda3 e fornire un modo semplice per iniziare ad usare ultralytics
in un ambiente Conda.
# 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
Clonare il Ultralytics Repository GitHub se siete interessati a contribuire allo sviluppo o desiderate sperimentare il codice sorgente più recente. Dopo la clonazione, navigare nella cartella e installare il pacchetto in modalità modificabile -e
utilizzando 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 .
Utilizzare Docker per eseguire il file ultralytics
in un contenitore isolato, assicurando prestazioni coerenti in vari ambienti. Selezionando uno dei pacchetti ufficiali ultralytics
immagini da Hub DockerSi evita la complessità dell'installazione locale e si ottiene l'accesso a un ambiente di lavoro verificato. Ultralytics offre cinque immagini Docker principali supportate, ciascuna progettata per garantire un'elevata compatibilità ed efficienza:
- Dockerfile: immagine GPU consigliata per la formazione.
- Dockerfile-arm64: Ottimizzato per l'architettura ARM64, adatto per la distribuzione su dispositivi come Raspberry Pi e altre piattaforme basate su ARM64.
- cpu: versione CPU basata su Ubuntu, adatta all'inferenza e agli ambienti senza GPU.
- Dockerfile-jetson: Personalizzato per i dispositivi NVIDIA Jetson, integra il supporto GPU ottimizzato per queste piattaforme.
- Dockerfile-python: Immagine minimale con solo Python e le dipendenze necessarie, ideale per applicazioni leggere e di sviluppo.
- Dockerfile-conda: Basato su Miniconda3 con un'installazione di conda
ultralytics
pacchetto.
Ecco i comandi per ottenere l'ultima immagine ed eseguirla:
# 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
Il comando precedente inizializza un contenitore Docker con l'ultima versione di ultralytics
immagine. Il -it
assegna una pseudo-TTY e mantiene aperto stdin, consentendo l'interazione con il contenitore. I flag --ipc=host
imposta il namespace IPC (Inter-Process Communication) all'host, essenziale per la condivisione della memoria tra i processi. Il flag --gpus all
consente l'accesso a tutte le GPU disponibili all'interno del contenitore, fondamentale per le attività che richiedono il calcolo GPU .
Nota: Per lavorare con i file sul computer locale all'interno del contenitore, usare i volumi Docker per montare una directory locale nel contenitore:
# 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
Sostituire /path/on/host
con il percorso della directory sulla macchina locale e /path/in/container
con il percorso desiderato all'interno del contenitore Docker.
Per un utilizzo avanzato di Docker, esplorare la Guida DockerUltralytics .
Vedere il ultralytics
progetto.toml per un elenco di dipendenze. Si noti che tutti gli esempi precedenti installano tutte le dipendenze richieste.
Suggerimento
PyTorch I requisiti di PyTorch variano a seconda del sistema operativo e dei requisiti CUDA , per cui è necessario installare prima PyTorch seguendo le istruzioni riportate su PyTorch.
Metodi di installazione personalizzati
Sebbene i metodi di installazione standard coprano la maggior parte dei casi d'uso, potrebbe essere necessaria un'impostazione più personalizzata. Ciò potrebbe comportare l'installazione di versioni specifiche di pacchetti, l'omissione di dipendenze opzionali o la sostituzione di pacchetti come la sostituzione di opencv-python
con il sistema senza interfaccia grafica opencv-python-headless
per gli ambienti server.
Metodi personalizzati
È possibile installare il programma ultralytics
senza alcuna dipendenza, utilizzando il pacchetto pip --no-deps
flag. Ciò richiede l'installazione manuale di tutte le dipendenze necessarie.
-
Installare
ultralytics
nucleo:pip install ultralytics --no-deps
-
Installare manualmente le dipendenze: È necessario installare tutti i pacchetti necessari elencati nel file
pyproject.toml
sostituendo o modificando le versioni secondo necessità. Per l'esempio di OpenCV senza testa:# Install other core dependencies pip install torch torchvision numpy matplotlib pandas pyyaml pillow psutil requests tqdm scipy seaborn ultralytics-thop # Install headless OpenCV instead of the default pip install opencv-python-headless
Gestione delle dipendenze
Questo metodo offre un controllo completo, ma richiede un'attenta gestione delle dipendenze. Assicurarsi che tutti i pacchetti richiesti siano installati con versioni compatibili, facendo riferimento al file ultralytics
pyproject.toml
file.
Se si ha bisogno di modifiche personalizzate persistenti (come usare sempre il metodo opencv-python-headless
), è possibile creare un fork del repository Ultralytics , apportare modifiche a pyproject.toml
o altro codice, e installare dal proprio fork.
- Fare il fork del repository GitHub di Ultralytics sul proprio account GitHub.
- Clone la vostra forchetta in loco:
git clone https://github.com/YOUR_USERNAME/ultralytics.git cd ultralytics
- Creare un nuovo ramo per le modifiche apportate:
git checkout -b custom-opencv
- Modificare
pyproject.toml
: Apertopyproject.toml
in un editor di testo e sostituire la riga contenente"opencv-python>=4.6.0"
con"opencv-python-headless>=4.6.0"
(modificare la versione in base alle esigenze). - Impegnarsi e spingere le vostre modifiche:
git add pyproject.toml git commit -m "Switch to opencv-python-headless" git push origin custom-opencv
- Installare utilizzando pip con l'opzione
git+https
che punta al vostro ramo:pip install git+https://github.com/YOUR_USERNAME/ultralytics.git@custom-opencv
Questo metodo assicura che il set di dipendenze personalizzato venga usato ogni volta che si installa da questo URL specifico. Vedere il metodo 4 per l'utilizzo di questo metodo in un file requirements.txt
file.
Analogamente al metodo standard "Git Clone" per lo sviluppo, è possibile clonare il repository localmente, modificare i file di dipendenza prima dell' installazione e quindi installare in modalità modificabile.
- Clone il repository Ultralytics :
git clone https://github.com/ultralytics/ultralytics cd ultralytics
- Modificare
pyproject.toml
: Modificare il file per apportare le modifiche desiderate. Ad esempio, utilizzaresed
(su Linux/macOS) o un editor di testo per sostituireopencv-python
conopencv-python-headless
. Utilizzosed
(verificare la riga esatta inpyproject.toml
prima):Oppure modificare manualmente# Example: Replace the line starting with "opencv-python..." # Adapt the pattern carefully based on the current file content sed -i'' -e 's/^\s*"opencv-python>=.*",/"opencv-python-headless>=4.8.0",/' pyproject.toml
pyproject.toml
per cambiare"opencv-python>=...
a"opencv-python-headless>=..."
. - Installare il pacchetto in modalità modificabile (
-e
). Pip utilizzerà ora il vostro file modificatopyproject.toml
per risolvere e installare le dipendenze:pip install -e .
Questo approccio è utile per testare le modifiche locali alle dipendenze o alle configurazioni di build prima di eseguire il commit o per impostare ambienti di sviluppo specifici.
Se si gestiscono le dipendenze del progetto utilizzando un file requirements.txt
è possibile specificare il proprio fork personalizzato di Ultralytics direttamente al suo interno. Questo assicura che chiunque configuri il progetto riceva la vostra versione specifica con le sue dipendenze modificate (come ad esempio opencv-python-headless
).
- Creare o modificare
requirements.txt
: Aggiungete una riga che punta al vostro fork e ramo personalizzato (come preparato nel Metodo 2).requisiti.txtNota: non è necessario elencare le dipendenze già richieste dalla propria applicazione personalizzata.# Core dependencies numpy matplotlib pandas pyyaml Pillow psutil requests>=2.23.0 tqdm torch>=1.8.0 # Or specific version/variant torchvision>=0.9.0 # Or specific version/variant # Install ultralytics from a specific git commit or branch # Replace YOUR_USERNAME and custom-branch with your details git+https://github.com/YOUR_USERNAME/ultralytics.git@custom-branch # Other project dependencies flask # ... etc
ultralytics
forcella (comeopencv-python-headless
) qui, in quanto pip li installerà in base alla versione del forkpyproject.toml
. - Installare dipendenze dal file:
pip install -r requirements.txt
Questo metodo si integra perfettamente con i flussi di lavoro standard di gestione delle dipendenze di un progetto Python , consentendo di appuntare ultralytics
alla vostra fonte Git personalizzata.
Utilizzare Ultralytics con CLI
L'interfaccia a riga di comandoCLI) Ultralytics consente di eseguire semplici comandi a riga singola senza bisogno di un ambiente Python . La CLI non richiede alcuna personalizzazione o codice Python ; eseguite tutte le operazioni dal terminale con il comando yolo
per il comando YOLO. Per ulteriori informazioni sull'uso di YOLO dalla riga di comando, vedere il documento CLI Guida.
Esempio
Ultralytics yolo
I comandi utilizzano la seguente sintassi:
yolo TASK MODE ARGS
TASK
(opzionale) è uno dei seguenti (rilevare, segmento, classificare, posa, obb)
- MODE
(richiesto) è uno di (treno, valore, prevedere, esportazione, traccia, parametro di riferimento)
- ARGS
(opzionale) sono arg=value
coppie come imgsz=640
che sovrascrivono le impostazioni predefinite.
Vedi tutti ARGS
nell'intero Guida alla configurazione o con il yolo cfg
CLI comando.
Addestrare un modello di rilevamento per 10 epoche con una velocità di apprendimento iniziale di 0,01:
yolo train data=coco8.yaml model=yolo11n.pt epochs=10 lr0=0.01
Prevedere un video di YouTube utilizzando un modello di segmentazione preaddestrato a una dimensione dell'immagine pari a 320:
yolo predict model=yolo11n-seg.pt source='https://youtu.be/LNwODJXcvt4' imgsz=320
Convalidare un modello di rilevamento preaddestrato con una dimensione del lotto di 1 e una dimensione dell'immagine di 640:
yolo val model=yolo11n.pt data=coco8.yaml batch=1 imgsz=640
Esportare un modello di classificazione YOLOv11n in formato ONNX con un'immagine di dimensioni 224x128 (non è richiesto alcun TASK):
yolo export model=yolo11n-cls.pt format=onnx imgsz=224,128
Contate gli oggetti in un video o in un flusso live con YOLO11:
yolo solutions count show=True
yolo solutions count source="path/to/video.mp4" # specify video file path
Monitorare gli esercizi di allenamento utilizzando un modello di posa YOLO11 :
yolo solutions workout show=True
yolo solutions workout source="path/to/video.mp4" # specify video file path
# Use keypoints for ab-workouts
yolo solutions workout kpts="[5, 11, 13]" # left side
yolo solutions workout kpts="[6, 12, 14]" # right side
Utilizzare YOLO11 per contare gli oggetti in una coda o in una regione designata:
yolo solutions queue show=True
yolo solutions queue source="path/to/video.mp4" # specify video file path
yolo solutions queue region="[(20, 400), (1080, 400), (1080, 360), (20, 360)]" # configure queue coordinates
Eseguire il rilevamento di oggetti, la segmentazione di istanze o la stima della posa in un browser web utilizzando Streamlit:
yolo solutions inference
yolo solutions inference model="path/to/model.pt" # use model fine-tuned with Ultralytics Python package
Eseguite comandi speciali per vedere la versione, visualizzare le impostazioni, eseguire controlli e altro ancora:
yolo help
yolo checks
yolo version
yolo settings
yolo copy-cfg
yolo cfg
yolo solutions help
Avvertenze
Gli argomenti devono essere passati come arg=value
coppie, divise da un uguale =
e delimitati da spazi. Non utilizzare --
prefissi o virgole degli argomenti ,
tra gli argomenti.
yolo predict model=yolo11n.pt imgsz=640 conf=0.25
✅yolo predict model yolo11n.pt imgsz 640 conf 0.25
❌ (mancante=
)yolo predict model=yolo11n.pt, imgsz=640, conf=0.25
❌ (non utilizzare,
)yolo predict --model yolo11n.pt --imgsz 640 --conf 0.25
❌ (non utilizzare--
)yolo solution model=yolo11n.pt imgsz=640 conf=0.25
❌ (utilizzaresolutions
, nonsolution
)
Utilizzare Ultralytics con Python
L'interfacciaPython di Ultralytics YOLO si integra perfettamente nei progetti Python , facilitando il caricamento, l'esecuzione e l'elaborazione dei risultati dei modelli. Progettata per essere semplice, l'interfaccia Python consente agli utenti di implementare rapidamente il rilevamento, la segmentazione e la classificazione degli oggetti. Ciò rende l'interfaccia YOLO Python uno strumento prezioso per incorporare queste funzionalità nei progetti Python .
Ad esempio, gli utenti possono caricare un modello, addestrarlo, valutarne le prestazioni ed esportarlo in formato ONNX con poche righe di codice. Esplorate la GuidaPython per saperne di più sull'uso di YOLO nei vostri progetti Python .
Esempio
from ultralytics import YOLO
# Create a new YOLO model from scratch
model = YOLO("yolo11n.yaml")
# Load a pretrained YOLO model (recommended for training)
model = YOLO("yolo11n.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 Impostazioni
La libreria Ultralytics include una libreria SettingsManager
per un controllo a grana fine sugli esperimenti, consentendo agli utenti di accedere e modificare facilmente le impostazioni. Memorizzate in un file JSON all'interno della directory di configurazione utente dell'ambiente, queste impostazioni possono essere visualizzate o modificate nell'ambiente Python o tramite l'interfaccia a riga di comandoCLI).
Ispezione delle impostazioni
Per visualizzare la configurazione attuale delle impostazioni:
Visualizza le impostazioni
Utilizzate Python per visualizzare le impostazioni importando il file settings
dall'oggetto ultralytics
modulo. Stampare e restituire le impostazioni con questi comandi:
from ultralytics import settings
# View all settings
print(settings)
# Return a specific setting
value = settings["runs_dir"]
L'interfaccia a riga di comando consente di verificare le impostazioni con:
yolo settings
Modifica delle impostazioni
Ultralytics consente di modificare facilmente le impostazioni nei seguenti modi:
Aggiornamento delle impostazioni
In Python, utilizzare l'opzione update
sul metodo settings
oggetto:
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()
Per modificare le impostazioni utilizzando l'interfaccia a riga di comando:
# 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
Comprensione delle impostazioni
La tabella seguente presenta una panoramica delle impostazioni regolabili di Ultralytics, con valori di esempio, tipi di dati e descrizioni.
Nome | Esempio di valore | Tipo di dati | Descrizione |
---|---|---|---|
settings_version |
'0.0.4' |
str |
Versionedelle impostazioni di Ultralytics (distinta dalla versione di Ultralytics pip ) |
datasets_dir |
'/path/to/datasets' |
str |
Directory in cui sono memorizzati i set di dati |
weights_dir |
'/path/to/weights' |
str |
Directory in cui sono memorizzati i pesi del modello |
runs_dir |
'/path/to/runs' |
str |
Directory in cui sono memorizzate le esecuzioni degli esperimenti |
uuid |
'a1b2c3d4' |
str |
Identificatore univoco delle impostazioni correnti |
sync |
True |
bool |
Possibilità di sincronizzare le analisi e i crash con Ultralytics HUB |
api_key |
'' |
str |
Chiave API di Ultralytics HUB |
clearml |
True |
bool |
Opzione per l'utilizzo di ClearML registrazione |
comet |
True |
bool |
Possibilità di utilizzare Comet ML per il tracciamento e la visualizzazione degli esperimenti |
dvc |
True |
bool |
Possibilità di utilizzare DVC per il tracciamento degli esperimenti e il controllo delle versioni |
hub |
True |
bool |
Possibilità di utilizzare l'integrazione di Ultralytics HUB |
mlflow |
True |
bool |
Possibilità di utilizzare MLFlow per il tracciamento degli esperimenti |
neptune |
True |
bool |
Possibilità di utilizzare Neptune per il tracciamento degli esperimenti |
raytune |
True |
bool |
Opzione per l'utilizzo di Ray Tune per la regolazione dell'iperparametro |
tensorboard |
True |
bool |
Opzione di utilizzo di TensorBoard per la visualizzazione |
wandb |
True |
bool |
Opzione da utilizzare Weights & Biases registrazione |
vscode_msg |
True |
bool |
Quando viene rilevato un terminale VS Code, attiva un prompt per scaricare l'estensione Ultralytics. |
Rivedere queste impostazioni man mano che si procede con i progetti o gli esperimenti per garantire una configurazione ottimale.
FAQ
Come si installa Ultralytics usando pip?
Installare Ultralytics con pip utilizzando:
pip install ultralytics
Questo installa l'ultima versione stabile di ultralytics
da PyPI. Per installare la versione di sviluppo direttamente da GitHub:
pip install git+https://github.com/ultralytics/ultralytics.git
Assicurarsi che lo strumento a riga di comando Git sia installato sul sistema.
Posso installare Ultralytics YOLO usando conda?
Sì, installare Ultralytics YOLO usando conda con:
conda install -c conda-forge ultralytics
Questo metodo è un'ottima alternativa a pip e garantisce la compatibilità con altri pacchetti. Per gli ambienti CUDA , installare ultralytics
, pytorch
, e pytorch-cuda
insieme per risolvere i conflitti:
conda install -c pytorch -c nvidia -c conda-forge pytorch torchvision pytorch-cuda=11.8 ultralytics
Per ulteriori istruzioni, consultare la guida rapida di Conda.
Quali sono i vantaggi di utilizzare Docker per eseguire Ultralytics YOLO ?
Docker offre un ambiente isolato e coerente per Ultralytics YOLO, garantendo prestazioni fluide su tutti i sistemi ed evitando le complessità dell'installazione locale. Le immagini Docker ufficiali sono disponibili su Docker Hub, con varianti per GPU, CPU, ARM64, NVIDIA Jetson e Conda. Per prelevare ed eseguire l'immagine più recente:
# Pull the latest ultralytics image from Docker Hub
sudo docker pull ultralytics/ultralytics:latest
# Run the ultralytics image in a container with GPU support
sudo docker run -it --ipc=host --gpus all ultralytics/ultralytics:latest
Per istruzioni dettagliate su Docker, consultare la guida rapida di Docker.
Come si clona il repository Ultralytics per lo sviluppo?
Clonare il repository Ultralytics e impostare un ambiente di sviluppo con:
# 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 .
Questo permette di contribuire al progetto o di sperimentare il codice sorgente più recente. Per maggiori dettagli, visitate il repository GitHub di Ultralytics .
Perché dovrei usare Ultralytics YOLO CLI ?
Ultralytics YOLO CLI semplifica l'esecuzione di attività di rilevamento degli oggetti senza codice Python , consentendo comandi a riga singola per l'addestramento, la convalida e la predizione direttamente dal terminale. La sintassi di base è:
yolo TASK MODE ARGS
Ad esempio, per addestrare un modello di rilevamento:
yolo train data=coco8.yaml model=yolo11n.pt epochs=10 lr0=0.01
Per ulteriori comandi ed esempi di utilizzo, consultare la Guida completa CLI .