Inhaltsverzeichnis:

Teil 2. ThinkBioT-Modell mit Google AutoML - Gunook
Teil 2. ThinkBioT-Modell mit Google AutoML - Gunook

Video: Teil 2. ThinkBioT-Modell mit Google AutoML - Gunook

Video: Teil 2. ThinkBioT-Modell mit Google AutoML - Gunook
Video: Civilian Justice: Worst Comic Book Ever? - Comic Tropes (Episode 49) 2024, November
Anonim
Teil 2. ThinkBioT-Modell mit Google AutoML
Teil 2. ThinkBioT-Modell mit Google AutoML

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

Einrichten eines Google Cloud Storage-Buckets
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

Formatieren Sie Ihre Daten und erstellen Sie Datensatz-CSV
Formatieren Sie Ihre Daten und erstellen Sie Datensatz-CSV
Formatieren Sie Ihre Daten und erstellen Sie Datensatz-CSV
Formatieren Sie Ihre Daten und erstellen Sie Datensatz-CSV
Formatieren Sie Ihre Daten und erstellen Sie Datensatz-CSV
Formatieren Sie Ihre Daten und erstellen Sie Datensatz-CSV

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

Laden Sie Ihre Spektrogramme in Ihren Bucket hoch
Laden Sie Ihre Spektrogramme in Ihren Bucket hoch
Laden Sie Ihre Spektrogramme in Ihren Bucket hoch
Laden Sie Ihre Spektrogramme in Ihren Bucket hoch
Laden Sie Ihre Spektrogramme in Ihren Bucket hoch
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

Csv.-Datensatz hochladen
Csv.-Datensatz hochladen

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

Datensatz erstellen
Datensatz erstellen
Datensatz erstellen
Datensatz erstellen
Datensatz erstellen
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

Image
Image
Erstellen Sie Ihr AutoML-Modell
Erstellen Sie Ihr AutoML-Modell
Erstellen Sie Ihr AutoML-Modell
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.

  1. Drücken Sie die ZUG-Taste
  2. 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.
  3. 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

Testen Sie Ihr Modell
Testen Sie Ihr Modell
Testen Sie Ihr Modell
Testen Sie Ihr Modell
Testen Sie Ihr Modell
Testen Sie Ihr Modell
Testen Sie Ihr Modell
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

Installieren Sie Ihr Modell in ThinkBioT
Installieren Sie Ihr Modell in ThinkBioT
Installieren Sie Ihr Modell in ThinkBioT
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: