Vai al contenuto

Formazione del modello con Ultralytics YOLO

Ultralytics YOLO ecosistema e integrazioni

Introduzione

L'addestramento di un modello di deep learning comporta l'alimentazione di dati e la regolazione dei parametri in modo che possa fare previsioni accurate. La modalità Train di Ultralytics YOLO11 è stata progettata per un addestramento efficace ed efficiente dei modelli di rilevamento degli oggetti, sfruttando appieno le moderne capacità hardware. Questa guida si propone di fornire tutti i dettagli necessari per iniziare ad addestrare i propri modelli utilizzando la robusta serie di funzioni di YOLO11.



Guarda: Come addestrare un modello YOLO su un dataset personalizzato in Google Colab.

Perché scegliere Ultralytics YOLO per la formazione?

Ecco alcuni motivi validi per scegliere la modalità Treno di YOLO11:

  • Efficienza: Sfruttate al massimo il vostro hardware, sia che si tratti di una configurazione singolaGPU sia che si tratti di scalare su più GPU.
  • Versatilità: Addestramento su set di dati personalizzati oltre a quelli già disponibili come COCO, VOC e ImageNet.
  • Facilità d'uso: interfacce CLI e Python semplici ma potenti per un'esperienza di formazione immediata.
  • Flessibilità degli iperparametri: Un'ampia gamma di iperparametri personalizzabili per mettere a punto le prestazioni del modello.

Caratteristiche principali della modalità Treno

Di seguito sono riportate alcune caratteristiche di rilievo della modalità Treno di YOLO11:

  • Download automatico dei set di dati: I set di dati standard come COCO, VOC e ImageNet vengono scaricati automaticamente al primo utilizzo.
  • Supporto multiGPU : Scalate i vostri sforzi di formazione senza problemi su più GPU per accelerare il processo.
  • Configurazione degli iperparametri: Possibilità di modificare gli iperparametri tramite file di configurazione YAML o argomenti di CLI .
  • Visualizzazione e monitoraggio: Tracciamento in tempo reale delle metriche di formazione e visualizzazione del processo di apprendimento per una migliore comprensione.

Suggerimento

  • YOLO11 I set di dati come COCO, VOC, ImageNet e molti altri vengono scaricati automaticamente al primo utilizzo, ovvero yolo train data=coco.yaml

Esempi di utilizzo

Addestramento di YOLO11n sul set di dati COCO8 per 100 epoche alla dimensione dell'immagine 640. Il dispositivo di addestramento può essere specificato utilizzando il comando device argomento. Se non viene passato alcun argomento GPU device=0 verrà utilizzato se disponibile, altrimenti device='cpu' sarà utilizzato. Per un elenco completo degli argomenti di formazione, vedere la sezione Argomenti.

Esempio di formazione singolaGPU e CPU

Il dispositivo viene determinato automaticamente. Se è disponibile un GPU verrà utilizzato, altrimenti l'addestramento inizierà su CPU.

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n.yaml")  # build a new model from YAML
model = YOLO("yolo11n.pt")  # load a pretrained model (recommended for training)
model = YOLO("yolo11n.yaml").load("yolo11n.pt")  # build from YAML and transfer weights

# Train the model
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Build a new model from YAML and start training from scratch
yolo detect train data=coco8.yaml model=yolo11n.yaml epochs=100 imgsz=640

# Start training from a pretrained *.pt model
yolo detect train data=coco8.yaml model=yolo11n.pt epochs=100 imgsz=640

# Build a new model from YAML, transfer pretrained weights to it and start training
yolo detect train data=coco8.yaml model=yolo11n.yaml pretrained=yolo11n.pt epochs=100 imgsz=640

Formazione multiGPU

L'addestramento multiGPU consente un utilizzo più efficiente delle risorse hardware disponibili, distribuendo il carico di addestramento su più GPU. Questa funzione è disponibile sia tramite l'API Python che tramite l'interfaccia a riga di comando. Per abilitare l'addestramento multiploGPU specificare gli ID dei dispositivi GPU che si desidera utilizzare.

Esempio di formazione multiGPU

