Table des matières:
- Étape 1: Configurer un bucket Google Cloud Storage
- Étape 2: Formatez vos données et créez un ensemble de données Csv
- Étape 3: Téléchargez vos spectrogrammes dans votre seau
- Étape 4: Téléchargez votre ensemble de données Csv
- Étape 5: Créer un jeu de données
- Étape 6: Créez votre modèle AutoML
- Étape 7: Testez votre modèle
- Étape 8: installez votre modèle dans ThinkBioT
Vidéo: Partie 2. Modèle ThinkBioT avec Google AutoML : 8 étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:07
ThinkBioT est conçu pour être "Plug and Play", avec les modèles TensorFlow Lite compatibles Edge TPU.
Dans cette documentation, nous aborderons la création de spectrogrammes, le formatage de vos données et l'utilisation de Google AutoML.
Le code de ce tutoriel sera écrit en bash et sera donc compatible avec plusieurs plates-formes.
Dépendances
- Cependant, avant de commencer, vous devrez installer Sox un programme audio en ligne de commande compatible avec les appareils Windows, Mac et Linux.
- Si vous utilisez un appareil Windows, le moyen le plus simple d'exécuter des scripts bash est via Git.
- Pour éditer le code, utilisez votre éditeur préféré ou installez NotePad++ pour Windows ou Atom pour d'autres systèmes d'exploitation.
** Si vous disposez d'un modèle TensorFlow existant ou si vous souhaitez essayer de transférer l'apprentissage avec un modèle existant, veuillez vous reporter à la documentation Google Coral.
Étape 1: Configurer un bucket Google Cloud Storage
1. Connectez-vous à votre compte gmail (ou créez-en un si vous n'avez pas de compte Google)
2. Accédez à la page de sélection de projet et créez un nouveau projet pour vos fichiers de modèle et de spectrogramme. Vous devrez activer la facturation pour continuer à progresser.
3. Visitez https://cloud.google.com/storage/ et appuyez sur le bouton Créer un compartiment en haut de la page.
4. Saisissez le nom de votre compartiment souhaité et créez le compartiment en acceptant les paramètres par défaut.
Étape 2: Formatez vos données et créez un ensemble de données Csv
J'ai conçu un script utile pour créer votre fichier dataset.csv nécessaire à la création de votre modèle. Le fichier de l'ensemble de données lie les images de votre bucket à leurs étiquettes dans l'ensemble de données.
1. Téléchargez le référentiel ThinkBioT depuis GitHub et
2. Copiez le fichier tbt_spect_example.sh du répertoire Tools dans un nouveau dossier sur votre bureau.
3. Ajoutez les fichiers audio que vous souhaitez utiliser dans votre modèle, en les mettant dans des dossiers qui ont leur étiquette (c'est-à-dire dans quoi vous voudriez qu'ils soient triés. Par exemple, si vous vouliez identifier des chiens ou des chats, vous pourriez avoir un dossier chien, avec des sons d'aboiement OU un dossier nommé chat avec des sons de chat, etc.
4. Ouvrez le fichier tbt_spect_example.sh avec Notepad++ et remplacez "yourbucknamename" à la ligne 54 par le nom de votre Google Storage Bucket. Par exemple, si votre compartiment s'appelait myModelBucket, la ligne serait remplacée par
bucket="gs://myModelBucket/spectro-data/"
5. Exécutez le code en tapant ce qui suit dans votre terminal Bash, le code s'exécutera et créera votre fichier csv d'étiquettes et un répertoire appelé spectro-data sur votre bureau avec les spectrogrammes résultants.
sh tbt_spect_example.sh
Étape 3: Téléchargez vos spectrogrammes dans votre seau
Il existe plusieurs façons de télécharger sur Google Storage, la plus simple consiste à télécharger directement un dossier;
1. Cliquez sur le nom de votre bucket dans votre page Google Storage.
2. Sélectionnez le bouton "UPLOAD FOLDER" et choisissez votre répertoire "spectro-data/" créé à la dernière étape.
OU
2. Si vous avez une grande quantité de fichiers, vous pouvez créer manuellement le répertoire "spectro-data/" en sélectionnant "CREATE FOLDER", puis naviguez dans le dossier et sélectionnez "UPLOAD FILES". Cela peut être une excellente option pour les grands ensembles de données car vous pouvez télécharger les spectrogrammes par sections, même en utilisant plusieurs ordinateurs pour augmenter la vitesse de téléchargement.
OU
2. Si vous êtes un utilisateur avancé, vous pouvez également télécharger via Google Cloud Shell;
gsutil cp spectro-data/* gs://your-bucket-name/spectro-data/
Vous devriez maintenant avoir un seau rempli de jolis jolis spectrogrammes !
Étape 4: Téléchargez votre ensemble de données Csv
Maintenant, nous devons télécharger le fichier model-labels.csv dans votre répertoire "spectro-data/" dans Google Storage, c'est essentiellement la même chose que la dernière étape, vous ne faites que télécharger un seul fichier au lieu de plusieurs.
1. Cliquez sur le nom de votre bucket dans votre page Google Storage.
2. Sélectionnez le bouton TÉLÉCHARGER LE FICHIER et choisissez votre fichier model-labels.csv que vous avez créé précédemment.
Étape 5: Créer un jeu de données
1. Tout d'abord, vous devrez trouver l'API AutoML VIsion, cela peut être un peu délicat ! Le moyen le plus simple consiste à rechercher "automl vision" dans la barre de recherche de votre stockage Google Cloud (photo).
2. Une fois que vous aurez cliqué sur le lien API, vous devrez activer l'API.
3. Vous serez maintenant dans le tableau de bord AutoML Vision (illustré), cliquez sur le bouton du nouvel ensemble de données et sélectionnez Étiquette unique et l'option "Sélectionner un fichier CSV". Vous inclurez ensuite le lien vers votre fichier model-labels.csv dans votre compartiment de stockage. Si vous avez suivi ce tutoriel, ce sera comme ci-dessous
gs://yourBucketName/spectro-data/model-labelsBal.csv
4. Appuyez ensuite sur Continuer pour créer votre jeu de données. La création peut prendre un certain temps.
Étape 6: Créez votre modèle AutoML
Une fois que vous avez reçu votre e-mail vous informant que votre jeu de données a été créé, vous êtes prêt à créer votre nouveau modèle.
- Appuyez sur le bouton TRAIN
- Sélectionnez le type de modèle: Estimations de latence Edge et Model: Edge TPU et laissez les autres options par défaut au départ, mais vous voudrez peut-être expérimenter plus tard.
- Maintenant, votre modèle va s'entraîner, cela prendra un certain temps et vous recevrez un e-mail lorsqu'il sera prêt à être téléchargé.
Remarque: Si le bouton d'entraînement n'est pas disponible, vous pouvez avoir des problèmes avec votre ensemble de données. Si vous avez moins de 10 de chaque classe (étiquette), le système ne vous permettra pas d'entraîner un modèle, vous devrez donc peut-être ajouter des images supplémentaires. Il vaut la peine de jeter un coup d'œil à la vidéo Google AutoML si vous avez besoin d'éclaircissements.
Étape 7: Testez votre modèle
Une fois que vous avez reçu votre e-mail d'achèvement de modèle, cliquez sur le lien pour revenir à l'API AutoML Vision.
1. Vous pourrez maintenant visualiser vos résultats et la matrice de confusion pour votre modèle.
2. L'étape suivante consiste à tester votre modèle, allez dans « TEST ET UTILISATION » ou « PRÉDICTION » étrangement, il semble y avoir 2 interfaces utilisateur graphiques, que j'ai toutes deux illustrées, mais les options ont toutes les deux la même fonctionnalité.
3. Vous pouvez maintenant télécharger un spectrogramme de test. Pour créer un seul spectrogramme, vous pouvez utiliser le programme tbt_make_one_spect.sh du ThinkBioT Github. Déposez-le simplement dans un dossier avec le fichier wav que vous souhaitez convertir en spectrogramme, ouvrez une fenêtre Git Bash (ou un terminal) et utilisez le code ci-dessous en remplaçant votre nom de fichier.
sh tbt_make_one_spect.sh votreNomWav.wav
4. Maintenant, téléchargez simplement le spectrogramme et vérifiez votre résultat !
Étape 8: installez votre modèle dans ThinkBioT
Pour utiliser votre nouveau modèle brillant, déposez simplement le modèle et le fichier txt dans le dossier CModel;
pi > ThinkBioT > ClassProcess > CModel
Vous êtes maintenant prêt à utiliser ThinkBioT:)
**NB** Si vous utilisez votre modèle en dehors du framework ThinkBioT, vous devrez éditer votre document d'étiquette en ajoutant des nombres au début de chaque ligne car la dernière fonction "readlabels" intégrée des interpréteurs tflite suppose qu'ils sont là. J'ai écrit une fonction personnalisée dans le framework ThinkBioT classify_spect.py comme un travail que vous pouvez utiliser dans votre propre code:)
def ReadLabelFile(file_path):
counter = 0 avec open(file_path, 'r', encoding='utf-8') comme f: lines = f.readlines() ret = {} pour la ligne dans les lignes: ret[int(counter)] = line.strip () compteur = compteur + 1 retour ret
Conseillé:
Automatiser une serre avec LoRa ! (Partie 2) -- Ouvre-fenêtre motorisé : 6 étapes (avec photos)
Automatiser une serre avec LoRa ! (Partie 2) || Ouvre-fenêtre motorisé : Dans ce projet, je vais vous montrer comment j'ai créé un ouvre-fenêtre motorisé pour ma serre. Cela signifie que je vais vous montrer quel moteur j'ai utilisé, comment j'ai conçu le système mécanique réel, comment je conduis le moteur et enfin comment j'ai utilisé un Arduino LoRa
Partie 1. Construction matérielle du capteur bioacoustique autonome ThinkBioT : 13 étapes
Partie 1. ThinkBioT Autonomous Bio-acoustic Sensor Hardware Build : ThinkBioT vise à fournir un cadre logiciel et matériel, conçu comme une épine dorsale technologique pour soutenir les recherches futures, en gérant les détails de la collecte de données, du prétraitement, de la transmission de données et des tâches de visualisation permettant chercheur
Modèle de chemin de fer automatisé point à point avec voie de garage : 10 étapes (avec photos)
Chemin de fer modélisé point à point automatisé avec voie de garage : les microcontrôleurs Arduino ouvrent de grandes possibilités dans le modélisme ferroviaire, en particulier en ce qui concerne l'automatisation. Ce projet est un exemple d'une telle application. C'est la continuation d'un des projets précédents. Ce projet comprend un point
Robot Roomba contrôlé par navigateur avec le Raspberry Pi modèle 3 A+ : 6 étapes (avec photos)
Robot Roomba contrôlé par navigateur avec le Raspberry Pi Model 3 A+ : Aperçu Il existe de nombreux hacks Roomba qui permettent le contrôle via l'interface série. Je n'ai pas
Que faire avec les collections de moteurs aléatoires : Projet 2 : Lumières tournantes (Modèle UFO) : 12 étapes (avec photos)
Que faire avec les collections de moteurs aléatoires : Projet 2 : Lumières tournantes (modèle UFO) : Donc, j'ai toujours une collection de moteurs aléatoires… Que vais-je faire ? Eh bien, réfléchissons. Que diriez-vous d'un spinner à LED ? (Pas à la main, désolé les amateurs de spinner fidget.) Cela ressemble un peu à un OVNI, cela ressemble à un mélange entre un coupe-herbe et un mélangeur