Entraînement personnalisé Hello : entraîner un modèle de classification d'images personnalisé

Cette page vous explique comment exécuter une application d'entraînement TensorFlow Keras dans Vertex AI. Ce modèle particulier entraîne un modèle de classification d'images capable de classer des fleurs par type.

Ce tutoriel comporte plusieurs pages :

  1. Configurer votre projet et votre environnement.

  2. Entraîner un modèle de classification d'images personnalisé

  3. Effectuer des prédictions à partir d'un modèle de classification d'images personnalisé

  4. Nettoyer votre projet.

Chaque page suppose que vous avez déjà effectué les instructions des pages précédentes du tutoriel.

Dans la suite de ce document, nous partons du principe que vous utilisez le même environnement Cloud Shell que vous avez créé lors de la première page de ce tutoriel. Si votre session Cloud Shell d'origine n'est plus ouverte, vous pouvez revenir à l'environnement en procédant comme suit :

  1. In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

  2. Dans la session Cloud Shell, exécutez la commande suivante :

    cd hello-custom-sample

Exécuter un pipeline d'entraînement personnalisé

Cette section décrit l'utilisation du package d'entraînement que vous avez importé dans Cloud Storage pour exécuter un pipeline d'entraînement personnalisé Vertex AI.

  1. Dans la console Google Cloud, accédez à la section Vertex AI, accédez à la page Entraînement des pipelines.

    Accéder à la page Pipelines d'entraînement

  2. Cliquez sur Créer pour ouvrir le volet Entraîner le nouveau modèle.

  3. À l'étape Sélectionner une méthode d'entraînement, procédez comme suit :

    1. Dans la liste déroulante Ensemble de données, sélectionnez Aucun ensemble de données géré. Cette application d'entraînement spécifique charge les données de la bibliothèque Ensembles de données TensorFlow plutôt qu'un ensemble de données Vertex AI géré.

    2. Assurez-vous que l'option Entraînement personnalisé (avancé) est activée.

    Cliquez sur Continuer.

  4. À l'étape Informations sur le modèle, dans le champ Nom, saisissez hello_custom. Cliquez sur Continuer.

  5. À l'étape Conteneur d'entraînement, indiquez à Vertex AI les informations nécessaires à l'utilisation du package d'entraînement que vous avez importé dans Cloud Storage :

    1. Sélectionnez Conteneur prédéfini.

    2. Dans la liste déroulante Framework du modèle, sélectionnez TensorFlow.

    3. Dans la liste déroulante Version de framework du modèle, sélectionnez 2.3.

    4. Dans le champ Emplacement du package, saisissez cloud-samples-data/ai-platform/hello-custom/hello-custom-sample-v1.tar.gz.

    5. Dans le champ Module Python, entrez trainer.task. trainer correspond au nom du package Python dans votre fichier tarball et task.py contient votre code d'entraînement. Par conséquent, trainer.task est le nom du module sur lequel vous souhaitez exécuter Vertex AI.

    6. Dans le champ Répertoire de sortie du modèle, cliquez sur Parcourir. Dans le volet Sélectionner un dossier, procédez comme suit :

      1. Accédez à votre bucket Cloud Storage.

      2. Cliquez sur Créer un dossier .

      3. Nommez le nouveau dossier output. Cliquez ensuite sur Créer.

      4. Cliquez sur Sélectionner.

      Vérifiez que le champ a la valeur gs://BUCKET_NAME/output, où BUCKET_NAME est le nom de votre bucket Cloud Storage.

      Cette valeur est transmise à Vertex AI dans le champ d'API baseOutputDirectory, qui définit plusieurs variables d'environnement auxquelles votre application d'entraînement peut accéder lorsqu'elle s'exécute.

      Par exemple, lorsque vous définissez ce champ sur gs://BUCKET_NAME/output, Vertex AI définit la variable d'environnement AIP_MODEL_DIR sur gs://BUCKET_NAME/output/model. À la fin de l'entraînement, Vertex AI utilise des artefacts du répertoire AIP_MODEL_DIR pour créer une ressource de modèle.

      Vous pouvez consulter davantage d'informations sur les variables d'environnement définies par ce champ.

    Cliquez sur Continuer.

  6. À l'étape facultative Hyperparamètres, assurez-vous que la case Activer le réglage d'hyperparamètres est décochée. Ce tutoriel n'utilise pas le réglage d'hyperparamètres. Cliquez sur Continuer.

  7. À l'étape Calcul et tarification, allouez des ressources pour la tâche d'entraînement personnalisée :

    1. Dans la liste déroulante Région, sélectionnez us-central1 (Iowa).

    2. Dans la liste déroulante Type de machine, sélectionnez n1-standard-4 dans la section Standard.

    N'ajoutez pas d'accélérateurs ni de pools de nœuds de calcul pour ce tutoriel. Cliquez sur Continuer.

  8. À l'étape Conteneur de prédiction, fournissez à Vertex AI les informations dont il a besoin pour diffuser les prédictions :

    1. Sélectionnez Conteneur prédéfini.

    2. Dans la section Paramètres de conteneur prédéfini, procédez comme suit :

      1. Dans la liste déroulante Framework du modèle, sélectionnez TensorFlow.

      2. Dans la liste déroulante Version de framework du modèle, sélectionnez 2.3.

      3. Dans la liste déroulante Type d'accélérateur, sélectionnez Aucun.

      4. Vérifiez que le champ Répertoire du modèle a la valeur gs://BUCKET_NAME/output, où BUCKET_NAME est le nom de votre bucket Cloud Storage. Cela correspond à la valeur Répertoire de sortie du modèle que vous avez spécifiée précédemment.

    3. Laissez les champs de la section Prédire le schéma vides.

  9. Cliquez sur Démarrer l'entraînement pour démarrer le pipeline d'entraînement personnalisé.

Vous pouvez maintenant afficher votre nouveau pipeline d'entraînement nommé hello_custom sur la page Entraînement. (Vous devrez peut-être actualiser la page.) Le pipeline d'entraînement remplit deux fonctions principales :

  1. Le pipeline d'entraînement crée une ressource de tâche personnalisée nommée hello_custom-custom-job. Après quelques instants, vous pouvez afficher cette ressource sur la page Tâches personnalisées de la section Entraînement :

    Accéder à la page Tâches personnalisées

    La tâche personnalisée exécute l'application d'entraînement à l'aide des ressources de calcul que vous avez spécifiées dans cette section.

  2. Une fois la tâche personnalisée terminée, le pipeline d'entraînement recherche les artefacts créés par votre application d'entraînement dans le répertoire output/model/ de votre bucket Cloud Storage. Il utilise ces artefacts pour créer une ressource de modèle.

Surveiller l'entraînement

Pour afficher les journaux d'entraînement, procédez comme suit :

  1. Dans la console Google Cloud, dans la section Vertex AI, accédez à la page Tâches personnalisées.

    Accéder à la page Tâches personnalisées

  2. Pour afficher les détails de la tâche CustomJob que vous venez de créer, cliquez sur hello_custom-custom-job dans la liste.

  3. Sur la page des détails de la tâche, cliquez sur Afficher les journaux.

Afficher le modèle entraîné

Une fois le pipeline d'entraînement personnalisé terminé, vous pouvez rechercher le modèle entraîné dans la console Google Cloud, dans la section Vertex AI de la page Modèles.

Accéder à la page Modèles

Le modèle porte le nom hello_custom.

Étape suivante

Suivez la page suivante de ce tutoriel pour diffuser des prédictions à partir de votre modèle de ML entraîné.