Per allenarsi con 2 GPU, CUDA dispositivi 0 e 1, utilizzare i seguenti comandi. Espandere ad altre GPU se necessario.

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n.pt")  # load a pretrained model (recommended for training)

# Train the model with 2 GPUs
results = model.train(data="coco8.yaml", epochs=100, imgsz=640, device=[0, 1])
# Start training from a pretrained *.pt model using GPUs 0 and 1
yolo detect train data=coco8.yaml model=yolo11n.pt epochs=100 imgsz=640 device=0,1

Formazione Apple Silicon MPS

Grazie al supporto per i chip di silicio Apple integrati nei modelli Ultralytics YOLO , è ora possibile addestrare i modelli su dispositivi che utilizzano il potente framework Metal Performance Shaders (MPS). MPS offre un modo ad alte prestazioni per eseguire compiti di calcolo e di elaborazione delle immagini sul silicio personalizzato di Apple.

Per abilitare l'addestramento sui chip di silicio Apple, è necessario specificare 'mps' come dispositivo quando si avvia il processo di addestramento. Di seguito è riportato un esempio di come si può fare in Python e tramite la riga di comando:

MPS Esempio di formazione

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n.pt")  # load a pretrained model (recommended for training)

# Train the model with MPS
results = model.train(data="coco8.yaml", epochs=100, imgsz=640, device="mps")
# Start training from a pretrained *.pt model using MPS
yolo detect train data=coco8.yaml model=yolo11n.pt epochs=100 imgsz=640 device=mps

Sfruttando la potenza di calcolo dei chip di silicio Apple, si ottiene un'elaborazione più efficiente dei compiti di addestramento. Per indicazioni più dettagliate e opzioni di configurazione avanzate, consultare la documentazione di PyTorch MPS .

Ripresa delle formazioni interrotte

Riprendere l'addestramento da uno stato precedentemente salvato è una funzione cruciale quando si lavora con modelli di deep learning. Può essere utile in vari scenari, ad esempio quando il processo di addestramento è stato interrotto inaspettatamente o quando si desidera continuare ad addestrare un modello con nuovi dati o per più epoche.

Quando si riprende l'addestramento, Ultralytics YOLO carica i pesi dell'ultimo modello salvato e ripristina anche lo stato dell'ottimizzatore, lo scheduler del tasso di apprendimento e il numero di epoch. In questo modo è possibile continuare il processo di addestramento senza soluzione di continuità dal punto in cui è stato interrotto.

È possibile riprendere facilmente l'allenamento in Ultralytics YOLO impostando l'opzione resume argomento a True quando si chiama il metodo train e specificando il percorso del file .pt contenente i pesi del modello parzialmente addestrato.

Di seguito è riportato un esempio di come riprendere una formazione interrotta utilizzando Python e tramite la riga di comando:

Esempio di formazione sul curriculum

from ultralytics import YOLO

# Load a model
model = YOLO("path/to/last.pt")  # load a partially trained model

# Resume training
results = model.train(resume=True)
# Resume an interrupted training
yolo train resume model=path/to/last.pt

Impostando resume=True, il train continuerà l'allenamento dal punto in cui è stato interrotto, utilizzando lo stato memorizzato nel file "path/to/last.pt". Se il file resume è omesso o impostato a False, il train inizierà una nuova sessione di formazione.

Si ricordi che i checkpoint vengono salvati alla fine di ogni epoca per impostazione predefinita, oppure a intervalli fissi usando l'opzione save_period quindi è necessario completare almeno 1 epoca per riprendere una corsa di allenamento.

Impostazioni del treno

Le impostazioni di addestramento per i modelli YOLO comprendono vari iperparametri e configurazioni utilizzati durante il processo di addestramento. Queste impostazioni influenzano le prestazioni, la velocità e la precisione del modello. Le principali impostazioni di addestramento includono la dimensione del batch, il tasso di apprendimento, il momentum e il decadimento del peso. Inoltre, la scelta dell'ottimizzatore, della funzione di perdita e della composizione del set di dati di addestramento possono influire sul processo di addestramento. Un'attenta messa a punto e la sperimentazione di queste impostazioni sono fondamentali per ottimizzare le prestazioni.

