Démarrage rapide des modèles des appareils 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é et effectuer une prédiction
  • Exporter et déployer un modèle AutoML Vision Edge

Avant de commencer

Configurer votre projet

  1. Connectez-vous à votre compte Google.

    Si vous n'en possédez pas déjà un, vous devez en créer un.

  2. Dans Cloud Console, sur la page de sélection du projet, sélectionnez ou créez un projet Cloud.

    Accéder à la page de sélection du projet

  3. Vérifiez que la facturation est activée pour votre projet Google Cloud. Découvrez comment vérifier que la facturation est activée pour votre projet.

  4. Activez les AutoML and Cloud Storage API.

    Activer les API

  5. Installez l'outil de ligne de commande gcloud.
  6. Suivez les instructions pour créer un compte de service et télécharger un fichier de clé associé.
  7. Indiquez le chemin d'accès au fichier de clé du compte de service, que vous avez téléchargé lors de la création de ce dernier, comme variable d'environnement GOOGLE_APPLICATION_CREDENTIALS.
    export GOOGLE_APPLICATION_CREDENTIALS=key-file
  8. Pour la variable d'environnement PROJECT_ID, indiquez l'ID de votre projet.
    export PROJECT_ID=your-project-id
    Les noms de ressources et les appels d'API AutoML incluent votre ID de projet. La variable d'environnement PROJECT_ID constitue un moyen pratique de spécifier l'ID.
  9. Si vous êtes propriétaire du projet, ajoutez votre compte de service au rôle IAM Éditeur AutoML, en remplaçant service-account-name par le nom de votre nouveau compte de service. Par exemple, service-account1@myproject.iam.gserviceaccount.com.
    gcloud auth login
    gcloud projects add-iam-policy-binding $PROJECT_ID \
       --member="serviceAccount:service-account-name" \
       --role="roles/automl.editor"
    
  10. Si vous n'êtes pas propriétaire du projet, demandez au propriétaire d'ajouter votre ID utilisateur et votre compte de service au rôle IAM Éditeur AutoML.

Créer un bucket Cloud Storage

Créez votre bucket Cloud Storage à l'aide de Cloud Shell, une ligne de commande Linux accessible dans un navigateur et connectée à votre projet Cloud Console :

  1. Ouvrez Cloud Shell.

  2. 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égion us-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/

  3. 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.

  1. Dans votre session Cloud Shell, entrez la commande suivante :

    gsutil -m cp -R gs://cloud-ml-data/img/flower_photos/ 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 :

  1. Mettez à jour le fichier CSV de sorte qu'il pointe vers les fichiers de votre bucket :

    gsutil cat gs://${BUCKET}/img/flower_photos/all_data.csv | sed "s:cloud-ml-data:${BUCKET}:" > all_data.csv
    
  2. 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.

  1. Sur la page "AutoML Vision", cliquez sur Nouvel ensemble de données :

    Nouveau bouton d'ensemble de données dans la console

  2. Spécifiez un nom pour cet ensemble de données (facultatif). Sélectionnez Create dataset (Créer un ensemble de données) pour poursuivre le processus de création de l'ensemble de données.

    Nouveau champ de nom d'ensemble de données

  3. Sur l'écran Select files to import (Sélectionner les fichiers à importer), cochez la case d'option radio_button_checkedSelect 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.

    Écran de sélection du fichier à importer

  4. 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.

    Images répertoriées une fois l'importation terminée

Entraîner le modèle

  1. 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élection de l'onglet Train (Entraîner)

  2. 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.

  3. 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 radio_button_checkedEdge. Cliquez sur Continue (Continuer) pour passer à la section suivante.

    Section

  4. Dans la section Optimiser le modèle pour, acceptez l'option radio_button_checkedMeilleur compromis et sélectionnez Continuer.

  5. 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).

    Entraînement d'un modèle Edge

  6. Sélectionnez Start training (Démarrer l'entraînement) pour commencer l'entraînement du 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.

  1. 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.

  2. 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.

    Choix des heures de nœud pour le déploiement

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.

  1. Dans la section Use your model (Utiliser votre modèle) de l'onglet Test et utilisation, sélectionnez l'option TF Lite.

    Exporter un modèle TF Lite

  2. Dans la fenêtre Export TF Lite package (Exporter un package TF Lite) qui s'affiche, spécifiez un emplacement de bucket Cloud Storage dans lequel exporter un package TF Lite, puis sélectionnez Export (Exporter). Le processus d'exportation prend généralement plusieurs minutes.

    Fenêtre latérale Exporter un modèle TF Lite

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)

É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 également exporter le modèle sous la forme d'un modèle SavedModel TensorFlow et l'utiliser avec un conteneur Docker dans l'onglet Conteneur. Consultez le tutoriel sur les conteneurs pour savoir comment procéder à l'exportation vers un conteneur.
  • L'onglet Appareils Edge permet d'exporter le modèle pour l'exécuter sur Edge TPU. Consultez ensuite la documentation officielle de Coral pour savoir comment lancer un test d'inférence sur Edge TPU.
  • Pour entraîner un modèle compatible avec Core ML, vous pouvez cocher check_box Format model for Core ML (iOS/macOS) (Mettre en forme le modèle pour Core ML (iOS/macOS)) avant l'entraînement. Après l'entraînement, vous pouvez exporter le modèle dans l'onglet Core ML et suivre le tutoriel Core ML.

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 d'encourir des frais inutiles liés à Google Cloud Platform, 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 :

  1. Sélectionnez l'onglet Test & Use (Test et utilisation) situé juste en dessous de la barre de titre.
  2. 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.

    menu contextuel d'annulation de déploiement

  3. Sélectionnez Remove deployment (Supprimer le déploiement) pour annuler le déploiement du modèle.

    déploiement du modèle

  4. 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 Cloud Console si vous n'en avez plus besoin.