YOLO Vision 2026:

Ultralytics YOLOv5 🚀 su AWS Deep Learning Instance: La tua guida completa#

Configurare un ambiente di deep learning ad alte prestazioni può sembrare scoraggiante, soprattutto per i nuovi arrivati. Ma non temere! 🛠️ Questa guida fornisce una procedura dettagliata per configurare e avviare Ultralytics YOLOv5 su un'istanza di AWS Deep Learning. Sfruttando la potenza di Amazon Web Services (AWS), anche chi è alle prime armi con il machine learning (ML) può iniziare in modo rapido ed economico. La scalabilità della piattaforma AWS la rende ideale sia per la sperimentazione che per il deployment in produzione.

Altre opzioni di avvio rapido per YOLOv5 includono il nostro Google Colab Notebook Open In Colab, gli Kaggle environments Open In Kaggle, la GCP Deep Learning VM e la nostra immagine Docker predefinita disponibile su Docker Hub Docker Pulls.

Passaggio 1: Accesso alla console AWS#

Inizia creando un account o accedendo alla AWS Management Console. Una volta effettuato l'accesso, vai alla dashboard del servizio EC2, dove puoi gestire i tuoi server virtuali (istanze).

AWS Management Console sign-in page

Passaggio 2: Avvia la tua istanza#

Dalla dashboard EC2, clicca sul pulsante Launch Instance. Questo avvia il processo di creazione di un nuovo server virtuale su misura per le tue esigenze.

Launch Instance Button

Selezione dell'Amazon Machine Image (AMI) corretta#

Scegliere la AMI corretta è fondamentale. Questo determina il sistema operativo e il software preinstallato per la tua istanza. Nella barra di ricerca, digita 'Deep Learning' e seleziona l'ultima AMI di Deep Learning basata su Ubuntu (a meno che tu non abbia requisiti specifici per un sistema operativo diverso). Le AMI di Deep Learning di Amazon sono preconfigurate con i più diffusi deep learning frameworks (come PyTorch, utilizzato da YOLOv5) e i necessari GPU drivers, semplificando notevolmente il processo di configurazione.

AWS EC2 Deep Learning AMI selection

Scegliere un tipo di istanza#

Per attività impegnative come l'addestramento di modelli di deep learning, è altamente consigliato selezionare un tipo di istanza con accelerazione GPU. Le GPU possono ridurre drasticamente il tempo richiesto per l'addestramento del modello rispetto alle CPU. Quando scegli la dimensione dell'istanza, assicurati che la sua capacità di memoria (RAM) sia sufficiente per il tuo modello e il tuo set di dati.

Nota: La dimensione del tuo modello e del tuo set di dati sono fattori critici. Se la tua attività di ML richiede più memoria di quella fornita dall'istanza selezionata, dovrai scegliere un tipo di istanza più grande per evitare problemi di prestazioni o errori.

Esplora i tipi di istanza GPU disponibili nella EC2 Instance Types page, in particolare nella categoria Accelerated Computing.

AWS EC2 GPU instance type selection

Per informazioni dettagliate sul monitoraggio e sull'ottimizzazione dell'utilizzo della GPU, fai riferimento alla guida AWS su GPU Monitoring and Optimization. Confronta i costi utilizzando On-Demand Pricing ed esplora i potenziali risparmi con Spot Instance Pricing.

Configurazione dell'istanza#

Considera l'utilizzo di Amazon EC2 Spot Instances per un approccio più economico. Le Spot Instances ti consentono di fare offerte sulla capacità EC2 inutilizzata, spesso con uno sconto significativo rispetto ai prezzi On-Demand. Per le attività che richiedono persistenza (salvataggio dei dati anche se la Spot Instance viene interrotta), scegli una persistent request. Questo garantisce che il tuo volume di archiviazione persista.

Spot Request Configuration

Procedi attraverso i passaggi 4-7 della procedura guidata di avvio dell'istanza per configurare l'archiviazione, aggiungere tag, impostare gruppi di sicurezza (assicurati che la porta SSH 22 sia aperta dal tuo IP) e rivedere le tue impostazioni prima di cliccare su Launch. Dovrai anche creare o selezionare una coppia di chiavi esistente per un accesso SSH sicuro.

Passaggio 3: Connessione all'istanza#

Una volta che lo stato della tua istanza risulta 'running', selezionala dalla dashboard EC2. Clicca sul pulsante Connect per visualizzare le opzioni di connessione. Utilizza l'esempio di comando SSH fornito nel tuo terminale locale (come Terminal su macOS/Linux o PuTTY/WSL su Windows) per stabilire una connessione sicura. Avrai bisogno del file di chiave privata (.pem) che hai creato o selezionato durante il lancio.

AWS EC2 instance SSH connection options

Passaggio 4: Esecuzione di Ultralytics YOLOv5#

Ora che sei connesso tramite SSH, puoi configurare ed eseguire YOLOv5. Per prima cosa, klona il repository ufficiale di YOLOv5 da GitHub ed entra nella directory. Quindi, installa le dipendenze richieste utilizzando pip. È consigliabile utilizzare un ambiente Python 3.8 o successivo. I modelli e i dataset necessari verranno scaricati automaticamente dall'ultimo release di YOLOv5 quando esegui comandi come l'addestramento o il rilevamento.

# Clone the YOLOv5 repository
git clone https://github.com/ultralytics/yolov5
cd yolov5

# Install required packages
pip install -r requirements.txt

Con l'ambiente pronto, puoi iniziare a utilizzare YOLOv5 per varie attività:

# Train a YOLOv5 model on a custom dataset (e.g., coco128.yaml)
python train.py --data coco128.yaml --weights yolov5s.pt --img 640

# Validate the performance (Precision, Recall, mAP) of a trained model (e.g., yolov5s.pt)
python val.py --weights yolov5s.pt --data coco128.yaml --img 640

# Run inference (object detection) on images or videos using a trained model
python detect.py --weights yolov5s.pt --source path/to/your/images_or_videos/ --img 640

# Export the trained model to various formats like ONNX, CoreML, TFLite for deployment
# See https://docs.ultralytics.com/modes/export/ for more details
python export.py --weights yolov5s.pt --include onnx coreml tflite --img 640

Fai riferimento alla documentazione di Ultralytics per guide dettagliate su Training, Validation, Prediction (Inference) e Exporting.

Extra opzionali: Aumento della memoria di swap#

Se stai lavorando con set di dati molto grandi o riscontri limitazioni di memoria durante l'addestramento, aumentare la memoria di swap sulla tua istanza può talvolta aiutare. Lo spazio di swap consente al sistema di utilizzare lo spazio su disco come RAM virtuale.

# Allocate a 64GB swap file (adjust size as needed)
sudo fallocate -l 64G /swapfile

# Set correct permissions
sudo chmod 600 /swapfile

# Set up the file as a Linux swap area
sudo mkswap /swapfile

# Enable the swap file
sudo swapon /swapfile

# Verify the swap memory is active
free -h

Congratulazioni! 🎉 Hai configurato con successo un'istanza AWS Deep Learning, installato Ultralytics YOLOv5 e sei pronto per eseguire attività di object detection. Che tu stia sperimentando con modelli preaddestrati o effettuando il training sui tuoi dati, questa potente configurazione offre una base scalabile per i tuoi progetti di computer vision. In caso di problemi, consulta l'estensiva AWS documentation e le utili risorse della community di Ultralytics come le FAQ. Buon rilevamento!

Commenti