Inhaltsverzeichnis:
- Schritt 1: Einrichten eines Google Cloud Storage-Buckets
- Schritt 2: Formatieren Sie Ihre Daten und erstellen Sie eine Datensatz-CSV-Datei
- Schritt 3: Laden Sie Ihre Spektrogramme in Ihren Bucket hoch
- Schritt 4: Laden Sie Ihre Datensatz-CSV-Datei hoch
- Schritt 5: Datensatz erstellen
- Schritt 6: Erstellen Sie Ihr AutoML-Modell
- Schritt 7: Testen Sie Ihr Modell
- Schritt 8: Installieren Sie Ihr Modell in ThinkBioT
Video: Teil 2. ThinkBioT-Modell mit Google AutoML - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:18
ThinkBioT ist als "Plug and Play" konzipiert, mit Edge TPU-kompatiblen TensorFlow Lite-Modellen.
In dieser Dokumentation behandeln wir das Erstellen von Spektrogrammen, das Formatieren Ihrer Daten und die Verwendung von Google AutoML.
Der Code in diesem Tutorial wird in Bash geschrieben und ist daher mit mehreren Plattformen kompatibel.
Abhängigkeiten
- Bevor Sie jedoch beginnen, müssen Sie Sox installieren, ein Befehlszeilen-Audioprogramm, das mit Windows-, Mac- und Linux-Geräten kompatibel ist.
- Wenn Sie ein Windows-Gerät verwenden, können Sie Bash-Skripte am einfachsten über Git ausführen. Ich würde daher empfehlen, dies herunterzuladen und zu installieren, da es in vielerlei Hinsicht nützlich ist.
- Verwenden Sie zum Bearbeiten von Code entweder Ihren bevorzugten Editor oder installieren Sie NotePad++ für Windows oder Atom für andere Betriebssysteme.
**Wenn Sie ein vorhandenes TensorFlow-Modell haben oder versuchen möchten, das Lernen mit einem vorhandenen Modell zu übertragen, lesen Sie bitte die Google Coral-Dokumentation.
Schritt 1: Einrichten eines Google Cloud Storage-Buckets
1. Melden Sie sich in Ihrem Google Mail-Konto an (oder erstellen Sie eines, wenn Sie kein Google-Konto haben)
2. Gehen Sie zur Projektauswahlseite und erstellen Sie ein neues Projekt für Ihre Modell- und Spektrogrammdateien. Sie müssen die Abrechnung aktivieren, um fortzufahren.
3. Besuchen Sie https://cloud.google.com/storage/ und klicken Sie oben auf der Seite auf die Schaltfläche Bucket erstellen.
4. Geben Sie den gewünschten Bucket-Namen ein und erstellen Sie den Bucket mit den Standardeinstellungen.
Schritt 2: Formatieren Sie Ihre Daten und erstellen Sie eine Datensatz-CSV-Datei
Ich habe ein hilfreiches Skript entworfen, um Ihre dataset.csv-Datei zu erstellen, die zum Erstellen Ihres Modells benötigt wird. Die Dataset-Datei verknüpft die Bilder in Ihrem Bucket mit ihren Labels im Dataset.
1. Laden Sie das ThinkBioT-Repository von GitHub herunter und
2. Kopieren Sie die Datei tbt_spect_example.sh aus dem Tools-Verzeichnis in einen neuen Ordner auf Ihrem Desktop.
3. Fügen Sie die Audiodateien hinzu, die Sie in Ihrem Modell verwenden möchten, und legen Sie sie in Ordnern ab, die ihr Label haben (dh wo sie sortiert sein sollen. Wenn Sie beispielsweise Hunde oder Katzen identifizieren möchten, können Sie einen Ordner erstellen Hund, mit Bellgeräuschen ODER Ordner namens Katze mit Katzengeräuschen usw.
4. Öffnen Sie die tbt_spect_example.sh mit Notepad++ und ersetzen Sie "yourbucknamename" in Zeile 54 durch den Namen Ihres Google Storage Buckets. Wenn Ihr Bucket beispielsweise myModelBucket heißt, wird die Zeile in geändert
Bucket="gs://myModelBucket/spectro-data/"
5. Führen Sie den Code aus, indem Sie Folgendes in Ihr Bash-Terminal eingeben. Der Code wird ausgeführt und erstellt Ihre Etiketten-CSV-Datei und ein Verzeichnis namens spectro-data auf Ihrem Desktop mit den resultierenden Spektrogrammen.
sh tbt_spect_example.sh
Schritt 3: Laden Sie Ihre Spektrogramme in Ihren Bucket hoch
Es gibt mehrere Möglichkeiten zum Hochladen in Google Storage. Am einfachsten ist es, einen Ordner direkt hochzuladen.
1. Klicken Sie auf Ihrer Google Storage-Seite auf Ihren Bucket-Namen.
2. Wählen Sie die Schaltfläche „UPLOAD FOLDER“und wählen Sie Ihr im letzten Schritt erstelltes „spectro-data/“-Verzeichnis.
ODER
2. Wenn Sie eine große Anzahl von Dateien haben, können Sie das Verzeichnis "spectro-data/" manuell erstellen, indem Sie "CREATE FOLDER" auswählen, dann in den Ordner navigieren und "UPLOAD FILES" auswählen. Dies kann eine großartige Option für große Datensätze sein, da Sie die Spektrogramme in Abschnitten hochladen können, sogar mit mehreren Computern, um die Upload-Geschwindigkeit zu erhöhen.
ODER
2. Wenn Sie ein fortgeschrittener Benutzer sind, können Sie auch über Google Cloud Shell hochladen;
gsutil cp spectro-data/* gs://your-bucket-name/spectro-data/
Sie sollten jetzt einen Eimer voller hübscher Spektrogramme haben!
Schritt 4: Laden Sie Ihre Datensatz-CSV-Datei hoch
Jetzt müssen wir die Datei model-labels.csv in Ihr "spectro-data/"-Verzeichnis in Google Storage hochladen. Es ist im Wesentlichen dasselbe wie im letzten Schritt, Sie laden nur eine einzelne Datei anstelle von vielen hoch.
1. Klicken Sie auf Ihrer Google Storage-Seite auf Ihren Bucket-Namen.
2. Wählen Sie die Schaltfläche "UPLOAD FILE" und wählen Sie Ihre zuvor erstellte model-labels.csv-Datei.
Schritt 5: Datensatz erstellen
1. Zuerst müssen Sie die AutoML Vision API finden, das kann etwas knifflig sein! Am einfachsten suchen Sie in der Suchleiste Ihres Google Cloud-Speichers nach "automl vision" (im Bild).
2. Nachdem Sie auf den API-Link geklickt haben, müssen Sie die API aktivieren.
3. Jetzt befinden Sie sich im AutoML Vision Dashboard (im Bild). Klicken Sie auf die Schaltfläche Neuer Datensatz und wählen Sie Einzeletikett und die Option 'CSV-Datei auswählen'. Anschließend fügen Sie den Link zu Ihrer Datei model-labels.csv in Ihren Speicher-Bucket ein. Wenn Sie diesem Tutorial gefolgt sind, wird es wie unten beschrieben sein
gs://yourBucketName/spectro-data/model-labelsBal.csv
4. Drücken Sie dann auf Weiter, um Ihren Datensatz zu erstellen. Die Erstellung kann einige Zeit dauern.
Schritt 6: Erstellen Sie Ihr AutoML-Modell
Sobald Sie Ihre E-Mail erhalten haben, in der Sie wissen, dass Ihr Datensatz erstellt wurde, können Sie Ihr neues Modell erstellen.
- Drücken Sie die ZUG-Taste
- Wählen Sie den Modelltyp: Edge und Modelllatenzschätzungen: Edge TPU aus und belassen Sie die anderen Optionen zunächst als Standard, aber Sie können später vielleicht damit experimentieren.
- Jetzt trainiert Ihr Modell, es dauert einige Zeit und Sie erhalten eine E-Mail, wenn es zum Download bereit ist.
Hinweis: Wenn die Schaltfläche Trainieren nicht verfügbar ist, können Probleme mit Ihrem Dataset auftreten. Wenn Sie weniger als 10 von jeder Klasse (Etikett) haben, lässt das System das Trainieren eines Modells nicht zu, sodass Sie möglicherweise zusätzliche Bilder hinzufügen müssen. Bei Klärungsbedarf lohnt sich ein Blick in das Google AutoML Video.
Schritt 7: Testen Sie Ihr Modell
Klicken Sie nach Erhalt Ihrer E-Mail zur Modellvervollständigung auf den Link, um zur AutoML Vision-API zurückzukehren.
1. Jetzt können Sie Ihre Ergebnisse und die Konfusionsmatrix für Ihr Modell anzeigen.
2. Der nächste Schritt besteht darin, Ihr Modell zu testen, gehen Sie zu 'TEST & USE' oder 'PREDICT' Seltsamerweise scheint es 2 Benutzer-GUIs zu geben, die ich beide abgebildet habe, aber die Optionen haben beide die gleiche Funktionalität.
3. Nun können Sie ein Testspektrogramm hochladen. Um ein einzelnes Spektrogramm zu erstellen, können Sie das Programm tbt_make_one_spect.sh von ThinkBioT Github verwenden. Legen Sie es einfach in einen Ordner mit der wav-Datei, die Sie in ein Spektrogramm konvertieren möchten, öffnen Sie ein Git-Bash-Fenster (oder ein Terminal) und verwenden Sie den folgenden Code, um Ihren Dateinamen zu ersetzen.
sh tbt_make_one_spect.sh yourWavName.wav
4. Laden Sie nun einfach das Spektrogramm hoch und überprüfen Sie Ihr Ergebnis!
Schritt 8: Installieren Sie Ihr Modell in ThinkBioT
Um Ihr neues Shiny-Modell zu verwenden, legen Sie einfach das Modell und die txt-Datei in den CModel-Ordner ab;
pi > ThinkBioT > ClassProcess > CModel
Jetzt können Sie ThinkBioT verwenden:)
**NB** Wenn Sie Ihr Modell außerhalb des ThinkBioT-Frameworks verwenden, müssen Sie Ihr Etikettendokument bearbeiten, indem Sie am Anfang jeder Zeile Ziffern hinzufügen, da die neueste integrierte "readlabels"-Funktion von Tflite-Interpretern davon ausgeht, dass sie vorhanden sind. Ich habe eine benutzerdefinierte Funktion im ThinkBioT-Framework classify_spect.py als Umgehung geschrieben, die Sie gerne in Ihrem eigenen Code verwenden können:)
def ReadLabelFile(file_path):
counter = 0 mit open(file_path, 'r', encoding='utf-8') as f: lines = f.readlines() ret = {} für Zeile in Zeilen: ret[int(counter)] = line.strip () Zähler = Zähler + 1 Rückgabe ret
Empfohlen:
Einfaches BLE mit sehr geringem Stromverbrauch in Arduino Teil 2 - Temperatur- / Feuchtigkeitsmonitor - Rev 3: 7 Schritte
Easy Very Low Power BLE in Arduino Teil 2 – Temperatur-/Feuchtigkeitsmonitor – Rev 3: Update: 23. November 2020 – Erster Austausch von 2 x AAA-Batterien seit 15. Januar 2019 dh 22 Monate für 2x AAA AlkalineUpdate: 7. April 2019 – Rev 3 of lp_BLE_TempHumidity, fügt Datum/Uhrzeit-Plots hinzu, verwendet pfodApp V3.0.362+ und automatische Drosselung, wenn
Bewegungsaktivierte Cosplay Wings mit Circuit Playground Express - Teil 1: 7 Schritte (mit Bildern)
Bewegungsaktivierte Cosplay-Flügel mit Circuit Playground Express - Teil 1: Dies ist Teil 1 eines zweiteiligen Projekts, in dem ich Ihnen meinen Prozess zur Herstellung eines Paars automatisierter Feenflügel zeige. Der erste Teil des Projekts ist der Mechanik der Flügel, und der zweite Teil macht es tragbar und fügt die Flügel hinzu
Einfaches BLE mit sehr geringem Stromverbrauch in Arduino Teil 3 - Nano V2-Ersatz - Rev 3: 7 Schritte (mit Bildern)
Einfaches BLE mit sehr geringem Stromverbrauch in Arduino Teil 3 - Nano V2-Ersatz - Rev 3: Update: 7. April 2019 - Rev 3 von lp_BLE_TempHumidity, fügt Datums- / Zeitdiagramme mit pfodApp V3.0.362+ hinzu und automatische Drosselung beim Senden von DatenUpdate: 24. März 2019 – Rev 2 von lp_BLE_TempHumidity, fügt weitere Plotoptionen hinzu und i2c_ClearBus, fügt GT832E
So bauen Sie Ihr eigenes Anemometer mit Reed-Schaltern, Hall-Effekt-Sensor und einigen Schrott auf Nodemcu. - Teil 1 - Hardware: 8 Schritte (mit Bildern)
So bauen Sie Ihr eigenes Anemometer mit Reed-Schaltern, Hall-Effekt-Sensor und einigen Schrott auf Nodemcu. - Teil 1 - Hardware: EinführungSeit ich mit dem Studium von Arduino und der Maker-Kultur begonnen habe, habe ich gerne nützliche Geräte aus Schrott- und Schrottstücken wie Kronkorken, PVC-Stücken, Getränkedosen usw. gebaut. Ich liebe es, eine Sekunde zu geben Leben für jedes Stück oder jeden Kumpel
Drahtlose Kommunikation mit billigen 433MHz-HF-Modulen und Pic-Mikrocontrollern. Teil 2: 4 Schritte (mit Bildern)
Drahtlose Kommunikation mit billigen 433MHz-HF-Modulen und Pic-Mikrocontrollern. Teil 2: Im ersten Teil dieser Anleitung habe ich gezeigt, wie man einen PIC12F1822 mit MPLAB IDE und XC8-Compiler programmiert, um einen einfachen String drahtlos mit billigen TX / RX 433 MHz-Modulen zu senden. Das Empfängermodul wurde über einen USB mit UART TTL verbunden Kabel-Werbung