Argomento Tipo Predefinito Descrizione
model str None Specifica il file del modello per l'addestramento. Accetta il percorso di un file .pt modello preaddestrato o un .yaml file di configurazione. Essenziale per definire la struttura del modello o per inizializzare i pesi.
data str None Percorso del file di configurazione del set di dati (ad es, coco8.yaml). Questo file contiene i parametri specifici del set di dati, compresi i percorsi per l'addestramento e la formazione. dati di convalida, nomi delle classi e numero di classi.
epochs int 100 Numero totale di epoche di addestramento. Ogni epoch rappresenta un passaggio completo sull'intero set di dati. La regolazione di questo valore può influire sulla durata dell'addestramento e sulle prestazioni del modello.
time float None Tempo massimo di formazione in ore. Se impostato, sostituisce il valore epochs che consente di interrompere automaticamente l'addestramento dopo la durata specificata. Utile per scenari di addestramento con vincoli di tempo.
patience int 100 Numero di epoche da attendere senza miglioramenti nelle metriche di validazione prima di interrompere anticipatamente l'addestramento. Aiuta a prevenire l'overfitting, interrompendo l'addestramento quando le prestazioni raggiungono il livello massimo.
batch int 16 Dimensione del lottocon tre modalità: impostazione come numero intero (ad es, batch=16), modalità automatica per un utilizzo del 60% della memoria di GPU (batch=-1), o modalità automatica con frazione di utilizzo specificata (batch=0.70).
imgsz int o list 640 Dimensione dell'immagine target per l'addestramento. Tutte le immagini vengono ridimensionate a questa dimensione prima di essere inserite nel modello. Influisce sull'accuratezza del modello e sulla complessità computazionale.
save bool True Consente di salvare i checkpoint di addestramento e i pesi finali del modello. Utile per riprendere l'addestramento o la distribuzione del modello.
save_period int -1 Frequenza di salvataggio dei checkpoint del modello, specificata in epoche. Un valore di -1 disabilita questa funzione. Utile per salvare i modelli intermedi durante lunghe sessioni di allenamento.
cache bool False Abilita la cache delle immagini del dataset in memoria (True/ram), su disco (disk), oppure disattivarlo (False). Migliora la velocità di addestramento riducendo l'I/O su disco al costo di un maggiore utilizzo della memoria.
device int o str o list None Specifica il/i dispositivo/i di calcolo per l'addestramento: un singolo GPU (device=0), GPU multiple (device=0,1), CPU (device=cpu), o MPS per il silicio Apple (device=mps).
workers int 8 Numero di thread worker per il caricamento dei dati (per RANK se formazione multiGPU ). Influenza la velocità di preelaborazione dei dati e di alimentazione del modello, particolarmente utile nelle configurazioni multiGPU .
project str None Nome della directory del progetto in cui vengono salvati i risultati dell'allenamento. Consente l'archiviazione organizzata di diversi esperimenti.
name str None Nome della sessione di allenamento. Utilizzato per creare una sottocartella all'interno della cartella del progetto, in cui memorizzare i registri e i risultati dell'allenamento.
exist_ok bool False Se è vero, consente di sovrascrivere una cartella di progetto/nome esistente. Utile per la sperimentazione iterativa senza dover cancellare manualmente i risultati precedenti.
pretrained bool True Determina se iniziare l'addestramento da un modello preaddestrato. Può essere un valore booleano o un percorso stringa a un modello specifico da cui caricare i pesi. Migliora l'efficienza dell'addestramento e le prestazioni del modello.
optimizer str 'auto' Scelta dell'ottimizzatore per la formazione. Le opzioni includono SGD, Adam, AdamW, NAdam, RAdam, RMSProp ecc. auto per la selezione automatica in base alla configurazione del modello. Influisce sulla velocità di convergenza e sulla stabilità.
seed int 0 Imposta il seme casuale per l'addestramento, garantendo la riproducibilità dei risultati tra le esecuzioni con le stesse configurazioni.
deterministic bool True Forza l'uso di algoritmi deterministici, garantendo la riproducibilità, ma può influire sulle prestazioni e sulla velocità a causa della limitazione degli algoritmi non deterministici.
single_cls bool False Tratta tutte le classi in insiemi di dati multiclasse come una singola classe durante l'addestramento. Utile per compiti di classificazione binaria o quando ci si concentra sulla presenza di oggetti piuttosto che sulla classificazione.
classes list[int] None Specifica un elenco di ID di classi su cui allenarsi. Utile per filtrare e concentrarsi solo su alcune classi durante l'addestramento.
rect bool False Consente l'addestramento rettangolare, ottimizzando la composizione dei batch per ottenere un padding minimo. Può migliorare l'efficienza e la velocità, ma può influire sull'accuratezza del modello.
cos_lr bool False Utilizza uno scheduler del tasso di apprendimento del coseno, che regola il tasso di apprendimento seguendo una curva del coseno nel corso delle epoche. Aiuta a gestire il tasso di apprendimento per una migliore convergenza.
close_mosaic int 10 Disabilita l'aumento dei dati del mosaico nelle ultime N epoche per stabilizzare l'addestramento prima del completamento. L'impostazione a 0 disabilita questa funzione.
resume bool False Riprende l'addestramento dall'ultimo checkpoint salvato. Carica automaticamente i pesi del modello, lo stato dell'ottimizzatore e il conteggio delle epoche, continuando l'addestramento senza interruzioni.
amp bool True Abilita l'addestramento automatico di precisione mista (AMP), riducendo l'uso della memoria e possibilmente accelerando l'addestramento con un impatto minimo sulla precisione.
fraction float 1.0 Specifica la frazione del set di dati da utilizzare per l'addestramento. Consente l'addestramento su un sottoinsieme dell'intero set di dati, utile per gli esperimenti o quando le risorse sono limitate.
profile bool False Consente di profilare le velocità di ONNX e TensorRT durante l'addestramento, utile per ottimizzare la distribuzione del modello.
freeze int o list None Congela i primi N strati del modello o strati specificati per indice, riducendo il numero di parametri addestrabili. Utile per la messa a punto o l'apprendimento per trasferimento.
lr0 float 0.01 Tasso di apprendimento iniziale (cioè SGD=1E-2, Adam=1E-3) . La regolazione di questo valore è fondamentale per il processo di ottimizzazione, in quanto influisce sulla velocità di aggiornamento dei pesi del modello.
lrf float 0.01 Tasso di apprendimento finale come frazione del tasso iniziale = (lr0 * lrf), utilizzato insieme agli schedulatori per regolare il tasso di apprendimento nel tempo.
momentum float 0.937 Fattore di momentum per SGD o beta1 per gli ottimizzatori Adam, che influenza l'incorporazione dei gradienti passati nell'aggiornamento corrente.
weight_decay float 0.0005 Termine di regolarizzazione L2, che penalizza i pesi grandi per evitare l'overfitting.
warmup_epochs float 3.0 Numero di epoche per il riscaldamento del tasso di apprendimento, aumentando gradualmente il tasso di apprendimento da un valore basso al tasso di apprendimento iniziale per stabilizzare l'addestramento all'inizio.
warmup_momentum float 0.8 Slancio iniziale per la fase di riscaldamento, con regolazione graduale dello slancio impostato nel corso del periodo di riscaldamento.
warmup_bias_lr float 0.1 Tasso di apprendimento dei parametri di polarizzazione durante la fase di riscaldamento, che aiuta a stabilizzare l'addestramento del modello nelle epoche iniziali.
box float 7.5 Peso della componente box loss nella funzione di perdita, che influenza l'importanza attribuita alla previsione accurata delle coordinate del rettangolo di selezione.
cls float 0.5 Peso della perdita di classificazione nella funzione di perdita totale, che influisce sull'importanza della previsione della classe corretta rispetto agli altri componenti.
dfl float 1.5 Peso della perdita focale della distribuzione, utilizzato in alcune versioni di YOLO per una classificazione a grana fine.
pose float 12.0 Peso della perdita di posa nei modelli addestrati per la stima della posa, che influenza l'enfasi sulla previsione accurata dei punti chiave della posa.
kobj float 2.0 Peso della perdita di oggettività dei punti chiave nei modelli di stima della posa, bilanciando la fiducia nel rilevamento con l'accuratezza della posa.
nbs int 64 Dimensione nominale del lotto per la normalizzazione della perdita.
overlap_mask bool True Determina se le maschere degli oggetti devono essere unite in un'unica maschera per l'addestramento o se devono essere mantenute separate per ogni oggetto. In caso di sovrapposizione, la maschera più piccola viene sovrapposta a quella più grande durante la fusione.
mask_ratio int 4 Rapporto di downsample per le maschere di segmentazione, che influisce sulla risoluzione delle maschere utilizzate durante l'addestramento.
dropout float 0.0 Tasso di abbandono per la regolarizzazione nei compiti di classificazione, per evitare l'overfitting mediante l'omissione casuale di unità durante l'addestramento.
val bool True Abilita la convalida durante l'addestramento, consentendo una valutazione periodica delle prestazioni del modello su un set di dati separato.
plots bool False Genera e salva i grafici delle metriche di addestramento e di convalida, nonché gli esempi di predizione, fornendo indicazioni visive sulle prestazioni del modello e sulla progressione dell'apprendimento.

Nota sulle impostazioni delle dimensioni del batch

Il batch L'argomento può essere configurato in tre modi:

  • Dimensione fissa del lotto: Impostare un valore intero (ad es, batch=16), specificando direttamente il numero di immagini per batch.
  • Modalità Auto (60% GPU Memoria): Utilizzo batch=-1 per regolare automaticamente le dimensioni del batch per un utilizzo della memoria di CUDA pari a circa il 60%.
  • Modalità automatica con frazione di utilizzo: Impostare un valore di frazione (ad esempio, batch=0.70) per regolare la dimensione del batch in base alla frazione specificata dell'uso della memoria di GPU .

Impostazioni di incremento e iperparametri

Le tecniche di incremento sono essenziali per migliorare la robustezza e le prestazioni dei modelli YOLO introducendo variabilità nei dati di addestramento, aiutando il modello a generalizzarsi meglio ai dati non visti. La tabella seguente illustra lo scopo e l'effetto di ciascun argomento di incremento:

Argomento Tipo Predefinito Gamma Descrizione
hsv_h float 0.015 0.0 - 1.0 Regola la tonalità dell'immagine di una frazione della ruota dei colori, introducendo la variabilità del colore. Aiuta il modello a generalizzarsi in diverse condizioni di illuminazione.
hsv_s float 0.7 0.0 - 1.0 Altera la saturazione dell'immagine di una frazione, influenzando l'intensità dei colori. Utile per simulare diverse condizioni ambientali.
hsv_v float 0.4 0.0 - 1.0 Modifica il valore (luminosità) dell'immagine di una frazione, aiutando il modello a funzionare bene in varie condizioni di illuminazione.
degrees float 0.0 -180 - +180 Ruota l'immagine in modo casuale all'interno dell'intervallo di gradi specificato, migliorando la capacità del modello di riconoscere gli oggetti con diversi orientamenti.
translate float 0.1 0.0 - 1.0 Traduce l'immagine in orizzontale e in verticale di una frazione delle dimensioni dell'immagine, aiutando l'apprendimento del rilevamento di oggetti parzialmente visibili.
scale float 0.5 >=0.0 Ridimensiona l'immagine con un fattore di guadagno, simulando oggetti a distanze diverse dalla telecamera.
shear float 0.0 -180 - +180 Taglia l'immagine di un grado specifico, simulando l'effetto di oggetti visti da angolazioni diverse.
perspective float 0.0 0.0 - 0.001 Applica una trasformazione prospettica casuale all'immagine, migliorando la capacità del modello di comprendere gli oggetti nello spazio 3D.
flipud float 0.0 0.0 - 1.0 Capovolge l'immagine con la probabilità specificata, aumentando la variabilità dei dati senza influire sulle caratteristiche dell'oggetto.
fliplr float 0.5 0.0 - 1.0 Capovolge l'immagine da sinistra a destra con la probabilità specificata, utile per l'apprendimento di oggetti simmetrici e per aumentare la diversità del set di dati.
bgr float 0.0 0.0 - 1.0 Inverte i canali dell'immagine da RGB a BGR con la probabilità specificata, utile per aumentare la robustezza di un ordine errato dei canali.
mosaic float 1.0 0.0 - 1.0 Combina quattro immagini di addestramento in una sola, simulando diverse composizioni della scena e interazioni di oggetti. Molto efficace per la comprensione di scene complesse.
mixup float 0.0 0.0 - 1.0 Fonde due immagini e le loro etichette, creando un'immagine composita. Migliora la capacità di generalizzazione del modello introducendo il rumore delle etichette e la variabilità visiva.
copy_paste float 0.0 0.0 - 1.0 Copia e incolla gli oggetti tra le immagini, utile per aumentare le istanze degli oggetti e imparare l'occlusione degli oggetti. Richiede etichette di segmentazione.
copy_paste_mode str flip - Selezione del metodo di incremento copia-incolla tra le opzioni di ("flip", "mixup").
auto_augment str randaugment - Applica automaticamente una politica di incremento predefinita (randaugment, autoaugment, augmix), ottimizzando i compiti di classificazione attraverso la diversificazione delle caratteristiche visive.
erasing float 0.4 0.0 - 0.9 Cancella a caso una parte dell'immagine durante l'addestramento alla classificazione, incoraggiando il modello a concentrarsi su caratteristiche meno evidenti per il riconoscimento.
crop_fraction float 1.0 0.1 - 1.0 Ritaglia l'immagine di classificazione a una frazione delle sue dimensioni per enfatizzare le caratteristiche centrali e adattarsi alle scale degli oggetti, riducendo le distrazioni dello sfondo.

