Formazione del modello con Ultralytics YOLO
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.
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
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
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:
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:
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:
Per utilizzare TensorBoard localmente, eseguire il comando seguente e visualizzare i risultati su http://localhost:6006/.
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
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
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
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.