Vai al contenuto

Ultralytics YOLOv5 🚀 su AWS Deep Learning Instance: Guida completa

La creazione di un ambiente di deep learning ad alte prestazioni può sembrare scoraggiante, soprattutto per i neofiti. Ma non temete! 🛠️ Questa guida fornisce una guida passo a passo per ottenere Ultralytics YOLOv5 su un'istanza di Deep Learning di AWS. Sfruttando la potenza di Amazon Web Services (AWS), anche chi è alle prime armi con l'apprendimento automatico (ML) può iniziare in modo rapido e conveniente. La scalabilità della piattaforma AWS la rende ideale sia per la sperimentazione che per la produzione.

Altre opzioni di avvio rapido per YOLOv5 sono le nostre Quaderno di Google Colab Aprire in Colab, Ambienti Kaggle Aprire in Kaggle, GCP Deep Learning VMe la nostra immagine Docker precostituita disponibile su Hub Docker Docker tira.

Passo 1: accesso alla console AWS

Iniziare creando un account o accedendo alla Console di gestione AWS. Una volta effettuato l'accesso, passare alla dashboard del servizio EC2, dove è possibile gestire i server virtuali (istanze).

Accesso alla console AWS

Passo 2: Avviare l'istanza

Dalla dashboard EC2, fare clic sul pulsante Avvia istanza. In questo modo si avvia il processo di creazione di un nuovo server virtuale adatto alle proprie esigenze.

Pulsante di avvio dell'istanza

Selezione della giusta immagine della macchina Amazon (AMI)

La scelta dell'AMI corretta è fondamentale. Questa determina il sistema operativo e il software preinstallato per la vostra istanza. Nella barra di ricerca, digitate"Deep Learning" e selezionate l'ultima AMI Deep Learning basata su Ubuntu (a meno che non abbiate requisiti specifici per un sistema operativo diverso). Le AMI Deep Learning di Amazon sono preconfigurate con i framework di deep learning più diffusi (come ad esempio PyTorchutilizzato da YOLOv5) e i driverGPU necessari, semplificando notevolmente il processo di configurazione.

Scegliere AMI

Scegliere un tipo di istanza

Per le attività più impegnative, come l'addestramento di modelli di deep learning, si consiglia di scegliere un tipo di istanza GPU. Le GPU possono ridurre drasticamente il tempo necessario per l'addestramento del modello rispetto alle CPU. Quando si sceglie una dimensione di istanza, assicurarsi che la sua capacità di memoria (RAM) sia sufficiente per il modello e il dataset.

Nota: le dimensioni del modello e del set di dati sono fattori critici. Se l'attività di ML richiede una quantità di memoria superiore a quella fornita dall'istanza selezionata, è necessario scegliere un tipo di istanza più grande per evitare problemi di prestazioni o errori.

Esplorate i tipi di istanza GPU disponibili nella pagina Tipi di istanza EC2, in particolare nella categoria Computing accelerato.

Scegliere il tipo di istanza

Per informazioni dettagliate sul monitoraggio e l'ottimizzazione dell'uso GPU , consultare la guida AWS sul monitoraggio e l'ottimizzazioneGPU . Confrontate i costi con i prezzi On-Demand ed esplorate i potenziali risparmi con i prezzi Spot Instance.

Configurazione dell'istanza

Considerate l'utilizzo di Amazon EC2 Spot Instances per un approccio più economico. Le istanze Spot 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 l'istanza Spot viene interrotta), scegliere una richiesta persistente. Questo garantisce la persistenza del volume di storage.

Configurazione della richiesta di spot

Procedere con i passaggi 4-7 della procedura guidata per l'avvio dell'istanza per configurare lo storage, aggiungere tag, impostare i gruppi di sicurezza (assicurarsi che la porta SSH 22 sia aperta dal proprio IP) e rivedere le impostazioni prima di fare clic su Avvia. È inoltre necessario creare o selezionare una coppia di chiavi esistente per un accesso SSH sicuro.

Passo 3: Connettersi all'istanza

Quando lo stato dell'istanza viene visualizzato come "in esecuzione", selezionarla dalla dashboard EC2. Fare clic sul pulsante Collegare per visualizzare le opzioni di connessione. Utilizzare l'esempio di comando SSH fornito nel terminale locale (come Terminal su macOS/Linux o PuTTY/WSL su Windows) per stabilire una connessione sicura. È necessario il file della chiave privata (.pem) creato o selezionato durante il lancio.

Connettersi all'istanza

Passo 4: Esecuzione di Ultralytics YOLOv5

Ora che siete connessi via SSH, potete configurare ed eseguire YOLOv5. Per prima cosa, clonare il repository ufficiale di YOLOv5 da GitHub e navigare nella cartella. Quindi, installare le dipendenze necessarie usando pip. Si consiglia di utilizzare un Python ambiente 3.8 o successivo. I modelli e i set di dati necessari verranno scaricati automaticamente dall'ultima versione di YOLOv5. rilascio quando si eseguono 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, si può iniziare a usare YOLOv5 per vari compiti:

# 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

Per una guida dettagliata su addestramento, convalida, previsione (inferenza) ed esportazione, consultare la documentazione di Ultralytics .

Extra opzionali: Aumentare la memoria di scambio

Se si lavora con insiemi di dati molto grandi o si riscontrano limiti di memoria durante l'addestramento, a volte può essere utile aumentare la memoria di swap dell'istanza. 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! 🎉 Avete configurato con successo un'istanza AWS Deep Learning, installato Ultralytics YOLOv5 e siete pronti a eseguire operazioni di rilevamento degli oggetti. Sia che stiate sperimentando con modelli pre-addestrati o che vi stiate addestrando sui vostri dati, questa potente configurazione fornisce una base scalabile per i vostri progetti di computer vision. In caso di problemi, consultate l'ampia documentazione AWS e le utili risorse della comunità Ultralytics , come le FAQ. Buon rilevamento!



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

Commenti