Présentation
Vertex AI AutoML permet aux développeurs peu expérimentés dans le domaine du machine learning d'entraîner des modèles de reconnaissance d'image de haute qualité.
Après avoir importé des images dans l'interface utilisateur d'AutoML, il est possible d'entraîner un modèle qui pourra être utilisé directement sur Google Cloud afin de générer des prédictions via une API REST facile d'utilisation.
Dans cet atelier, vous allez importer dans Cloud Storage des images qui vous serviront ensuite à entraîner un modèle personnalisé pour qu'il reconnaisse différents types de nuages (cumulus, cumulonimbus, etc.).
Points abordés
Dans cet atelier, vous allez effectuer les tâches suivantes :
- Importer un ensemble de données étiquetées dans Cloud Storage et l'associer à AutoML à l'aide d'un fichier d'étiquettes au format CSV
- Entraîner un modèle à l'aide d'AutoML
- Générer des prédictions sur un modèle entraîné
Avant de commencer l'atelier
Avant de cliquer sur le bouton "Démarrer l'atelier"
Lisez ces instructions. Les ateliers sont minutés, et vous ne pouvez pas les mettre en pause. Le minuteur, qui démarre lorsque vous cliquez sur Démarrer l'atelier, indique combien de temps les ressources Google Cloud resteront accessibles.
Cet atelier pratique vous permet de suivre vous-même les activités dans un véritable environnement cloud, et non dans un environnement de simulation ou de démonstration. Nous vous fournissons des identifiants temporaires pour vous connecter à Google Cloud le temps de l'atelier.
Conditions requises
Pour réaliser cet atelier, vous devez :
- avoir accès à un navigateur Internet standard (nous vous recommandons d'utiliser Chrome) ;
- disposer de suffisamment de temps pour effectuer l'atelier en une fois.
Remarque : Si vous possédez votre propre compte ou projet Google Cloud, veillez à ne pas l'utiliser pour réaliser cet atelier.
Remarque : Si vous utilisez un Pixelbook, veuillez exécuter cet atelier dans une fenêtre de navigation privée.
Se connecter à la console Google Cloud
- Dans l'onglet ou la fenêtre de navigateur que vous utilisez pour cet atelier, copiez les données de Username (Nom d'utilisateur) indiqué dans le panneau Connection Details (Détails de connexion), puis cliquez sur le bouton Open Google Console (Ouvrir la console Google).
Remarque : Si vous êtes invité à choisir un compte, cliquez sur Use another account (Utiliser un autre compte).
- Collez les données de Username (Nom d'utilisateur) et de Password (Mot de passe) lorsque vous y êtes invité :
- Cliquez sur Next (Suivant).
- Acceptez les conditions d'utilisation.
Comme il s'agit d'un compte temporaire auquel vous aurez accès uniquement pendant la durée de cet atelier :
- n'ajoutez pas d'options de récupération ;
- ne vous inscrivez pas à des essais gratuits.
- Une fois la console ouverte, affichez la liste des services en cliquant sur le menu de navigation (
) en haut à gauche.

Activer Cloud Shell
Cloud Shell est une machine virtuelle qui contient des outils pour les développeurs. Elle comprend un répertoire d'accueil persistant de 5 Go et s'exécute sur Google Cloud. Google Cloud Shell vous permet d'accéder via une ligne de commande à vos ressources Google Cloud. gcloud
est l'outil de ligne de commande associé à Google Cloud. Il est préinstallé sur Cloud Shell et permet la saisie semi-automatique via la touche Tabulation.
-
Dans Google Cloud Console, dans le volet de navigation, cliquez sur Activer Cloud Shell (
).
-
Cliquez sur Continuer.
Le provisionnement et la connexion à l'environnement prennent quelques instants. Une fois connecté, vous êtes en principe authentifié, et le projet est défini sur votre ID_PROJET. Exemple :

Exemples de commandes
gcloud auth list
(Résultat)
Credentialed accounts:
- <myaccount>@<mydomain>.com (active)
(Exemple de résultat)
Credentialed accounts:
- google1623327_student@qwiklabs.net
gcloud config list project
(Résultat)
[core]
project = <ID_Projet>
(Exemple de résultat)
[core]
project = qwiklabs-gcp-44776a13dea667a6
Tâche 1 : Se préparer pour AutoML
Créer un bucket de stockage
- Créez un bucket de stockage en exécutant la commande suivante :
gcloud storage buckets create gs://$GOOGLE_CLOUD_PROJECT-vcm \
-c standard \
-l us-central1
- Dans la console Google Cloud, ouvrez le menu de navigation et cliquez sur Cloud Storage pour afficher le bucket.
Cliquez sur Vérifier ma progression pour valider l'objectif.
Créer un bucket Cloud Storage
Tâche 2 : Importer des images d'entraînement dans Cloud Storage
Pour pouvoir entraîner un modèle à classer des images de nuages, vous devez fournir des données d'entraînement étiquetées. Ainsi, le modèle sera en mesure de comprendre les caractéristiques des images associées à différents types de nuages. Dans notre exemple, le modèle va apprendre à classer trois familles de nuages : les cirrus, les cumulus et les cumulonimbus.
Avant de pouvoir utiliser AutoML, vous devez importer les images d'entraînement dans Cloud Storage.
- Avant d'ajouter les images de nuages, créez une variable d'environnement avec le nom de votre bucket.
Exécutez la commande suivante dans Cloud Shell :
export BUCKET=$GOOGLE_CLOUD_PROJECT-vcm
Les images d'entraînement sont accessibles au public dans un bucket Cloud Storage.
- Avec l'utilitaire de ligne de commande gcloud storage pour Cloud Storage, copiez les images d'entraînement dans votre bucket :
gcloud storage cp -r gs://spls/gsp223/images/* gs://${BUCKET}
- Une fois les images copiées, cliquez sur le bouton Actualiser en haut du navigateur Storage, puis cliquez sur le nom du bucket. Vous devez voir trois dossiers de photos correspondant à chacun des trois types de nuages que vous allez classer.
Si vous cliquez sur les fichiers image dans chaque dossier, vous accédez aux photos qui serviront à entraîner le modèle à distinguer chaque famille de nuages.
Tâche 3 : Créer un ensemble de données
Maintenant que vous avez importé vos données d'entraînement dans Cloud Storage, vous devez les rendre accessibles par AutoML.
Pour cela, vous allez créer un fichier CSV dans lequel chaque ligne contient une URL pointant vers une image d'entraînement ainsi que l'étiquette associée à cette image.
Ce fichier CSV a déjà été créé, donc vous n'avez plus qu'à le mettre à jour en indiquant le nom de votre bucket.
- Exécutez la commande suivante pour copier le fichier dans votre instance Cloud Shell :
gcloud storage cp gs://spls/gsp223/data.csv .
- Ajoutez ensuite le nom des fichiers de votre projet dans le fichier CSV :
sed -i -e "s/placeholder/${BUCKET}/g" ./data.csv
- Importez maintenant ce fichier dans votre bucket Cloud Storage :
gcloud storage cp ./data.csv gs://${BUCKET}
-
Une fois l'opération terminée, cliquez sur le bouton Actualiser en haut du navigateur Storage. Vérifiez que le fichier data.csv figure dans le bucket.
-
Ouvrez l'onglet Ensemble de données Vertex AI. La page doit se présenter comme suit :

-
En haut de la console, cliquez sur + CRÉER.
-
Saisissez clouds (nuages) comme nom de l'ensemble de données.
-
Sélectionnez Classification d'images (étiquette unique).
Remarque : Dans vos projets, il peut être judicieux d'utiliser une classification à classes multiples.
-
Cliquez sur Créer.
-
Choisissez Sélectionner des fichiers d'importation à partir de Cloud Storage et ajoutez le nom du fichier à l'URL du fichier que vous venez d'importer (nom-du-bucket/data.csv).
Pour obtenir facilement ce lien, revenez dans la console Cloud, cliquez sur le fichier data.csv, puis accédez au champ "URI".
- Cliquez sur Continuer.
L'importation des images prend entre deux et cinq minutes. Vous accédez ensuite à une page présentant toutes les images de votre ensemble de données.
Cliquez sur Vérifier ma progression pour valider l'objectif.
Créer un ensemble de données
Tâche 4 : Inspecter les images
Une fois l'importation terminée, vous serez redirigé vers l'onglet Parcourir pour voir les images que vous avez importées.

Utilisez les étiquettes du menu de gauche pour filtrer les images d'entraînement afin de les examiner (cliquez sur "cumulus", par exemple) :
Remarque : Pour créer un modèle de production, vous auriez besoin de 100 images par étiquette au minimum afin d'obtenir des résultats précis. Pour les besoins de cet exemple, nous n'avons utilisé que 20 images de chaque type de nuage afin d'entraîner rapidement le modèle.
Si des images sont mal étiquetées, vous pouvez cliquer dessus pour changer l'étiquette :

Remarque : Si votre ensemble de données n'est pas encore étiqueté, vous pouvez utiliser le service d'étiquetage manuel d'AutoML.
Tâche 5 : Entraîner le modèle
Votre modèle peut désormais être entraîné. AutoML s'en charge pour vous, ce qui vous évite de devoir écrire du code.
-
Pour entraîner votre modèle "nuages", cliquez sur ENTRAÎNER LE NOUVEAU MODÈLE.
-
Dans l'onglet Méthode d'entraînement, cliquez sur Continuer.
-
Dans l'onglet Détails du modèle, cliquez sur Continuer.
-
Dans l'onglet Options d'entraînement, cliquez sur Continuer.
-
Dans l'onglet Explicabilité, cliquez sur Continuer.
-
Dans l'onglet Options de calcul et tarifs, définissez les nœuds-heure sur 8.
Remarque : À ce stade, vous devriez cliquer sur Démarrer l'entraînement. Toutefois, comme l'entraînement peut prendre jusqu'à 120 minutes, vous allez passer à la tâche suivante, dans laquelle vous utiliserez un modèle pré-entraîné.
- Cliquez sur Annuler et passez à la tâche suivante.
Tâche 6 : Générer des prédictions
Il existe plusieurs méthodes pour générer des prédictions.
Dans cet atelier, vous allez importer des images via l'interface utilisateur
et voir comment le modèle les classe. La première image représente un nuage de type cirrus, et la seconde, un cumulonimbus.
-
Revenez au terminal Cloud Shell.
-
Téléchargez ces images sur votre ordinateur local.
gcloud storage cp gs://spls/gsp223/examples/* .
- Les fichiers d'exemple contiennent des images de nuages encodées en base64. Vous trouverez ci-dessous une version modifiée du fichier CLOUD1-JSON.
{
"instances": [{
"content":
"/9j/4AAQSkZJRgABAQAAAQABAAD2wCEAAUDBA0PDQ0NDQ0NDQ0NDQ0NDQ0
Q0ODQ0NDRUNDhERExMTDQ0WGBYSGBASExIBBQUFCAcIDwkJDxUVDxUVFRUV
RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFf/AABEIAeACgAMB
aAAwDAQACEQMRAD8A+bzIcyW{{{{CONTENT REMOVED}}}aQDRJlsFBNCVq
TqyIrhaQDRJlsFBNCVqjTqyIrhaQDRJlsFBNCVqjTqyIrhaQDRdkslFDpL9
tUVQXCuAAAsJoKCiYkSp//9k="
}],
"parameters": {
"confidenceThreshold": 0.5,
"maxPredictions": 5
}
}
- Copiez la valeur du point de terminaison du modèle AutoML prédéployé dans une variable d'environnement.
ENDPOINT=$(gcloud run services describe automl-service --platform managed --region us-central1 --format 'value(status.url)')
- Saisissez la commande suivante pour demander une prédiction :
curl -X POST -H "Content-Type: application/json" $ENDPOINT/v1 -d "@${INPUT_DATA_FILE}" | jq
L'appel ci-dessus demande une prédiction à AutoML.
Toutefois, comme aucune donnée d'entrée n'est spécifiée, la requête échoue.
Le code d'erreur HTTP 400 indique que les données attendues ne sont pas présentes.
Résultat attendu :
{
"error": {
"code": 400,
"message": "Empty instances.",
"status": "INVALID_ARGUMENT"
}
}
Questionnaire
Testez vos connaissances sur AutoML en répondant à un court questionnaire sur les sujets abordés dans cet atelier.
Utilisez les connaissances acquises lors de cet atelier pour générer des prédictions.

Vérifiez si le modèle peut prédire le type de nuage sur une image :
- Définissez
CLOUD1-JSON
comme fichier d'entrée.
INPUT_DATA_FILE=CLOUD1-JSON
- Saisissez la commande suivante pour demander une prédiction :
curl -X POST -H "Content-Type: application/json" $ENDPOINT/v1 -d "@${INPUT_DATA_FILE}" | jq
- Le message renvoyé confirmera qu'il s'agit du type de nuage cirrus.
"displayNames": [
"cirrus"
]
- Essayez une autre prédiction.

Vérifions si notre modèle peut prédire le type de nuage sur cette image :
- Définissez
CLOUD2-JSON
comme fichier d'entrée.
INPUT_DATA_FILE=CLOUD2-JSON
- Saisissez la commande suivante pour demander une prédiction :
curl -X POST -H "Content-Type: application/json" $ENDPOINT/v1 -d "@${INPUT_DATA_FILE}" | jq
- Le message renvoyé confirmera qu'il s'agit du type de nuage cumulonimbus.
"displayNames": [
"cumulonimbus"
]
Félicitations !
Vous avez appris à entraîner votre propre modèle de machine learning et à l'utiliser pour générer des prédictions via l'interface utilisateur Web. Vous savez maintenant comment entraîner un modèle à partir d'un ensemble de données d'images personnalisé.
Sujets abordés
- Importer des images d'entraînement dans Cloud Storage et créer un fichier CSV afin qu'AutoML Vision puisse les trouver
- Examiner des étiquettes et entraîner un modèle dans l'interface utilisateur d'AutoML Vision
- Générer des prédictions sur de nouvelles images de nuages
Étapes suivantes et informations supplémentaires
Terminer l'atelier
Une fois l'atelier terminé, cliquez sur End Lab (Terminer l'atelier). Qwiklabs supprime les ressources que vous avez utilisées, puis efface le compte.
Si vous le souhaitez, vous pouvez noter l'atelier. Sélectionnez le nombre d'étoiles correspondant à votre note, saisissez un commentaire, puis cliquez sur Submit (Envoyer).
Le nombre d'étoiles que vous pouvez attribuer à un atelier correspond à votre degré de satisfaction :
- 1 étoile = très mécontent(e)
- 2 étoiles = insatisfait(e)
- 3 étoiles = ni insatisfait(e), ni satisfait(e)
- 4 étoiles = satisfait(e)
- 5 étoiles = très satisfait(e)
Si vous ne souhaitez pas donner votre avis, vous pouvez fermer la boîte de dialogue.
Pour soumettre des commentaires, suggestions ou corrections, veuillez utiliser l'onglet Support (Assistance).