Queste impostazioni possono essere regolate per soddisfare i requisiti specifici del set di dati e del compito da svolgere. La sperimentazione di diversi valori può aiutare a trovare la strategia di incremento ottimale che porta alle migliori prestazioni del modello.

Info

Per ulteriori informazioni sulle operazioni di addestramento di potenziamento, consultare la sezione di riferimento.

Registrazione

Nell'addestramento di un modello YOLO11 , potrebbe essere utile tenere traccia delle prestazioni del modello nel tempo. È qui che entra in gioco la registrazione. Ultralytics'YOLO supporta tre tipi di logger: Comet, ClearML e TensorBoard.

Per utilizzare un logger, selezionarlo dal menu a discesa nel frammento di codice precedente ed eseguirlo. Il logger scelto verrà installato e inizializzato.

Comet

Comet è una piattaforma che consente a data scientist e sviluppatori di monitorare, confrontare, spiegare e ottimizzare esperimenti e modelli. Offre funzionalità quali metriche in tempo reale, differenze di codice e monitoraggio degli iperparametri.

Per utilizzare Comet:

Esempio

# pip install comet_ml
import comet_ml

comet_ml.init()

Ricordatevi di accedere al vostro account Comet sul loro sito web e di ottenere la vostra chiave API. Sarà necessario aggiungerla alle variabili d'ambiente o allo script per registrare gli esperimenti.

