Vai al contenuto

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

PyPI - Python Versione

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

PyPI - Versione Download

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

Versione Conda Conda Download Ricetta Conda Piattaforme Conda

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

Ultimo commit su GitHub Attività di commit su GitHub

# 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:

Versione dell'immagine Docker Docker tira

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

PyTorch Istruzioni per l'installazione

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.

  1. Installare ultralytics nucleo:

    pip install ultralytics --no-deps
    

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

  1. Fare il fork del repository GitHub di Ultralytics sul proprio account GitHub.
  2. Clone la vostra forchetta in loco:
    git clone https://github.com/YOUR_USERNAME/ultralytics.git
    cd ultralytics
    
  3. Creare un nuovo ramo per le modifiche apportate:
    git checkout -b custom-opencv
    
  4. Modificare pyproject.toml: Aperto pyproject.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).
  5. Impegnarsi e spingere le vostre modifiche:
    git add pyproject.toml
    git commit -m "Switch to opencv-python-headless"
    git push origin custom-opencv
    
  6. 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.

  1. Clone il repository Ultralytics :
    git clone https://github.com/ultralytics/ultralytics
    cd ultralytics
    
  2. Modificare pyproject.toml: Modificare il file per apportare le modifiche desiderate. Ad esempio, utilizzare sed (su Linux/macOS) o un editor di testo per sostituire opencv-python con opencv-python-headless. Utilizzo sed (verificare la riga esatta in pyproject.toml prima):
    # 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
    
    Oppure modificare manualmente pyproject.toml per cambiare "opencv-python>=... a "opencv-python-headless>=...".
  3. Installare il pacchetto in modalità modificabile (-e). Pip utilizzerà ora il vostro file modificato pyproject.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).

  1. Creare o modificare requirements.txt: Aggiungete una riga che punta al vostro fork e ramo personalizzato (come preparato nel Metodo 2).
    requisiti.txt
    # 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
    
    Nota: non è necessario elencare le dipendenze già richieste dalla propria applicazione personalizzata. ultralytics forcella (come opencv-python-headless) qui, in quanto pip li installerà in base alla versione del fork pyproject.toml.
  2. 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 ❌ (utilizzare solutions, non solution)

CLI Guida

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

Python Guida

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 .



📅C reato 1 anno fa ✏️ Aggiornato 18 giorni fa

Commenti

OSZAR »