Sommario:
- Passaggio 1: configura un bucket di archiviazione cloud di Google
- Passaggio 2: formatta i tuoi dati e crea un set di dati CSV
- Passaggio 3: carica i tuoi spettrogrammi nel tuo secchio
- Passaggio 4: carica il tuo set di dati CSV
- Passaggio 5: creare un set di dati
- Passaggio 6: crea il tuo modello AutoML
- Passaggio 7: prova il tuo modello
- Passaggio 8: installa il tuo modello in ThinkBioT
Video: Parte 2. Modello ThinkBioT con Google AutoML: 8 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:02
ThinkBioT è progettato per essere "Plug and Play", con modelli TensorFlow Lite compatibili con Edge TPU.
In questa documentazione tratteremo la creazione di spettrogrammi, la formattazione dei dati e l'utilizzo di Google AutoML.
Il codice in questo tutorial sarà scritto in bash, quindi sarà compatibile con più piattaforme.
dipendenze
- Tuttavia prima di iniziare dovrai installare Sox un programma audio da riga di comando compatibile con dispositivi Windows, Mac e Linux.
- Se sei su un dispositivo Windows, il modo più semplice per eseguire gli script bash è tramite Git, quindi consiglierei di scaricarlo e installarlo poiché è utile in molti modi,
- Per modificare il codice, usa il tuo editor preferito o installa NotePad++ per Windows o Atom per altri sistemi operativi.
**Se disponi di un modello TensorFlow esistente o desideri provare a trasferire l'apprendimento con un modello esistente, fai riferimento alla documentazione di Google Coral.
Passaggio 1: configura un bucket di archiviazione cloud di Google
1. Accedi al tuo account gmail (o creane uno se non hai un account Google)
2. Vai alla pagina di selezione del progetto e crea un nuovo progetto per i tuoi file modello e spettrogramma. Dovrai abilitare la fatturazione per avanzare ulteriormente.
3. Visita https://cloud.google.com/storage/ e premi il pulsante Crea bucket nella parte superiore della pagina.
4. Immettere il nome del bucket desiderato e creare il bucket accettando le impostazioni predefinite.
Passaggio 2: formatta i tuoi dati e crea un set di dati CSV
Ho progettato uno script utile per creare il file dataset.csv necessario per creare il modello. Il file del set di dati collega le immagini nel tuo bucket alle relative etichette nel set di dati.
1. Scarica il repository ThinkBioT da GitHub e
2. Copiare il file tbt_spect_example.sh dalla directory Tools in una nuova cartella sul desktop.
3. Aggiungi i file audio che desideri utilizzare nel tuo modello, inserendoli in cartelle che hanno la loro etichetta (cioè in cosa vorresti che fossero ordinati. Ad esempio, se volessi identificare cani o gatti, potresti avere una cartella cane, con suoni di abbaio OPPURE cartella denominata gatto con suoni di gatto ecc.
4. Apri tbt_spect_example.sh con Notepad++ e sostituisci "yourbucknamename" nella riga 54 con il nome del tuo Google Storage Bucket. Ad esempio, se il tuo bucket fosse chiamato myModelBucket, la riga verrebbe modificata in
bucket="gs://myModelBucket/spectro-data/"
5. Esegui il codice digitando quanto segue nel tuo terminale Bash, il codice verrà eseguito e creerà il file csv delle etichette e una directory chiamata spettro-dati sul desktop con gli spettrogrammi risultanti.
sh tbt_spect_example.sh
Passaggio 3: carica i tuoi spettrogrammi nel tuo secchio
Esistono alcuni modi per caricare su Google Storage, il più semplice è eseguire un caricamento diretto della cartella;
1. Fai clic sul nome del tuo bucket nella pagina di Google Storage.
2. Seleziona il pulsante "UPLOAD FOLDER" e scegli la directory "spectro-data/" creata nell'ultimo passaggio.
O
2. Se si dispone di una grande quantità di file, è possibile creare manualmente la directory "spectro-data/" selezionando "CREATE FOLDER", quindi navigare nella cartella e selezionare "UPLOAD FILES". Questa può essere un'ottima opzione per set di dati di grandi dimensioni in quanto è possibile caricare gli spettrogrammi in sezioni, anche utilizzando più computer per aumentare la velocità di caricamento.
O
2. Se sei un utente avanzato puoi caricare anche tramite Google Cloud Shell;
gsutil cp spectro-data/* gs://your-bucket-name/spectro-data/
Ora dovresti avere un secchio pieno di spettrogrammi piuttosto carini!
Passaggio 4: carica il tuo set di dati CSV
Ora dobbiamo caricare il file model-labels.csv nella tua directory "spectro-data/" in Google Storage, è essenzialmente lo stesso dell'ultimo passaggio, stai solo caricando un singolo file invece di molti.
1. Fai clic sul nome del tuo bucket nella pagina di Google Storage.
2. Seleziona il pulsante "CARICA FILE" e scegli il file model-labels.csv che hai creato in precedenza.
Passaggio 5: creare un set di dati
1. Per prima cosa dovrai trovare l'API di AutoML VIsion, può essere un po' complicato! Il modo più semplice è cercare "visione automatica" nella barra di ricerca del tuo spazio di archiviazione Google Cloud (nella foto).
2. Dopo aver fatto clic sul collegamento API, sarà necessario abilitare l'API.
3. Ora ti troverai nella dashboard di AutoML Vision (nella foto), fai clic sul pulsante Nuovo set di dati e seleziona Etichetta singola e l'opzione 'Seleziona un file CSV'. Includerai quindi il link al tuo file model-labels.csv nel tuo bucket di archiviazione. Se hai seguito questo tutorial, sarà come di seguito
gs://yourBucketName/spectro-data/model-labelsBal.csv
4. Quindi premere continua per creare il set di dati. Potrebbe volerci del tempo per la creazione.
Passaggio 6: crea il tuo modello AutoML
Una volta ricevuta la tua email che ti informa che il tuo set di dati è stato creato, sei pronto per creare il tuo nuovo modello.
- Premi il pulsante TRENO
- Seleziona il tipo di modello: Edge e Stime di latenza del modello: Edge TPU e lascia inizialmente le altre opzioni come predefinite, ma potresti voler sperimentare in seguito.
- Ora il tuo modello si allenerà, ci vorrà del tempo e riceverai un'email quando sarà pronto per il download.
Nota: se il pulsante di addestramento non è disponibile, potresti avere problemi con il tuo set di dati. Se hai meno di 10 per ogni classe (etichetta) il sistema non ti consentirà di addestrare un modello, quindi potresti dover aggiungere immagini extra. Vale la pena dare un'occhiata al video di Google AutoML se hai bisogno di chiarimenti.
Passaggio 7: prova il tuo modello
Una volta ricevuta l'e-mail di completamento del modello, fare clic sul collegamento per tornare all'API AutoML Vision.
1. Ora sarai in grado di visualizzare i risultati e la matrice di confusione per il tuo modello.
2. Il prossimo passo è testare il tuo modello, vai su "TEST & USE" o "PREDICT" stranamente sembrano esserci 2 GUI utente, entrambe le ho raffigurate, ma entrambe le opzioni hanno la stessa funzionalità.
3. Ora puoi caricare uno spettrogramma di prova. Per creare un singolo spettrogramma puoi utilizzare il programma tbt_make_one_spect.sh di ThinkBioT Github. Basta rilasciarlo in una cartella con il wav che si desidera convertire in uno spettrogramma, aprire una finestra (o terminale) di Git Bash e utilizzare il codice sottostante, sostituendo il nome del file.
sh tbt_make_one_spect.sh yourWavName.wav
4. Ora carica semplicemente lo spettrogramma e controlla il risultato!
Passaggio 8: installa il tuo modello in ThinkBioT
Per utilizzare il tuo nuovo modello lucido, trascina semplicemente il modello e il file txt nella cartella CModel;
pi > ThinkBioT > ClassProcess > CModel
Ora sei pronto per usare ThinkBioT:)
**NB** Se stai utilizzando il tuo modello al di fuori del framework ThinkBioT, dovrai modificare il documento dell'etichetta aggiungendo numeri all'inizio di ogni riga poiché la funzione "readlabels" integrata degli ultimi interpreti tflite presuppone che siano presenti. Ho scritto una funzione personalizzata nel framework ThinkBioT classify_spect.py come un lavoro attorno al quale puoi utilizzare il tuo codice:)
def ReadLabelFile(file_path):
counter = 0 con open(file_path, 'r', encoding='utf-8') come f: lines = f.readlines() ret = {} for line in lines: ret[int(counter)] = line.strip () contatore = contatore + 1 ritorno ret
Consigliato:
Layout di ferrovia modello automatizzato con due treni (V2.0) - Basato su Arduino: 15 passaggi (con immagini)
Layout di ferrovia modello automatizzato con due treni (V2.0) | Basato su Arduino: l'automazione dei layout di modellismo ferroviario utilizzando i microcontrollori Arduino è un ottimo modo per unire microcontrollori, programmazione e modellismo ferroviario in un unico hobby. Ci sono un sacco di progetti disponibili sulla gestione autonoma di un treno su un modello di ferrovia
Controlla il layout del tuo modello di treno con il tuo cellulare!: 11 passaggi (con immagini)
Controlla il layout del tuo modello di treno con il tuo telefono cellulare!: Il controllo di un layout di modello di treno con un acceleratore cablato e controller di affluenza potrebbe essere un buon inizio per i principianti, ma pongono un problema di non portabilità. Inoltre, i controller wireless disponibili sul mercato possono controllare solo alcune locomotive
Parte 1. Costruzione hardware del sensore bioacustico autonomo ThinkBioT: 13 passaggi
Parte 1. ThinkBioT Autonomous Bio-Acoustic Sensor Hardware Build: ThinkBioT mira a fornire un framework software e hardware, progettato come una spina dorsale tecnologica per supportare ulteriori ricerche, gestendo le minuzie della raccolta dei dati, la pre-elaborazione, la trasmissione dei dati e le attività di visualizzazione che consentono ricercatore
Semplice modello di ferrovia da punto a punto automatizzato con due treni: 13 passaggi (con immagini)
Semplice modello ferroviario punto-punto automatizzato che esegue due treni: i microcontrollori Arduino sono un ottimo modo per automatizzare i layout dei modelli ferroviari grazie alla loro disponibilità a basso costo, hardware e software open source e una vasta comunità per aiutarti. Per i modelli ferroviari, i microcontrollori Arduino possono rivelarsi un gr
Robot Roomba controllato dal browser con il modello Raspberry Pi 3 A+: 6 passaggi (con immagini)
Robot Roomba controllato dal browser con Raspberry Pi Model 3 A+: PanoramicaQuesto Instructable si concentrerà su come dare a un Roomba morto un nuovo cervello (Raspberry Pi), occhi (Webcam) e un modo per controllare tutto da un browser web. Esistono molti hack di Roomba che consentono il controllo tramite l'interfaccia seriale. Non ho