ClearML

ClearML è una piattaforma open-source che automatizza il monitoraggio degli esperimenti e aiuta a condividere in modo efficiente le risorse. È stata progettata per aiutare i team a gestire, eseguire e riprodurre il loro lavoro di ML in modo più efficiente.

Per utilizzare ClearML:

Esempio

# pip install clearml
import clearml

clearml.browser_login()

Dopo aver eseguito questo script, è necessario accedere al proprio account ClearML sul browser e autenticare la sessione.

TensorBoard

TensorBoard è un toolkit di visualizzazione per TensorFlow. Permette di visualizzare il grafico TensorFlow , di tracciare metriche quantitative sull'esecuzione del grafico e di mostrare dati aggiuntivi come le immagini che lo attraversano.

Per utilizzare TensorBoard in Google Colab:

Esempio

load_ext tensorboard
tensorboard --logdir ultralytics/runs  # replace with 'runs' directory

Per utilizzare TensorBoard localmente, eseguire il comando seguente e visualizzare i risultati su http://localhost:6006/.

Esempio

tensorboard --logdir ultralytics/runs  # replace with 'runs' directory

Questo caricherà TensorBoard e lo indirizzerà alla directory in cui sono salvati i registri di allenamento.

Dopo aver impostato il logger, si può procedere con l'addestramento del modello. Tutte le metriche di addestramento saranno automaticamente registrate nella piattaforma scelta e sarà possibile accedere a questi registri per monitorare le prestazioni del modello nel tempo, confrontare modelli diversi e identificare le aree di miglioramento.

