Imparare ONNX per il trading - pagina 9

 

Come installare ONNX Runtime su Raspberry Pi



Come installare ONNX Runtime su Raspberry Pi

Il video fornisce una guida dettagliata su come installare ONNX Runtime su Raspberry Pi. Dopo aver scaricato e installato Raspbian Stretch su Raspberry Pi, l'utente deve installare il pacchetto statico utente Docker e QMU, creare una directory di compilazione ed eseguire un comando per ottenere il pacchetto ruota ONNX Runtime, che può essere installato tramite pip. Il video spiega anche come testare ONNX Runtime utilizzando una rete neurale profonda addestrata sul set di dati MNIST e come calcolare il tempo impiegato per eseguire una sessione di inferenza su una singola immagine. Il relatore osserva che il processo può essere lungo e complicato, ma ne vale la pena per la capacità di implementare e testare reti neurali su dispositivi edge.

  • 00:00:00 Il sistema operativo è stato rilasciato da Raspberry Pi e puoi scaricare Raspberry Pi OS (precedentemente Raspbian) Stretch da qui. Dopo aver scaricato e installato Docker sul tuo Raspberry Pi, il passaggio successivo è accedere al repository ONNX Runtime Github e trovare il Dockerfile per la piattaforma ARM32v7. Sono disponibili diversi Dockerfile per piattaforme diverse, ma ARM32v7 è quello che ti serve per Raspberry Pi. Una volta trovato il Dockerfile corretto, puoi seguire le istruzioni fornite per installare ONNX Runtime sul tuo Raspberry Pi. Questo può essere un processo un po' lungo e complicato, ma ne vale la pena per la possibilità di implementare e testare reti neurali su dispositivi edge.

  • 00:05:00 In questa sezione, il relatore spiega come installare ONNX Runtime su Raspberry Pi. Innanzitutto, l'utente deve scaricare il file Raspbian Stretch e l'imager Raspberry Pi per rendere avviabile la scheda SD. Una volta installato Raspbian Stretch su Raspberry Pi, l'utente deve installare il pacchetto statico utente Docker e QMU. Dopo aver creato una directory di build, l'utente deve salvare il Dockerfile aggiornato nella directory di build ed eseguire il comando per ottenere il pacchetto ONNX Runtime Wheel. Una volta che il file wheel è stato installato con pip e testato, può essere importato e ONNX può essere utilizzato su Raspberry Pi con Python 3 versione 3.8.

  • 00:10:00 In questa sezione, il relatore spiega come utilizzare ONNX Runtime su Raspberry Pi per testare un modello che è stato addestrato su un particolare set di dati. Il relatore ha già addestrato una rete neurale profonda in grado di eseguire la classificazione delle cifre utilizzando il set di dati MNIST e ha fornito un collegamento al codice e al modello. Dopo aver importato le librerie necessarie, il relatore crea uno script che esegue una sessione di inferenza utilizzando ONNX Runtime. L'oratore riscontra un errore di segmentazione e, dopo aver effettuato ricerche, apprende i tre livelli di ottimizzazione dei grafici che ONNX Runtime può eseguire e li disabilita, eseguendo correttamente lo script e ottenendo l'output previsto.

  • 00:15:00 In questa sezione, il relatore spiega come hanno calcolato il tempo impiegato dal loro Raspberry Pi per eseguire una sessione di inferenza su una singola immagine. Introducono uno script separato utilizzando la libreria temporale per calcolare il tempo impiegato per generare l'output ed eseguire il modello all'interno del runtime ONNX, impiegando circa 0,06 secondi, che il relatore osserva è davvero buono per un modello semplice e dimensioni ridotte dell'immagine. Incoraggiano gli spettatori a installare il runtime ONNX sul proprio Raspberry Pi e a contattare per qualsiasi domanda o dubbio.
 

Classificazione delle immagini funzionante su Raspberry Pi con vari modelli MobileNet ONNX


Classificazione delle immagini funzionante su Raspberry Pi con vari modelli MobileNet ONNX

Esegui la classificazione delle immagini su Raspberry Pi 4 in ONNX Runtime utilizzando 3 modelli di modelli MobileNet V1 ONNX.

  1. Profondità 1.00 e 224x224
  2. Profondità 0,50 e 160x160
  3. Profondità 0,25 e 128x128

La classificazione fatta in 7 ms, a seconda del modello utilizzato.

 

SSDLite Mobilenet V2 su runtime ONNX funzionante su Raspberry Pi 4


SSDLite Mobilenet V2 su runtime ONNX funzionante su Raspberry Pi 4

