Ajouter des libellés à des images en utilisant un modèle AutoML Vision Edge
Ce guide de démarrage rapide vous présente les processus suivants :
- Copier un ensemble d’images dans Google Cloud Storage.
- Créer un fichier CSV répertoriant les images et leurs libellés.
- Utiliser AutoML Vision pour créer un ensemble de données, entraîner un modèle AutoML Vision Edge personnalisé (classification d'images ou détection d'objets) et effectuer une prédiction
- Exporter et déployer votre modèle AutoML Vision Edge pour l'un des nombreux types de périphériques, tel que les téléphones mobiles, les appareils basés sur ARM et Coral Edge TPU
Avant de commencer
Configurer votre projet
- Connectez-vous à votre compte Google Cloud. Si vous débutez sur Google Cloud, créez un compte pour évaluer les performances de nos produits en conditions réelles. Les nouveaux clients bénéficient également de 300 $ de crédits gratuits pour exécuter, tester et déployer des charges de travail.
- Installez Google Cloud CLI.
-
Pour initialiser gcloudCLI, exécutez la commande suivante :
gcloud init
-
Créer ou sélectionner un projet Google Cloud
-
Créez un projet Google Cloud :
gcloud projects create PROJECT_ID
-
Sélectionnez le projet Google Cloud que vous avez créé :
gcloud config set project PROJECT_ID
-
-
Vérifiez que la facturation est activée pour votre projet Google Cloud.
-
Activer les API AutoML and Cloud Storage :
gcloud services enable storage-component.googleapis.com
automl.googleapis.com storage-api.googleapis.com - Installez Google Cloud CLI.
-
Pour initialiser gcloudCLI, exécutez la commande suivante :
gcloud init
-
Créer ou sélectionner un projet Google Cloud
-
Créez un projet Google Cloud :
gcloud projects create PROJECT_ID
-
Sélectionnez le projet Google Cloud que vous avez créé :
gcloud config set project PROJECT_ID
-
-
Vérifiez que la facturation est activée pour votre projet Google Cloud.
-
Activer les API AutoML and Cloud Storage :
gcloud services enable storage-component.googleapis.com
automl.googleapis.com storage-api.googleapis.com - Définissez la variable d'environnement
PROJECT_ID
sur votre ID de projet.export PROJECT_ID=PROJECT_ID
Les noms de ressources et les appels d'API AutoML incluent votre ID de projet. La variable d’environnementPROJECT_ID
constitue un moyen pratique de spécifier l’ID.
Créer un bucket Cloud Storage
Utilisez Cloud Shell, une ligne de commande Linux basée sur navigateur et connectée à votre projet Google Cloud Console, pour créer votre bucket Cloud Storage :
Créez un bucket Google Cloud Storage. Le nom du bucket doit respecter le format suivant :
project-id-vcm
. La commande ci-dessous permet de créer un bucket de stockage nomméproject-id-vcm
dans la régionus-central1
. Pour obtenir la liste complète des régions disponibles, consultez la page Emplacement des buckets.gsutil mb -p ${PROJECT_ID} -c regional -l us-central1 gs://${PROJECT_ID}-vcm/
Définissez la variable BUCKET.
export BUCKET=${PROJECT_ID}-vcm
Copier les exemples d'images dans le bucket
Ensuite, copiez l'ensemble de données de fleurs utilisé dans cet article de blog Tensorflow. Les images sont stockées dans un bucket Cloud Storage public. Vous pouvez donc les copier directement dans votre propre bucket.
Dans votre session Cloud Shell, entrez la commande suivante :
gsutil -m cp -R gs://cloud-samples-data/ai-platform/flowers/ gs://${BUCKET}/img/
La copie des fichiers prend environ 20 minutes.
Créer le fichier CSV
L'exemple d'ensemble de données contient un fichier CSV avec tous les emplacements d'images et les libellés pour chaque image. Vous allez l'utiliser pour créer votre propre fichier CSV :
Mettez à jour le fichier CSV de sorte qu'il pointe vers les fichiers de votre bucket :
gsutil cat gs://${BUCKET}/img/flowers/all_data.csv | sed "s:cloud-ml-data/img/flower_photos/:${BUCKET}/img/flowers/:" > all_data.csv
Copiez le fichier CSV dans le bucket :
gsutil cp all_data.csv gs://${BUCKET}/csv/
Créer votre ensemble de données
Accédez à l'interface utilisateur AutoML Vision pour commencer le processus de création de l'ensemble de données et d'entraînement de votre modèle.
Lorsque vous y êtes invité, veillez à sélectionner le projet que vous avez utilisé pour créer le bucket Cloud Storage.
Sur la page "AutoML Vision", cliquez sur Nouvel ensemble de données :
Spécifiez un nom pour cet ensemble de données (facultatif), sélectionnez l'objectif du modèle, puis cliquez sur Create dataset (Créer un ensemble de données) pour poursuivre le processus de création de l'ensemble de données.
Sur l'écran Select files to import (Sélectionner les fichiers à importer), cochez la case d'option
Select a CSV file on Cloud Storage (Sélectionner un fichier CSV sur Cloud Storage). Spécifiez l'URI Cloud Storage de votre fichier CSV. Le fichier CSV utilisé dans ce guide de démarrage rapide se situe à l'emplacement :gs://${PROJECT_ID}-vcm/csv/all_data.csv
Remplacez
PROJECT_ID
par l'ID de votre projet.Cliquez sur Continue (Continuer) pour lancer l'importation de l'image. Le processus d'importation prend quelques minutes. Une fois l'opération terminée, vous êtes dirigé sur la page suivante, qui présente des informations détaillées sur toutes les images identifiées dans votre ensemble de données, avec et sans libellés.
Entraîner le modèle
Une fois l'ensemble de données créé et traité, sélectionnez l'onglet Train (Entraînement) pour commencer l'entraînement du modèle.
Sélectionnez Démarrer l'entraînement pour continuer. Une fenêtre Train new model (Entraîner un nouveau modèle) s'ouvre et propose des options d'entraînement.
Dans la section Define your model (Définir votre modèle) de la nouvelle fenêtre d'entraînement, modifiez le nom du modèle (facultatif) et cochez la case d'option
Edge. Cliquez sur Continue (Continuer) pour passer à la section suivante.Dans la section Optimiser le modèle pour, acceptez l'option
Meilleur compromis et sélectionnez Continuer.Dans la section Set a node hour budget (Définir un budget pour une heure de nœud), acceptez le budget d'heures de nœud recommandé (4).
Sélectionnez Démarrer l'entraînement pour commencer l'entraînement de modèle.
L'entraînement du modèle commence et prend environ une heure. Il peut s'arrêter avant l'heure de nœud que vous avez sélectionnée. Le service vous enverra un e-mail à la fin de l'entraînement ou si des erreurs se sont produites.
Déployer le modèle
Avant de pouvoir exporter votre modèle, vous devez le déployer pour utilisation.
Pour déployer votre modèle, sélectionnez l'onglet Test et utilisation, puis cliquez sur l'option Déployer le modèle située à côté du nom du modèle.
Dans la fenêtre qui suit, spécifiez un nœud sur lequel effectuer le déploiement et sélectionnez Deploy (Déployer) pour lancer le processus de déploiement du modèle.
Vous recevrez une notification une fois le déploiement du modèle terminé.
Exporter le modèle
La dernière étape de l'utilisation d'un modèle AutoML Vision Edge consiste à exporter (optimiser et télécharger) et à déployer (utiliser) ce modèle.
Il existe plusieurs façons d'exporter et de déployer les modèles à utiliser pour les prédictions sur les appareils Edge.
Dans ce guide de démarrage rapide, vous allez utiliser Tensorflow Lite (TF Lite) à titre d'exemple. Les modèles TF Lite sont faciles à employer et conçus pour de nombreux cas d'utilisation.
Dans la section Use your model (Utiliser votre modèle) de l'onglet Test et utilisation, sélectionnez l'option TF Lite.
Dans la fenêtre Export TF Lite package (Exporter un package TF Lite) qui s'affiche, spécifiez un emplacement de bucket Cloud Storage vers lequel exporter un package TF Lite, puis sélectionnez Export (Exporter). Le processus d'exportation prend généralement plusieurs minutes.
Dans l'emplacement de destination Google Cloud Storage, vous trouverez un dossier nommé avec l'horodatage et le format du modèle. Celui-ci contient les fichiers suivants :
- Un fichier tflite (
model.tflite
) - Un fichier de dictionnaire (
dict.txt
) - Un fichier de métadonnées (
tflite_metadata.json
)
Effectuer un nettoyage
Pour éviter que les ressources utilisées sur cette page ne soient facturées sur votre compte Google Cloud, supprimez le projet Google Cloud contenant les ressources.
Étape suivante
Avec ces fichiers, vous pouvez suivre des tutoriels pour procéder à des déploiements sur des appareils Android, iOS et Raspberry Pi 3, ou sur le Web.
Autres options d'utilisation d'un modèle
- Vous pouvez exporter le modèle en tant que modèle compatible avec CoreML (iOS/macOS). Après l'entraînement, vous pouvez exporter le modèle en sélectionnant l'option CoreML dans l'onglet Test et utilisation et en suivant le tutoriel CoreML.
- Vous pouvez exporter le modèle pour l'exécuter sur Coral Edge TPU. Après l'entraînement, exportez le modèle en sélectionnant l'option Coral dans l'onglet Test et utilisation. Toutefois, en raison de l'incompatibilité actuelle avec notre modèle de détection d'objets, nous vous recommandons de n'exporter que les modèles de classification d'images pour Edge TPU (pour entraîner un modèle de détection d'objets pour Edge TPU, suivez l'une de ces tutoriels Google Colab. Après avoir exporté votre modèle, consultez la documentation officielle de Coral pour savoir comment lancer une inférence sur Edge TPU.
- Vous pouvez exporter le modèle sous la forme d'un modèle SavedModel TensorFlow et l'utiliser avec un conteneur Docker. Après l'entraînement, vous pouvez exporter le modèle en sélectionnant l'option Conteneur dans l'onglet Test et utilisation, puis suivre le tutoriel sur les conteneurs Edge concernant l'exportation vers un conteneur.
- Vous pouvez exporter le modèle pour l'utiliser dans un navigateur ou dans Node.js en tant que modèle TensorFlow.js. Après l'entraînement, vous pouvez exporter le modèle en sélectionnant l'option TensorFlow.js dans l'onglet Test et utilisation, puis suivre le tutoriel sur le modèle TensorFlow.js Edge.
Nettoyage
Si vous n'avez plus besoin de votre modèle personnalisé ou de votre ensemble de données, vous pouvez les supprimer.
Pour éviter des frais Google Cloud Platform inutiles, supprimez votre projet à l'aide de la console GCP si vous n'en avez plus besoin.
Annuler le déploiement du modèle
Des frais vous sont facturés pour le déploiement du modèle. Pour les éviter :
- Sélectionnez l'onglet Test & Use (Test et utilisation) situé juste en dessous de la barre de titre.
- Sélectionnez Remove deployment (Supprimer le déploiement) dans la bannière située sous le nom de votre modèle pour ouvrir la fenêtre d'annulation du déploiement.
- Sélectionnez Supprimer le déploiement pour annuler le déploiement du modèle.
- Vous recevrez un e-mail une fois l'annulation du déploiement du modèle terminée.
Supprimer votre projet (facultatif)
Pour éviter d'encourir des frais inutiles liés à Google Cloud Platform, supprimez votre projet à l'aide de Google Cloud Console si vous n'en avez plus besoin.