Vai al contenuto

YOLO11 🚀 su AzureML

Che cos'è Azure?

Azure è la piattaforma di cloud computing di Microsoft, progettata per aiutare le organizzazioni a spostare i carichi di lavoro nel cloud dai data center on-premises. Grazie all'intera gamma di servizi cloud, tra cui quelli per l'elaborazione, i database, l'analisi, l'apprendimento automatico e la rete, gli utenti possono scegliere tra questi servizi per sviluppare e scalare nuove applicazioni o eseguire quelle esistenti nel cloud pubblico.

Che cos'è Azure Machine Learning (AzureML)?

Azure Machine Learning, comunemente chiamato AzureML, è un servizio cloud completamente gestito che consente a data scientist e sviluppatori di incorporare in modo efficiente l'analisi predittiva nelle loro applicazioni, aiutando le organizzazioni a utilizzare set di dati enormi e a portare tutti i vantaggi del cloud all'apprendimento automatico. AzureML offre una serie di servizi e funzionalità volti a rendere l'apprendimento automatico accessibile, facile da usare e scalabile. Fornisce funzionalità come l'apprendimento automatico, l'addestramento drag-and-drop dei modelli e un robusto SDK Python per consentire agli sviluppatori di sfruttare al meglio i loro modelli di apprendimento automatico.

In che modo AzureML è utile agli utenti di YOLO ?

Per gli utenti di YOLO (You Only Look Once), AzureML offre una piattaforma robusta, scalabile ed efficiente per addestrare e distribuire modelli di apprendimento automatico. Sia che vogliate eseguire prototipi veloci o scalare per gestire dati più ampi, l'ambiente flessibile e facile da usare di AzureML offre vari strumenti e servizi per soddisfare le vostre esigenze. Potete sfruttare AzureML per:

  • Gestire facilmente grandi insiemi di dati e risorse computazionali per l'addestramento.
  • Utilizzare gli strumenti integrati per la preelaborazione dei dati, la selezione delle caratteristiche e l'addestramento dei modelli.
  • Collaborare in modo più efficiente con le funzionalità di MLOps (Machine Learning Operations), tra cui, ma non solo, il monitoraggio, l'auditing e il versioning di modelli e dati.

Nelle sezioni successive, troverete una guida rapida che spiega come eseguire i modelli di rilevamento degli oggetti di YOLO11 utilizzando AzureML, sia da un terminale di calcolo che da un notebook.

Prerequisiti

Prima di iniziare, assicuratevi di avere accesso a un workspace AzureML. Se non ne avete uno, potete creare un nuovo spazio di lavoro AzureML seguendo la documentazione ufficiale di Azure. Questo spazio di lavoro funge da luogo centralizzato per gestire tutte le risorse AzureML.

Creare un'istanza di calcolo

Nell'area di lavoro AzureML, selezionare Compute > Istanze di calcolo > Nuovo, selezionare l'istanza con le risorse necessarie.

Creare un'istanza di calcolo Azure

Avvio rapido da terminale

Avviare il computer e aprire un terminale:

Terminale aperto

Creare virtualenv

Creare il virtualenv di conda e installarvi pip:

conda create --name yolo11env -y
conda activate yolo11env
conda install pip -y

Installare le dipendenze necessarie:

cd ultralytics
pip install -r requirements.txt
pip install ultralytics
pip install onnx>=1.12.0

Eseguire i compiti di YOLO11

Previsione:

yolo predict model=yolo11n.pt source='https://ultralytics.com/images/bus.jpg'

Addestrare un modello di rilevamento per 10 epoche con un tasso_di_apprendimento iniziale di 0,01:

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

Potete trovare ulteriori istruzioni per l'utilizzo di Ultralytics CLI qui.

Avvio rapido da un blocco note

Creare un nuovo kernel IPython

Aprire il terminale di calcolo.

Terminale aperto

Dal terminale di calcolo, è necessario creare un nuovo ipykernel che sarà usato dal notebook per gestire le dipendenze:

conda create --name yolo11env -y
conda activate yolo11env
conda install pip -y
conda install ipykernel -y
python -m ipykernel install --user --name yolo11env --display-name "yolo11env"

Chiudere il terminale e creare un nuovo blocco note. Dal blocco note è possibile selezionare il nuovo kernel.

Quindi è possibile aprire una cella di Notebook e installare le dipendenze necessarie:

%%bash
source activate yolo11env
cd ultralytics
pip install -r requirements.txt
pip install ultralytics
pip install onnx>=1.12.0

Si noti che è necessario utilizzare l'opzione source activate yolo11env per tutte le celle %%bash, per assicurarsi che la cella %%bash utilizzi l'ambiente desiderato.

Eseguire alcune previsioni utilizzando il metodo Ultralytics CLI:

%%bash
source activate yolo11env
yolo predict model=yolo11n.pt source='https://ultralytics.com/images/bus.jpg'

Oppure con l'interfacciaUltralytics Python , ad esempio per addestrare il modello:

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n.pt")  # load an official YOLO11n model