SSDLite Mobilenet V2 su ONNX Runtime funzionante su Raspberry Pi 4 senza accelerazione hardware.

 

SSDLite Mobilenet V1 0.75 profondità su ONNX Runtime funzionante su Raspberry Pi 4



SSDLite Mobilenet V1 0.75 profondità su ONNX Runtime funzionante su Raspberry Pi 4

SSDLite Mobilenet V1 0.75 profondità su ONNX Runtime funzionante su Raspberry Pi 4 senza accelerazione hardware.

 

Tiny-YOLOv3 su ONNX Runtime funzionante su Raspberry Pi 4



Tiny-YOLOv3 su ONNX Runtime funzionante su Raspberry Pi 4

Tiny-YOLOv3 su runtime ONNX funzionante su Raspberry Pi 4 senza accelerazione hardware.

 

Classificazione Raspberry Pi 4 e rilevamento di oggetti con runtime ONNX ottimizzato



Classificazione Raspberry Pi 4 e rilevamento di oggetti con runtime ONNX ottimizzato

Eseguire la classificazione delle immagini su Raspberry Pi 4 in ONNX Runtime:

  1. Classificazione tramite MobileNet V3;
  2. Rilevamento tramite SSDLite MobileNet V2.
 

Rilevamento oggetti Raspberry Pi 4 con runtime ONNX ottimizzato (fine 2020)



Rilevamento oggetti Raspberry Pi 4 con runtime ONNX ottimizzato (fine 2020)

Hardware: Raspberry Pi 4B
Sistema operativo: sistema operativo Raspberry Pi (32 bit)
Software: ONNX Runtime 1.4.0 con provider di esecuzione personalizzato (accelerazione CPU)
Modelli:

 

Tiny-YOLOv3 su ONNX Runtime funzionante su Raspberry Pi 4


Tiny-YOLOv3 su ONNX Runtime funzionante su Raspberry Pi 4

Tiny-YOLOv3 su runtime ONNX funzionante su Raspberry Pi 4 senza accelerazione hardware.

 

Rilevamento autonomo di oggetti guida su Raspberry Pi 4!



Rilevamento autonomo di oggetti guida su Raspberry Pi 4!

In questo tutorial, l'istruttore dimostra i passaggi necessari per configurare Raspberry Pi 4 per il rilevamento di oggetti con una rete neurale addestrata alla guida autonoma. Ciò include la clonazione del repository, la configurazione di un ambiente virtuale, l'installazione di dipendenze come GPIO, OpenCV e TensorFlow e la configurazione del modulo fotocamera Raspberry Pi. Successivamente, l'istruttore dimostra il collegamento di un LED e un pulsante al Pi e l'esecuzione di uno script Python per acquisire immagini con rilevamento di oggetti. Infine, l'utente può apportare modifiche al file batch rc per eseguire lo script all'avvio e registrare filmati con le immagini salvate nel percorso di output.

  • 00:00:00 In questa sezione, l'istruttore video illustra i passaggi di configurazione del software per eseguire il rilevamento degli oggetti con una rete neurale addestrata alla guida autonoma su Raspberry Pi 4. L'istruttore inizia assicurandosi che il Raspberry Pi sia aggiornato, clonando il repository fornito nella descrizione del video e l'installazione di un ambiente virtuale per mantenere le dipendenze per questo progetto separate da altri progetti sul sistema. L'istruttore quindi attiva l'ambiente virtuale prima di installare dipendenze come un pacchetto gpio python, OpenCV e TensorFlow, che sono tutte cose necessarie per il progetto, eseguendo uno script bash. Infine, l'istruttore mostra come configurare il modulo fotocamera Raspberry Pi inserendo le impostazioni di configurazione nel terminale e collegandolo al Raspberry Pi 4.

  • 00:05:00 In questa sezione, il relatore mostra come configurare il modulo della videocamera, il LED e il pulsante sul Raspberry Pi per il rilevamento autonomo degli oggetti di guida. Il modulo della fotocamera viene semplicemente inserito nel Pi e fissato in posizione. Un LED è collegato al Pi con un resistore da 470 ohm per fornire un feedback visivo durante l'esecuzione del programma. Allo stesso modo, un pulsante viene aggiunto alla breadboard per consentire l'avvio e l'arresto dell'elaborazione delle immagini. Il relatore mostra quindi il lato software della configurazione eseguendo uno script Python con argomenti per la rete neurale del monitor e il percorso di output, che salva le immagini elaborate in una posizione specificata.

  • 00:10:00 In questa sezione, vediamo il percorso di output e dove vengono salvate le immagini catturate dal Raspberry Pi con il rilevamento degli oggetti. L'utente continua ad apportare modifiche al file batch rc in modo che lo script python venga eseguito all'avvio, senza la necessità di una tastiera o di un mouse. Il passaggio finale consiste nell'inserire il Raspberry Pi nell'auto, collegarlo a una presa CA e iniziare a registrare filmati con le immagini elaborate salvate nel percorso di output specificato. L'utente suggerisce che le immagini catturate possano essere trasformate in una gif o in un video.
 

