GSP1248

Présentation
Dans cet atelier, vous allez apprendre à simplifier un workflow de classification d'images dans BigQuery à l'aide d'un modèle importé (modèle PyTorch créé au format ONNX) et de requêtes GoogleSQL.
En tant qu'analyste de données récemment embauché chez Cymbal Media and Entertainment, votre mission consiste à tester un modèle importé et BigQuery Machine Learning pour l'inférence afin de classer des images de la faune. Ce projet vise à automatiser le processus de classification des images, à simplifier la création de contenu et, potentiellement, à créer une base de données plus vaste d'images de la faune pour les contenus à venir de la plate-forme de streaming de Cymbal.
ONNX est un format ouvert conçu pour représenter des modèles de machine learning. ONNX définit un ensemble commun d'opérateurs (les éléments de base des modèles de machine learning et de deep learning), ainsi qu'un format de fichier commun. Cela permet aux développeurs d'IA d'utiliser des modèles avec différents frameworks, outils, environnements d'exécution et compilateurs.
BigQuery est une plate-forme d'analyse de données entièrement gérée et compatible avec l'IA, conçue pour être multimoteur, multiformat et multicloud. Elle vous aide à maximiser la valeur de vos données. BigQuery Machine Learning pour l'inférence, l'une de ses fonctionnalités essentielles, vous permet de créer et d'exécuter des modèles de machine learning (ML) à l'aide de requêtes SQL.
Exécuter des modèles de ML à l'aide de requêtes GoogleSQL
En règle générale, l'exploitation du ML ou de l'intelligence artificielle (IA) sur des ensembles de données volumineux nécessite une programmation importante et une connaissance approfondie des frameworks de ML. Cela restreint le développement de solutions à un petit nombre de personnes au sein de chaque entreprise et exclut les analystes de données, qui comprennent les données, mais possèdent des connaissances limitées en matière de ML et une expertise restreinte en programmation. Toutefois, grâce à BigQuery ML, les utilisateurs de SQL peuvent mettre à profit leurs connaissances, compétences et outils SQL existants pour créer et générer des résultats à partir de modèles créés avec ONNX et stockés dans un bucket Cloud Storage. Cette approche permet aux entreprises de choisir leur modèle tout en restant flexibles du point de vue du MLOps. Elle contribue également à l'évolutivité de leurs initiatives de ML.
L'ensemble de données d'images
Les images utilisées dans cet atelier proviennent de l'ensemble de données Animals Detection Images hébergé sur Kaggle.
Objectifs
Dans cet atelier, vous allez apprendre à :
- créer une connexion à une ressource cloud ;
- accorder des autorisations au compte de service de la connexion ;
- créer un ensemble de données et des tables BigQuery ;
- importer le modèle ONNX dans BigQuery ;
- classer des images à l'aide du modèle importé.
Préparation
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 les activités dans un véritable environnement cloud, et non dans un environnement de simulation ou de démonstration. Des identifiants temporaires vous sont fournis pour vous permettre de vous connecter à Google Cloud le temps de l'atelier.
Pour réaliser cet atelier :
- Vous devez avoir accès à un navigateur Internet standard (nous vous recommandons d'utiliser Chrome).
Remarque : Ouvrez une fenêtre de navigateur en mode incognito (recommandé) ou de navigation privée pour effectuer cet atelier. Vous éviterez ainsi les conflits entre votre compte personnel et le compte temporaire de participant, qui pourraient entraîner des frais supplémentaires facturés sur votre compte personnel.
- Vous disposez d'un temps limité. N'oubliez pas qu'une fois l'atelier commencé, vous ne pouvez pas le mettre en pause.
Remarque : Utilisez uniquement le compte de participant pour cet atelier. Si vous utilisez un autre compte Google Cloud, des frais peuvent être facturés à ce compte.
Démarrer l'atelier et se connecter à la console Google Cloud
-
Cliquez sur le bouton Démarrer l'atelier. Si l'atelier est payant, une boîte de dialogue s'affiche pour vous permettre de sélectionner un mode de paiement.
Sur la gauche, vous trouverez le panneau "Détails concernant l'atelier", qui contient les éléments suivants :
- Le bouton "Ouvrir la console Google Cloud"
- Le temps restant
- Les identifiants temporaires que vous devez utiliser pour cet atelier
- Des informations complémentaires vous permettant d'effectuer l'atelier
-
Cliquez sur Ouvrir la console Google Cloud (ou effectuez un clic droit et sélectionnez Ouvrir le lien dans la fenêtre de navigation privée si vous utilisez le navigateur Chrome).
L'atelier lance les ressources, puis ouvre la page "Se connecter" dans un nouvel onglet.
Conseil : Réorganisez les onglets dans des fenêtres distinctes, placées côte à côte.
Remarque : Si la boîte de dialogue Sélectionner un compte s'affiche, cliquez sur Utiliser un autre compte.
-
Si nécessaire, copiez le nom d'utilisateur ci-dessous et collez-le dans la boîte de dialogue Se connecter.
{{{user_0.username | "Username"}}}
Vous trouverez également le nom d'utilisateur dans le panneau "Détails concernant l'atelier".
-
Cliquez sur Suivant.
-
Copiez le mot de passe ci-dessous et collez-le dans la boîte de dialogue Bienvenue.
{{{user_0.password | "Password"}}}
Vous trouverez également le mot de passe dans le panneau "Détails concernant l'atelier".
-
Cliquez sur Suivant.
Important : Vous devez utiliser les identifiants fournis pour l'atelier. Ne saisissez pas ceux de votre compte Google Cloud.
Remarque : Si vous utilisez votre propre compte Google Cloud pour cet atelier, des frais supplémentaires peuvent vous être facturés.
-
Accédez aux pages suivantes :
- Acceptez les conditions d'utilisation.
- N'ajoutez pas d'options de récupération ni d'authentification à deux facteurs (ce compte est temporaire).
- Ne vous inscrivez pas à des essais sans frais.
Après quelques instants, la console Cloud s'ouvre dans cet onglet.
Remarque : Pour accéder aux produits et services Google Cloud, cliquez sur le menu de navigation ou saisissez le nom du service ou du produit dans le champ Recherche.
Tâche 1 : Créer une connexion à une ressource cloud
Dans cette tâche, vous allez créer une connexion à une ressource cloud dans BigQuery pour pouvoir importer les images depuis Cloud Storage dans la table d'objets de votre ensemble de données.
Remarque : Pour créer la connexion à la ressource, utilisez la région Google Cloud attribuée dans le guide de l'atelier qui vous a été fourni. Nous vous recommandons aussi de créer l'ensemble de données dans cette même région, ce qui vous aidera à limiter les erreurs dans l'atelier.
-
Dans la console Google Cloud, accédez au menu de navigation, puis cliquez sur BigQuery.
-
Le pop-up "Bienvenue sur BigQuery" s'affiche. Cliquez sur OK.
-
Pour créer une connexion, cliquez sur + AJOUTER, puis sur Connexions à des sources de données externes.
-
Dans la liste "Type de connexion", sélectionnez Modèles distants Vertex AI, fonctions à distance et BigLake (Ressource Cloud).
-
Dans le champ "ID de connexion", saisissez onnx_conn pour votre connexion.
-
Dans le champ "Type d'emplacement", sélectionnez Région.
-
Dans le champ "Région", choisissez .
-
Cliquez sur CRÉER UNE CONNEXION.
-
Cliquez sur ACCÉDER À LA CONNEXION.
-
Vous verrez également que la connexion est ajoutée sous la section "Connexions externes" de votre projet dans l'explorateur BigQuery. Copiez l'ID de compte de service indiqué dans le volet "Informations de connexion" dans un fichier texte. Vous en aurez besoin à l'étape suivante.
Cliquez sur Vérifier ma progression pour valider l'objectif.
Créer une connexion de ressource Cloud
Tâche 2 : Examiner les images et les fichiers, et accorder l'accès au compte de service
Dans cette tâche, vous allez examiner des images et des fichiers (modèle ONNX et fichier CSV du classificateur). Vous accorderez ensuite des autorisations IAM au compte de service de la connexion à la ressource cloud.
Examiner les images et le modèle ONNX dans Cloud Storage
Avant de commencer cette tâche visant à accorder des autorisations au compte de service de la connexion à la ressource, examinez les images, le modèle et le fichier "classifier.csv" tels qu'ils sont stockés dans le bucket Cloud Storage.
-
Dans la console Google Cloud, ouvrez le menu de navigation (
), puis sélectionnez Cloud Storage.
-
Cliquez sur le bucket -bucket.
-
Une fois dans le bucket, ouvrez le dossier gsp1248. Celui-ci contient trois éléments :
- Le dossier "images" contient toutes les images que vous allez classer. Vous pouvez y accéder et examiner les images. Vous devriez y trouver les images d'un lion, d'un cygne noir, d'un hippopotame, d'un ours noir et d'un crabe royal.
- Le fichier "resnet18.onnx" est le fichier du modèle. Vous allez l'importer dans BigQuery pour l'utiliser dans des tâches ultérieures.
- Le fichier "classifier.csv" sera utilisé avec le modèle dans une requête pour classer les images.
Accorder des autorisations IAM au compte de service de la connexion
En attribuant les autorisations IAM requises au compte de service de la connexion à la ressource cloud avant de commencer à travailler dans BigQuery, vous vous assurez d'éviter les erreurs de type "accès refusé" lors de l'exécution des requêtes.
-
Revenez à la racine du bucket.
-
Cliquez sur AUTORISATIONS.
-
Cliquez sur ACCORDER L'ACCÈS.
-
Dans le champ Nouveaux comptes principaux, saisissez l'ID de compte de service que vous avez copié précédemment.
-
Dans le champ "Sélectionnez un rôle", saisissez Objets Storage, puis sélectionnez le rôle Administrateur des objets Storage.
-
Cliquez sur Enregistrer.
L'ID du compte de service inclut désormais le rôle d'administrateur des objets Storage.
Cliquez sur Vérifier ma progression pour valider l'objectif.
Accorder des autorisations IAM au compte de service de la connexion
Tâche 3 : Créer l'ensemble de données et les tables dans BigQuery
Dans cette tâche, vous allez créer un ensemble de données pour le projet, une table d'objets pour stocker les images et une table pour la liste de classification.
Créer un ensemble de données
-
Dans la console Google Cloud, ouvrez le menu de navigation (
) et sélectionnez BigQuery.
-
Dans le panneau Explorateur, pour , sélectionnez Afficher les actions (
), puis Créer un ensemble de données.
Vous créez un ensemble de données pour stocker des objets de bases de données, dont des tables et des modèles.
-
Dans le volet Créer l'ensemble de données, saisissez les informations suivantes :
Champ |
Valeur |
ID de l'ensemble de données |
onnx_demo |
Type d'emplacement |
Sélectionnez
|
Conservez les valeurs par défaut dans les autres champs.
-
Cliquez sur Créer un ensemble de données.
L'ensemble de données onnx_demo est désormais créé et se trouve en dessous de votre projet dans l'explorateur BigQuery.
Créer la table d'objets pour les images
Maintenant que l'ensemble de données est créé, vous pouvez créer la table d'objets référençant les images du bucket.
Pour créer la table d'objets, vous allez utiliser une requête SQL.
-
Cliquez sur le signe + pour créer une requête SQL.
-
Dans l'éditeur de requête, collez la requête ci-dessous.
CREATE OR REPLACE EXTERNAL TABLE
`onnx_demo.wildlife`
WITH CONNECTION `{{{project_0.default_region|lab region}}}.onnx_conn`
OPTIONS (
object_metadata = 'SIMPLE',
uris = ['gs://{{{project_0.project_id|set at lab start}}}-bucket/gsp1248/images/*']
);
-
Exécutez la requête.
La requête entraîne l'ajout de la table d'objets "wildlife" à l'ensemble de données "onnx_demo", ainsi que le chargement de l'URI (l'emplacement Cloud Storage) de chaque image d'animal dans cette table.
-
Dans l'explorateur, cliquez sur la table wildlife, et examinez le schéma et les détails.
Créer la table pour la liste de classification
Pour créer la table de la liste de classification, vous allez utiliser une requête SQL.
-
Cliquez sur le signe + pour créer une requête SQL.
-
Dans l'éditeur de requête, collez la requête ci-dessous.
LOAD DATA OVERWRITE onnx_demo.classifier
(ID INT64,Classification STRING)
FROM FILES (
format = 'CSV',
uris = ['gs://{{{project_0.project_id|set at lab start}}}-bucket/gsp1248/classifier.csv']);
-
Exécutez la requête.
La requête entraîne l'ajout de la table de classification à l'ensemble de données "onnx_demo", ainsi que le chargement de l'ID et de la classification de chaque élément de l'ensemble de données dans cette table. Cela inclut la faune que vous allez classer plus loin dans cet atelier.
-
Dans l'explorateur, cliquez sur la table classifier, et examinez le schéma et les détails. Vous pouvez interroger la table pour examiner comment elle classe chaque élément. Remarque : En plus des espèces sauvages, la table contient de nombreux autres éléments tels que des animaux, poissons, insectes et oiseaux.
Cliquez sur Vérifier ma progression pour valider l'objectif.
Créer l'ensemble de données et les tables dans BigQuery
Tâche 4 : Importer le modèle dans BigQuery
Dans cette tâche, vous allez importer le modèle ONNX resnet18 dans BigQuery afin de pouvoir l'utiliser pour classer des images.
-
Cliquez sur le signe + pour créer une requête SQL.
-
Dans l'éditeur de requête, collez la requête ci-dessous.
CREATE OR REPLACE MODEL `onnx_demo.model`
OPTIONS (MODEL_TYPE='ONNX',
MODEL_PATH='gs://{{{project_0.project_id|set at lab start}}}-bucket/gsp1248/resnet18.onnx')
-
Exécutez la requête.
Le modèle est ajouté à l'ensemble de données "onnx_demo" dans la section des modèles.
-
Dans l'explorateur, cliquez sur le modèle et examinez les détails correspondants.
Cliquez sur Vérifier ma progression pour valider l'objectif.
Importer le modèle dans BigQuery
Tâche 5 : Classer des images à l'aide du modèle ONNX importé
Dans cette tâche, vous allez réserver un emplacement et l'attribuer à votre projet, puis utiliser une requête pour classer de nouvelles images à l'aide du modèle ONNX.
Ajouter une réservation d'emplacements
Pour pouvoir utiliser le modèle ONNX, vous devez créer une réservation d'emplacements et l'attribuer à votre projet.
-
Dans le menu BigQuery, cliquez sur Gestion de la capacité.
-
Sur la page "Gestion de la capacité", cliquez sur CRÉER UNE RÉSERVATION.
-
Sur la page "Créer une réservation", saisissez reservation
comme nom de la réservation.
-
Comme localisation, sélectionnez .
-
Sélectionnez l'option Petite (100 emplacements) dans le sélecteur de taille maximale de réservation.
-
Cliquez sur ENREGISTRER.
Attribuez la réservation d'emplacements à votre projet.
-
Cliquez sur le bouton Actions de réservation (Afficher les actions) correspondant à votre réservation.
-
Dans le menu pop-up qui s'affiche, cliquez sur Créer une attribution.
-
Dans la fenêtre pop-up "Créer une attribution", vous verrez que le type de job est défini par défaut sur "QUERY". Conservez cette valeur par défaut.
-
Cliquez sur PARCOURIR.
-
Dans la fenêtre pop-up, choisissez le nom du projet. Le projet est ajouté au champ "Sélectionner une organisation, un dossier ou un projet".
-
Cliquez sur CRÉER.
Le projet est alors attribué à la réservation d'emplacements que vous venez de créer.
-
Patientez 2 minutes. Il faut un certain temps pour que l'attribution de la réservation d'emplacements s'applique au compte.
Utiliser le modèle pour classer des images
-
Revenez dans BigQuery Studio.
-
Cliquez sur le signe + pour créer une requête SQL.
-
Dans l'éditeur de requête, collez la requête ci-dessous.
SELECT * FROM `{{{project_0.project_id|set at lab start}}}.onnx_demo.classifier`
WHERE EXISTS (
SELECT
1
FROM
ML.PREDICT(MODEL onnx_demo.model,
(
SELECT
ML.RESIZE_IMAGE(ML.DECODE_IMAGE(DATA),
224,
224,
FALSE) AS input
FROM
`onnx_demo.wildlife`
)
)
WHERE
class_label = ID - 1
)
-
Exécutez la requête.
Les images sont alors classées par ligne avec l'ID et la classification prédite sur la base du modèle ONNX.
Cliquez sur Vérifier ma progression pour valider l'objectif.
Classer des images à l'aide du modèle ONNX importé
Félicitations !
Dans cet atelier, vous avez créé une connexion à une ressource cloud, accordé l'accès au compte de service de la connexion, créé un ensemble de données et des tables, importé un modèle ONNX dans BigQuery, et enfin classé des images à l'aide de ce modèle.
Étapes suivantes et informations supplémentaires
Formations et certifications Google Cloud
Les formations et certifications Google Cloud vous aident à tirer pleinement parti des technologies Google Cloud. Nos cours portent sur les compétences techniques et les bonnes pratiques à suivre pour être rapidement opérationnel et poursuivre votre apprentissage. Nous proposons des formations pour tous les niveaux, à la demande, en salle et à distance, pour nous adapter aux emplois du temps de chacun. Les certifications vous permettent de valider et de démontrer vos compétences et votre expérience en matière de technologies Google Cloud.
Dernière mise à jour du manuel : 24 mai 2024
Dernier test de l'atelier : 24 mai 2024
Copyright 2025 Google LLC. Tous droits réservés. Google et le logo Google sont des marques de Google LLC. Tous les autres noms d'entreprises et de produits peuvent être des marques des entreprises auxquelles ils sont associés.