# Use the model
model.train(data="coco8.yaml", epochs=3)  # train the model
metrics = model.val()  # evaluate model performance on the validation set
results = model("https://ultralytics.com/images/bus.jpg")  # predict on an image
path = model.export(format="onnx")  # export the model to ONNX format

È possibile utilizzare l'interfaccia Ultralytics CLI o Python per eseguire i task di YOLO11 , come descritto nella sezione del terminale.

Seguendo questi passaggi, dovreste essere in grado di far funzionare rapidamente YOLO11 su AzureML per prove veloci. Per usi più avanzati, si può fare riferimento alla documentazione completa di AzureML, linkata all'inizio di questa guida.

Per saperne di più con AzureML

Questa guida serve come introduzione per iniziare a lavorare con YOLO11 su AzureML. Tuttavia, è solo un assaggio di ciò che AzureML può offrire. Per approfondire e sbloccare il pieno potenziale di AzureML per i vostri progetti di apprendimento automatico, considerate di esplorare le seguenti risorse:

FAQ

Come si esegue YOLO11 su AzureML per l'addestramento del modello?

L'esecuzione di YOLO11 su AzureML per l'addestramento dei modelli comporta diverse fasi:

  1. Creare un'istanza di calcolo: Dal vostro spazio di lavoro AzureML, andate su Compute > Istanze di calcolo > Nuovo e selezionate l'istanza desiderata.

  2. Impostazione dell'ambiente: Avviare l'istanza di calcolo, aprire un terminale e creare un ambiente conda:

    conda create --name yolo11env -y
    conda activate yolo11env
    conda install pip -y
    pip install ultralytics onnx>=1.12.0
    
  3. Eseguire le attività di YOLO11 : Utilizzare Ultralytics CLI per addestrare il modello:

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

Per maggiori dettagli, è possibile consultare le istruzioni per l'uso di Ultralytics CLI .

Quali sono i vantaggi dell'utilizzo di AzureML per la formazione su YOLO11 ?

AzureML fornisce un ecosistema robusto ed efficiente per l'addestramento di modelli YOLO11 :

  • Scalabilità: Scalare facilmente le risorse di calcolo con l'aumentare della complessità dei dati e dei modelli.
  • Integrazione MLOps: Utilizzate funzioni come il versioning, il monitoraggio e l'auditing per ottimizzare le operazioni di ML.
  • Collaborazione: Condividere e gestire le risorse all'interno dei team, migliorando i flussi di lavoro collaborativi.

Questi vantaggi rendono AzureML una piattaforma ideale per progetti che vanno da prototipi rapidi a implementazioni su larga scala. Per ulteriori suggerimenti, consultate AzureML Jobs.

Come si risolvono i problemi più comuni quando si esegue YOLO11 su AzureML?

La risoluzione di problemi comuni con YOLO11 su AzureML può comportare i seguenti passaggi:

  • Problemi di dipendenza: Assicurarsi che tutti i pacchetti richiesti siano installati. Consultare la sezione requirements.txt per le dipendenze.
  • Impostazione dell'ambiente: Verificare che l'ambiente conda sia attivato correttamente prima di eseguire i comandi.
  • Allocazione delle risorse: Assicurarsi che le istanze di calcolo abbiano risorse sufficienti per gestire il carico di lavoro della formazione.

Per ulteriori indicazioni, consultate la documentazione sui problemi comuni diYOLO .

È possibile utilizzare sia l'interfaccia Ultralytics CLI che Python su AzureML?

Sì, AzureML consente di utilizzare sia l'interfaccia Ultralytics CLI che quella Python senza soluzione di continuità:

  • CLI: Ideale per attività rapide e per l'esecuzione di script standard direttamente dal terminale.

    yolo predict model=yolo11n.pt source='https://ultralytics.com/images/bus.jpg'
    
  • Python Interfaccia: Utile per le attività più complesse che richiedono una codifica personalizzata e l'integrazione all'interno dei notebook.

    from ultralytics import YOLO
    
    model = YOLO("yolo11n.pt")
    model.train(data="coco8.yaml", epochs=3)
    

Per istruzioni più dettagliate, consultare le guide di avvio rapido qui e qui.

Qual è il vantaggio di utilizzare Ultralytics YOLO11 rispetto ad altri modelli di rilevamento degli oggetti?

Ultralytics YOLO11 offre diversi vantaggi unici rispetto ai modelli di rilevamento degli oggetti concorrenti:

  • Velocità: Inferenza e tempi di addestramento più rapidi rispetto a modelli come Faster R-CNN e SSD.
  • Precisione: Elevata precisione nei compiti di rilevamento grazie a caratteristiche come il design privo di ancore e le strategie di incremento migliorate.
  • Facilità d'uso: API e CLI intuitivi per una rapida configurazione, che lo rendono accessibile sia ai principianti che agli esperti.

Per saperne di più sulle caratteristiche di YOLO11, visitate la pagina Ultralytics YOLO per approfondimenti dettagliati.

📅C reato 1 anno fa ✏️ Aggiornato 2 mesi fa

Commenti