Come eseguire TensorFlow Lite su Raspberry Pi per il rilevamento di oggetti



Come eseguire TensorFlow Lite su Raspberry Pi per il rilevamento di oggetti

Il tutorial spiega come configurare TensorFlow Lite su un Raspberry Pi per il rilevamento degli oggetti. Ciò comporta l'aggiornamento del Pi, l'abilitazione dell'interfaccia della fotocamera, il download del repository GitHub, la creazione di un ambiente virtuale, l'installazione di TensorFlow e OpenCV e l'esecuzione di uno script di shell per installare tutti i pacchetti e le dipendenze richiesti. Gli utenti possono scaricare un modello di esempio fornito da Google o addestrare il proprio modello personalizzato. Una volta che il modello è pronto, gli utenti possono eseguire un codice su Python 3 per vedere lo script di rilevamento della webcam in tempo reale, il rilevamento su video e immagini. La maggiore velocità di TensorFlow Lite lo rende utile per applicazioni di rilevamento in tempo reale, come telecamere intelligenti o sistemi di allarme. Il creatore menziona anche il proprio progetto di rilevatore di animali domestici e incoraggia gli spettatori a rimanere sintonizzati per il loro prossimo video sulla configurazione dell'acceleratore USB Coral.

  • 00:00:00 In questa sezione, il video tutorial fornisce una guida passo passo su come configurare TensorFlow Lite su un Raspberry Pi per il rilevamento di oggetti. TensorFlow Lite è un modello leggero di machine learning ottimizzato per l'esecuzione su dispositivi a bassa potenza come il Pi, con tempi di inferenza più rapidi e minore potenza di elaborazione richiesta. Il tutorial copre l'aggiornamento del Pi, l'abilitazione dell'interfaccia della fotocamera, il download del repository GitHub, la creazione di un ambiente virtuale, l'installazione di TensorFlow e OpenCV e l'esecuzione di uno script di shell per installare tutti i pacchetti e le dipendenze richiesti. Il video include anche suggerimenti per gestire gli errori e ottenere assistenza e la guida di GitHub include un elenco di errori e soluzioni comuni.

  • 00:05:00 In questa sezione, il relatore spiega come configurare il modello di rilevamento per TensorFlow Lite. Gli utenti possono scaricare un modello di esempio fornito da Google o addestrare il proprio modello personalizzato. Il modello di esempio di Google è un modello di rete mobile SSD quantizzato addestrato sul set di dati MS cacao, che gli consente di rilevare 80 oggetti comuni con un minimo calo di precisione. Per scaricare il modello di esempio, gli utenti possono fare clic con il pulsante destro del mouse sul collegamento nella descrizione ed eseguirlo sul terminale usando "W git" per il download e "unzip" per l'estrazione. Inoltre, il relatore fornisce una guida scritta su GitHub per gli utenti che desiderano addestrare un modello di rilevamento e convertirlo in TensorFlow Lite. Una volta che il modello è pronto, gli utenti possono eseguire un codice su Python 3 per vedere lo script di rilevamento della webcam in tempo reale, il rilevamento su video e immagini. L'oratore ha anche affermato che spiegherà come ottenere un enorme aumento della velocità di rilevamento utilizzando l'acceleratore USB corale di Google nel loro prossimo video.

  • 00:10:00 In questa sezione, il creatore del video afferma che la maggiore velocità di TensorFlow Lite lo rende utile per applicazioni di rilevamento in tempo reale come telecamere intelligenti o sistemi di allarme. Menzionano anche il loro progetto, un video rilevatore di animali domestici in cui hanno utilizzato il rilevamento di oggetti per avvisarli se il loro gatto vuole essere lasciato fuori, e affermano che pubblicheranno altri progetti di visione artificiale TensorFlow. Concludono ringraziando gli spettatori per aver guardato e incoraggiandoli a rimanere sintonizzati per il loro prossimo video sulla configurazione dell'acceleratore USB Coral.