FAQ

Come si addestra un modello di rilevamento degli oggetti utilizzando Ultralytics YOLO11 ?

Per addestrare un modello di rilevamento degli oggetti usando Ultralytics YOLO11 , si può usare l'API Python o CLI. Di seguito è riportato un esempio per entrambi:

Esempio di formazione singolaGPU e CPU

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n.pt")  # load a pretrained model (recommended for training)

# Train the model
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
yolo detect train data=coco8.yaml model=yolo11n.pt epochs=100 imgsz=640

Per maggiori dettagli, consultare la sezione Impostazioni treno.

Quali sono le caratteristiche principali della modalità Treno di Ultralytics YOLO11 ?

Le caratteristiche principali della modalità Treno di Ultralytics YOLO11 includono:

  • Download automatico dei set di dati: Scarica automaticamente i set di dati standard come COCO, VOC e ImageNet.
  • Supporto multiGPU : Scala la formazione su più GPU per un'elaborazione più rapida.
  • Configurazione degli iperparametri: Personalizzare gli iperparametri tramite file YAML o argomenti di CLI .
  • Visualizzazione e monitoraggio: Tracciamento in tempo reale delle metriche di allenamento per una migliore comprensione.

Queste caratteristiche rendono l'allenamento efficiente e personalizzabile in base alle proprie esigenze. Per maggiori dettagli, consultare la sezione Caratteristiche principali della modalità Allenamento.

Come si riprende l'allenamento da una sessione interrotta in Ultralytics YOLO11 ?

Per riprendere l'allenamento da una sessione interrotta, impostare il parametro resume argomento a True e specificare il percorso dell'ultimo checkpoint salvato.

Esempio di formazione sul curriculum

from ultralytics import YOLO

# Load the partially trained model
model = YOLO("path/to/last.pt")

# Resume training
results = model.train(resume=True)
yolo train resume model=path/to/last.pt

Per ulteriori informazioni, consultare la sezione Ripresa di una formazione interrotta.

È possibile addestrare i modelli di YOLO11 sui chip di silicio Apple?

Sì, Ultralytics YOLO11 supporta l'allenamento su chip di silicio Apple che utilizzano il framework Metal Performance Shaders (MPS). Specificare 'mps' come dispositivo di allenamento.

MPS Esempio di formazione

from ultralytics import YOLO

# Load a pretrained model
model = YOLO("yolo11n.pt")

# Train the model on Apple silicon chip (M1/M2/M3/M4)
results = model.train(data="coco8.yaml", epochs=100, imgsz=640, device="mps")
yolo detect train data=coco8.yaml model=yolo11n.pt epochs=100 imgsz=640 device=mps

Per maggiori dettagli, consultare la sezione Formazione Apple Silicon MPS .

Quali sono le impostazioni di allenamento comuni e come si configurano?

Ultralytics YOLO11 consente di configurare una serie di impostazioni per l'addestramento, come la dimensione del batch, il tasso di apprendimento, le epoche e altro ancora, attraverso gli argomenti. Ecco una breve panoramica:

Argomento Predefinito Descrizione
model None Percorso del file del modello per l'addestramento.
data None Percorso del file di configurazione del set di dati (ad es, coco8.yaml).
epochs 100 Numero totale di epoche di addestramento.
batch 16 Dimensione del batch, regolabile in modalità intera o automatica.
imgsz 640 Dimensione dell'immagine target per l'addestramento.
device None Dispositivo/i di calcolo per l'addestramento come cpu, 0, 0,1, o mps.
save True Consente di salvare i checkpoint di addestramento e i pesi finali del modello.

Per una guida approfondita sulle impostazioni di allenamento, consultare la sezione Impostazioni di allenamento.

📅C reato 1 anno fa ✏️ Aggiornato 1 mese fa

Commenti