Aide à protéger la Grande barrière de corail avec tensorflow sur Kaggle Rejoignez Défi

TFX sur les pipelines Cloud AI Platform

introduction

Ce tutoriel est conçu pour présenter TensorFlow Extended (TFX) et les pipelines Cloud AI Platform, et vous aider à apprendre à créer vos propres pipelines de machine learning sur Google Cloud. Il montre l'intégration avec TFX, AI Platform Pipelines et Kubeflow, ainsi que l'interaction avec TFX dans les notebooks Jupyter.

À la fin de ce didacticiel, vous aurez créé et exécuté un pipeline de ML, hébergé sur Google Cloud. Vous pourrez visualiser les résultats de chaque exécution et visualiser la lignée des artefacts créés.

Vous suivrez un processus de développement ML typique, en commençant par examiner l'ensemble de données et en terminant par un pipeline de travail complet. En cours de route, vous explorerez des moyens de déboguer et de mettre à jour votre pipeline et de mesurer les performances.

Jeu de données sur les taxis de Chicago

TaxiTaxi de Chicago

Vous utilisez le taxi Trips ensemble de données publié par la ville de Chicago.

Vous pouvez en savoir plus sur l'ensemble de données dans Google BigQuery . Explorez l'ensemble des données dans l' interface utilisateur BigQuery .

Objectif du modèle - Classification binaire

Le client donnera-t-il un pourboire supérieur ou inférieur à 20 % ?

1. Configurer un projet Google Cloud

1.a Configurez votre environnement sur Google Cloud

Pour commencer, vous avez besoin d'un compte Google Cloud. Si vous avez déjà un, passez à Créer un nouveau projet .

  1. Aller à la Google Cloud Console .

  2. Accepter les conditions d'utilisation de Google Cloud

  3. Si vous voulez commencer par un compte d'essai gratuit, cliquez sur Essayer gratuitement (ou Commencez gratuitement ).

    1. Sélectionnez votre pays.

    2. Acceptez les conditions d'utilisation.

    3. Saisissez les détails de facturation.

      Vous ne serez pas facturé à ce stade. Si vous avez pas d' autres projets Google Cloud, vous pouvez compléter ce tutoriel sans dépasser les Tier Free Cloud Google limites, qui comprend un maximum de 8 cœurs fonctionnant en même temps.

1.b Créez un nouveau projet.

  1. A partir du tableau de bord principal Google Cloud , cliquez sur le menu déroulant du projet à côté de l' en- tête Google Cloud Platform et sélectionnez Nouveau projet.
  2. Donnez un nom à votre projet et entrez d'autres détails du projet
  3. Une fois que vous avez créé un projet, sélectionnez-le dans la liste déroulante du projet.

2. Configurer et déployer un pipeline AI Platform sur un nouveau cluster Kubernetes

  1. Accédez au Clusters Pipelines plate - forme AI page.

    Dans le menu de navigation principal : ≡ > AI Platform > Pipelines

  2. Cliquez sur + Nouveau instance pour créer un nouveau cluster.

  3. Sur la page d'aperçu Pipelines Kubeflow, cliquez sur Configurer.

    Vous devrez peut-être attendre plusieurs minutes avant de continuer, pendant que les API Kubernetes Engine sont activées pour vous.

  4. Sur la page Pipelines Déploiement Kubeflow:

    1. Sélectionnez une zone (ou « région ») pour votre cluster.
    2. IMPORTANT Cochez la case Autoriser l' accès aux API cloud suivantes. (Ceci est requis pour que ce cluster puisse accéder aux autres éléments de votre projet. Si vous manquez cette étape, la corriger plus tard est un peu difficile.)

    3. Cliquez sur Créer et attendre plusieurs minutes jusqu'à ce que le cluster a été créé.

    4. Sélectionnez un espace de noms et un nom d'instance (l'utilisation des valeurs par défaut convient). Vous ne devez pas cocher la case Utiliser le stockage géré.

    5. Cliquez sur Déployer et attendez quelques instants jusqu'à ce que le pipeline a été déployé. En déployant Kubeflow Pipelines, vous acceptez les conditions d'utilisation.

3. Configurez l'instance Cloud AI Platform Notebook.

  1. Aller à la Notebooks plate - forme AI page.

    Dans le menu de navigation principal : ≡ -> AI Platform -> Notebooks

  2. Si vous y êtes invité, activez l'API Compute Engine.

  3. Créer une nouvelle instance avec tensorflow 2.1 (ou supérieur) installé.

    Nouvelle instance -> TensorFlow 2.1 -> Sans GPU

    Pour rester dans les limites de l'offre gratuite, n'acceptez pas les paramètres par défaut ici. Vous devez réduire le nombre de processeurs virtuels disponibles pour cette instance de 4 à 2 :

    1. Sélectionnez Personnaliser au bas du formulaire Nouvelle instance de bloc - notes.
    2. Sélectionnez une configuration de la machine avec 1 ou 2 vCPU.

4. Lancez le bloc-notes de démarrage

  1. Accédez au Clusters Pipelines plate - forme AI page.

    Dans le menu de navigation principal : ≡ -> AI Platform -> Pipelines

  2. Sur la ligne du cluster que vous utilisez dans ce tutoriel, cliquez sur Ouvrir Dashboard Pipelines.

    tableau de bord ouvert

  3. Sur la page Mise en route, cliquez sur Ouvrir TF 2.1 pour ordinateur portable.

  4. Sélectionnez l'instance de portable que vous utilisez pour ce tutoriel et continuer.

    select-notebook

5. Continuez à travailler dans le bloc-notes

Installer

Mise en route démarre pour ordinateur portable en installant TFX et Kubeflow Pipelines (KFP) dans la machine virtuelle qui Jupyter Lab est en cours d' exécution dans.

Il vérifie ensuite quelle version de TFX est installée, effectue une importation, définit et imprime l'ID du projet :

vérifier la version python et importer

Connectez-vous avec vos services Google Cloud

La configuration du pipeline a besoin de votre ID de projet, que vous pouvez obtenir via le bloc-notes et définir comme variable d'environnement.

# Read GCP project id from env.
shell_output=!gcloud config list --format 'value(core.project)' 2>/dev/null
GCP_PROJECT_ID=shell_output[0]
print("GCP project ID:" + GCP_PROJECT_ID)

Définissez maintenant votre point de terminaison de cluster KFP.

Cela peut être trouvé à partir de l'URL du tableau de bord Pipelines. Accédez au tableau de bord Kubeflow Pipeline et regardez l'URL. Le critère d' évaluation est tout dans l'URL commençant par le https:// , jusqu'à et y compris, googleusercontent.com .

ENDPOINT='' # Enter YOUR ENDPOINT here.

Le notebook définit ensuite un nom unique pour l'image Docker personnalisée :

# Docker image name for the pipeline image
CUSTOM_TFX_IMAGE='gcr.io/' + GCP_PROJECT_ID + '/tfx-pipeline'

6. Copiez un modèle dans votre répertoire de projet

Modifiez la cellule de bloc-notes suivante pour définir un nom pour votre pipeline. Dans ce tutoriel , nous utiliserons my_pipeline .

PIPELINE_NAME="my_pipeline"
PROJECT_DIR=os.path.join(os.path.expanduser("~"),"imported",PIPELINE_NAME)

Le bloc - notes utilise ensuite le tfx CLI pour copier le modèle de pipeline. Ce tutoriel utilise le jeu de données Taxi Chicago pour effectuer la classification binaire, de sorte que le modèle définit le modèle de taxi :

!tfx template copy \
  --pipeline-name={PIPELINE_NAME} \
  --destination-path={PROJECT_DIR} \
  --model=taxi

Le notebook change alors son contexte CWD dans le répertoire du projet :

%cd {PROJECT_DIR}

Parcourir les fichiers du pipeline

Sur le côté gauche du bloc-notes Cloud AI Platform, vous devriez voir un navigateur de fichiers. Il devrait y avoir un répertoire avec le nom de pipeline ( my_pipeline ). Ouvrez-le et affichez les fichiers. (Vous pourrez également les ouvrir et les modifier à partir de l'environnement du bloc-notes.)

# You can also list the files from the shell
 ls

La tfx template copy commande ci - dessus a créé un échafaudage de base des fichiers qui construisent un pipeline. Il s'agit notamment des codes source Python, des exemples de données et des blocs-notes Jupyter. Ceux-ci sont destinés à cet exemple particulier. Pour vos propres pipelines, il s'agirait des fichiers de support dont votre pipeline a besoin.

Voici une brève description des fichiers Python.

  • pipeline - Ce répertoire contient la définition de la canalisation
    • configs.py - définit des constantes communes pour les coureurs de pipeline
    • pipeline.py - définit des composants de TFX et un pipeline
  • models - Ce répertoire contient les définitions de modèle ML.
    • features.py features_test.py - définit caractéristiques pour le modèle
    • preprocessing.py / preprocessing_test.py - définit prétraitements emplois en utilisant tf::Transform
    • estimator - Ce répertoire contient un modèle basé estimateur.
      • constants.py - définit les constantes du modèle
      • model.py / model_test.py - définit des modèles DNN en utilisant l' estimateur de TF
    • keras - Ce répertoire contient un modèle basé Keras.
      • constants.py - définit les constantes du modèle
      • model.py / model_test.py - définit des modèles DNN utilisant Keras
  • beam_runner.py / kubeflow_runner.py - définissent les coureurs pour chaque moteur d'orchestration

7. Exécutez votre premier pipeline TFX sur Kubeflow

Le bloc - notes exécutera le pipeline à l' aide de la tfx run commande CLI.

Se connecter au stockage

Pose de canalisations créent des artefacts qui doivent être stockés dans ML-métadonnées . Les artefacts font référence aux charges utiles, qui sont des fichiers qui doivent être stockés dans un système de fichiers ou un stockage par blocs. Pour ce didacticiel, nous utiliserons GCS pour stocker nos charges utiles de métadonnées, en utilisant le bucket qui a été créé automatiquement lors de la configuration. Son nom sera <your-project-id>-kubeflowpipelines-default .

Créer le pipeline

Le notebook téléchargera nos exemples de données dans le bucket GCS afin que nous puissions les utiliser ultérieurement dans notre pipeline.

gsutil cp data/data.csv gs://{GOOGLE_CLOUD_PROJECT}-kubeflowpipelines-default/tfx-template/data/taxi/data.csv

Le bloc - notes utilise ensuite le tfx pipeline create commande pour créer le pipeline.

!tfx pipeline create  \
--pipeline-path=kubeflow_runner.py \
--endpoint={ENDPOINT} \
--build-image

Lors de la création d' un pipeline, Dockerfile sera généré pour construire une image Docker. N'oubliez pas d'ajouter ces fichiers à votre système de contrôle de source (par exemple, git) avec d'autres fichiers source.

Exécuter le pipeline

Le bloc - notes utilise alors la tfx run create commande pour démarrer une course d'exécution de votre pipeline. Vous verrez également cette exécution répertoriée sous Experiments dans le tableau de bord Kubeflow Pipelines.

tfx run create --pipeline-name={PIPELINE_NAME} --endpoint={ENDPOINT}

Vous pouvez afficher votre pipeline à partir du tableau de bord des pipelines Kubeflow.

8. Validez vos données

La première tâche de tout projet de science des données ou de ML est de comprendre et de nettoyer les données.

  • Comprendre les types de données pour chaque fonctionnalité
  • Rechercher les anomalies et les valeurs manquantes
  • Comprendre les distributions pour chaque fonctionnalité

Composants

Composants de donnéesComposants de données

  • ExampleGen ingère et divise l'ensemble de données d'entrée.
  • StatisticsGen calcule les statistiques pour l'ensemble de données.
  • SchemaGen SchemaGen examine les statistiques et crée un schéma de données.
  • ExampleValidator recherche des anomalies et des valeurs manquantes dans l'ensemble de données.

Dans l'éditeur de fichiers Jupyter lab :

Dans pipeline / pipeline.py , décommenter les lignes qui append ces composants à votre pipeline:

# components.append(statistics_gen)
# components.append(schema_gen)
# components.append(example_validator)

( ExampleGen était déjà activé lorsque les fichiers de modèle ont été copiés.)

Mettre à jour le pipeline et le réexécuter

# Update the pipeline
! tfx pipeline update \
  --pipeline-path=kubeflow_runner.py \
  --endpoint={ENDPOINT}

! tfx run create --pipeline-name "{PIPELINE_NAME}"

Vérifier la canalisation

Pour Kubeflow Orchestrator, visitez le tableau de bord KFP et recherchez les sorties de pipeline sur la page de votre exécution de pipeline. Cliquez sur l'onglet « Expériences » sur la gauche et sur « Toutes les exécutions » dans la page Expériences. Vous devriez pouvoir trouver l'exécution avec le nom de votre pipeline.

Exemple plus avancé

L'exemple présenté ici est uniquement destiné à vous aider à démarrer. Pour un exemple plus avancée voir la validation des données tensorflow Colab .

Pour plus d' informations sur l' utilisation de TFDV pour explorer et valider un ensemble de données, voir les exemples sur tensorflow.org .

9. Ingénierie des fonctionnalités

Vous pouvez augmenter la qualité prédictive de vos données et/ou réduire la dimensionnalité grâce à l'ingénierie des caractéristiques.

  • Croix de caractéristique
  • Vocabulaires
  • Incrustations
  • APC
  • Encodage catégoriel

L'un des avantages de l'utilisation de TFX est que vous écrivez votre code de transformation une seule fois, et les transformations résultantes seront cohérentes entre l'entraînement et la diffusion.

Composants

Transformer

  • Transformer réalise l' ingénierie de fonction sur l'ensemble de données.

Dans l'éditeur de fichiers Jupyter lab :

Dans pipeline / pipeline.py , trouver et décommenter la ligne qui ajoute de transformation du pipeline.

# components.append(transform)

Mettre à jour le pipeline et le réexécuter

# Update the pipeline
! tfx pipeline update \
  --pipeline-path=kubeflow_runner.py \
  --endpoint={ENDPOINT}

! tfx run create --pipeline-name "{PIPELINE_NAME}"

Vérifier les sorties du pipeline

Pour Kubeflow Orchestrator, visitez le tableau de bord KFP et recherchez les sorties de pipeline sur la page de votre exécution de pipeline. Cliquez sur l'onglet « Expériences » sur la gauche et sur « Toutes les exécutions » dans la page Expériences. Vous devriez pouvoir trouver l'exécution avec le nom de votre pipeline.

Exemple plus avancé

L'exemple présenté ici est uniquement destiné à vous aider à démarrer. Pour un exemple plus avancé voir la tensorflow Transformer Colab .

10. Formation

Entraînez un modèle TensorFlow avec vos données agréables, propres et transformées.

  • Inclure les transformations de l'étape précédente afin qu'elles soient appliquées de manière cohérente
  • Enregistrez les résultats en tant que SavedModel pour la production
  • Visualisez et explorez le processus de formation à l'aide de TensorBoard
  • Enregistrez également un EvalSavedModel pour l'analyse des performances du modèle

Composants

Dans l'éditeur de fichiers Jupyter lab :

Dans pipeline / pipeline.py , trouver et décommentez le formateur qui ajoute à la conduite:

# components.append(trainer)

Mettre à jour le pipeline et le réexécuter

# Update the pipeline
! tfx pipeline update \
  --pipeline-path=kubeflow_runner.py \
  --endpoint={ENDPOINT}

! tfx run create --pipeline-name "{PIPELINE_NAME}"

Vérifier les sorties du pipeline

Pour Kubeflow Orchestrator, visitez le tableau de bord KFP et recherchez les sorties de pipeline sur la page de votre exécution de pipeline. Cliquez sur l'onglet « Expériences » sur la gauche et sur « Toutes les exécutions » dans la page Expériences. Vous devriez pouvoir trouver l'exécution avec le nom de votre pipeline.

Exemple plus avancé

L'exemple présenté ici est uniquement destiné à vous aider à démarrer. Pour un exemple plus avancée voir le TensorBoard Tutorial .

11. Analyse des performances du modèle

Comprendre plus que les métriques de haut niveau.

  • Les utilisateurs expérimentent les performances du modèle pour leurs requêtes uniquement
  • Les mauvaises performances sur des tranches de données peuvent être masquées par des métriques de niveau supérieur
  • L'équité du modèle est importante
  • Souvent, des sous-ensembles clés d'utilisateurs ou de données sont très importants et peuvent être petits
    • Performances dans des conditions critiques mais inhabituelles
    • Performance pour les publics clés tels que les influenceurs
  • Si vous remplacez un modèle actuellement en production, assurez-vous d'abord que le nouveau est meilleur

Composants

  • Évaluateur effectue l'analyse approfondie des résultats de la formation.

Dans l'éditeur de fichiers Jupyter lab :

Dans pipeline / pipeline.py , trouver et décommenter la ligne qui ajoute Evaluator à la canalisation:

components.append(evaluator)

Mettre à jour le pipeline et le réexécuter

# Update the pipeline
! tfx pipeline update \
  --pipeline-path=kubeflow_runner.py \
  --endpoint={ENDPOINT}

! tfx run create --pipeline-name "{PIPELINE_NAME}"

Vérifier les sorties du pipeline

Pour Kubeflow Orchestrator, visitez le tableau de bord KFP et recherchez les sorties de pipeline sur la page de votre exécution de pipeline. Cliquez sur l'onglet « Expériences » sur la gauche et sur « Toutes les exécutions » dans la page Expériences. Vous devriez pouvoir trouver l'exécution avec le nom de votre pipeline.

12. Servir le modèle

Si le nouveau modèle est prêt, faites-le.

  • Pusher déploie SavedModels dans des emplacements bien connus

Les cibles de déploiement reçoivent de nouveaux modèles d'emplacements bien connus

  • TensorFlow Servir
  • TensorFlow Lite
  • TensorFlow JS
  • TensorFlow Hub

Composants

  • Pusher déploie le modèle à une infrastructure de service.

Dans l'éditeur de fichiers Jupyter lab :

Dans pipeline / pipeline.py , trouver et décommenter la ligne à la Pusher ajoute pipeline:

# components.append(pusher)

Vérifier les sorties du pipeline

Pour Kubeflow Orchestrator, visitez le tableau de bord KFP et recherchez les sorties de pipeline sur la page de votre exécution de pipeline. Cliquez sur l'onglet « Expériences » sur la gauche et sur « Toutes les exécutions » dans la page Expériences. Vous devriez pouvoir trouver l'exécution avec le nom de votre pipeline.

Cibles de déploiement disponibles

Vous avez maintenant formé et validé votre modèle, et votre modèle est maintenant prêt pour la production. Vous pouvez désormais déployer votre modèle sur l'une des cibles de déploiement TensorFlow, notamment :

  • Tensorflow service , pour servir votre modèle sur une batterie de serveurs ou d'un serveur et le traitement REST et / ou demandes d'inférence GRPC.
  • Tensorflow Lite , pour inclure votre modèle dans une application mobile native Android ou iOS, ou dans un Raspberry Pi, IdO, ou l' application microcontrôleur.
  • TensorFlow.js , pour l' exécution de votre modèle dans un navigateur Web ou une application Node.JS.

Exemples plus avancés

L'exemple présenté ci-dessus est uniquement destiné à vous aider à démarrer. Vous trouverez ci-dessous quelques exemples d'intégration avec d'autres services Cloud.

Considérations relatives aux ressources de Kubeflow Pipelines

Selon les exigences de votre charge de travail, la configuration par défaut de votre déploiement Kubeflow Pipelines peut ou non répondre à vos besoins. Vous pouvez personnaliser vos configurations de ressources à l' aide pipeline_operator_funcs dans votre appel à KubeflowDagRunnerConfig .

pipeline_operator_funcs est une liste de OpFunc articles, qui transforme tous les générés ContainerOp cas dans les spécifications du pipeline KFP qui est compilée à partir KubeflowDagRunner .

Par exemple, pour configurer la mémoire que nous pouvons utiliser set_memory_request pour déclarer la quantité de mémoire nécessaire. Une façon typique de le faire est de créer une enveloppe pour set_memory_request et l' utiliser pour ajouter à la liste des pipelines OpFunc s:

def request_more_memory():
  def _set_memory_spec(container_op):
    container_op.set_memory_request('32G')
  return _set_memory_spec

# Then use this opfunc in KubeflowDagRunner
pipeline_op_funcs = kubeflow_dag_runner.get_default_pipeline_operator_funcs()
pipeline_op_funcs.append(request_more_memory())
config = KubeflowDagRunnerConfig(
    pipeline_operator_funcs=pipeline_op_funcs,
    ...
)
kubeflow_dag_runner.KubeflowDagRunner(config=config).run(pipeline)

Des fonctions de configuration de ressources similaires incluent :

  • set_memory_limit
  • set_cpu_request
  • set_cpu_limit
  • set_gpu_limit

Essayez BigQueryExampleGen

BigQuery est un serveur, hautement évolutive et l' entrepôt de données de cloud rentable. BigQuery peut être utilisé comme source d'exemples d'entraînement dans TFX. Dans cette étape, nous allons ajouter BigQueryExampleGen au pipeline.

Dans l'éditeur de fichiers Jupyter lab :

Double-cliquez pour ouvrir pipeline.py . Commentez CsvExampleGen et décommenter la ligne qui crée une instance de BigQueryExampleGen . Vous devez également décommenter la query argument de la create_pipeline fonction.

Nous devons préciser que le projet GCP à utiliser pour BigQuery, et cela se fait par la mise en --project dans beam_pipeline_args lors de la création d' un pipeline.

Double-cliquez pour ouvrir configs.py . La définition de Uncomment BIG_QUERY_WITH_DIRECT_RUNNER_BEAM_PIPELINE_ARGS et BIG_QUERY_QUERY . Vous devez remplacer l'ID du projet et la valeur de la région dans ce fichier par les valeurs correctes pour votre projet GCP.

Changez de répertoire au niveau supérieur. Cliquez sur le nom du répertoire au-dessus de la liste des fichiers. Le nom du répertoire est le nom du pipe - line qui est my_pipeline si vous n'avez pas changé le nom du pipeline.

Double-cliquez pour ouvrir kubeflow_runner.py . Décommentez deux arguments, query et beam_pipeline_args , pour la create_pipeline fonction.

Le pipeline est maintenant prêt à utiliser BigQuery comme exemple de source. Mettez à jour le pipeline comme auparavant et créez une nouvelle exécution comme nous l'avons fait aux étapes 5 et 6.

Mettre à jour le pipeline et le réexécuter

# Update the pipeline
!tfx pipeline update \
  --pipeline-path=kubeflow_runner.py \
  --endpoint={ENDPOINT}

!tfx run create --pipeline-name {PIPELINE_NAME} --endpoint={ENDPOINT}

Essayez Dataflow

Plusieurs composants TFX utilisent Apache faisceau pour mettre en œuvre des pipelines de données parallèles, et cela signifie que vous pouvez distribuer les charges de travail de traitement des données en utilisant Google Cloud Dataflow . Dans cette étape, nous allons configurer l'orchestrateur Kubeflow pour qu'il utilise Dataflow comme back-end de traitement des données pour Apache Beam.

# Select your project:
gcloud config set project YOUR_PROJECT_ID

# Get a list of services that you can enable in your project:
gcloud services list --available | grep Dataflow

# If you don't see dataflow.googleapis.com listed, that means you haven't been
# granted access to enable the Dataflow API.  See your account adminstrator.

# Enable the Dataflow service:

gcloud services enable dataflow.googleapis.com

Double-cliquez sur pipeline dans le répertoire de changement, et double-cliquez pour ouvrir configs.py . Décommentez la définition de GOOGLE_CLOUD_REGION et DATAFLOW_BEAM_PIPELINE_ARGS .

Changez de répertoire au niveau supérieur. Cliquez sur le nom du répertoire au-dessus de la liste des fichiers. Le nom du répertoire est le nom du pipe - line qui est my_pipeline si vous n'avez pas changé.

Double-cliquez pour ouvrir kubeflow_runner.py . Décommentez beam_pipeline_args . (Assurez - vous également de commenter en cours beam_pipeline_args que vous avez ajouté à l' étape 7.)

Mettre à jour le pipeline et le réexécuter

# Update the pipeline
!tfx pipeline update \
  --pipeline-path=kubeflow_runner.py \
  --endpoint={ENDPOINT}

!tfx run create --pipeline-name {PIPELINE_NAME} --endpoint={ENDPOINT}

Vous pouvez trouver votre emploi dans Dataflow Dataflow dans la Console Cloud .

Essayez Cloud AI Platform Training and Prediction avec KFP

TFX avec plusieurs services Interopérabilité GCP gérés, tels que Nuage AI Plate - forme pour la formation et la prévision . Vous pouvez configurer votre Trainer composant à utiliser la plate - forme de formation AI - Cloud, un service géré pour la formation de modèles ML. De plus, lorsque votre modèle est construit et prêt à être servi, vous pouvez pousser votre modèle de prévision AI - Cloud Platform pour le service. Dans cette étape, nous allons mettre notre Trainer et Pusher composant à utiliser les services cloud AI Platform.

Avant l' édition de fichiers, vous pouvez d' abord activer AI plate - forme de formation et API de prédiction.

Double-cliquez sur pipeline dans le répertoire de changement, et double-cliquez pour ouvrir configs.py . Décommentez la définition de GOOGLE_CLOUD_REGION , GCP_AI_PLATFORM_TRAINING_ARGS et GCP_AI_PLATFORM_SERVING_ARGS . Nous utiliserons notre image conteneur construit sur mesure pour former un modèle en nuage AI Plate - forme de formation, nous devons donc mettre masterConfig.imageUri en GCP_AI_PLATFORM_TRAINING_ARGS à la même valeur que CUSTOM_TFX_IMAGE ci - dessus.

Modifier le répertoire d' un niveau, et double-cliquez pour ouvrir kubeflow_runner.py . Décommentez ai_platform_training_args et ai_platform_serving_args .

Mettre à jour le pipeline et le réexécuter

# Update the pipeline
!tfx pipeline update \
  --pipeline-path=kubeflow_runner.py \
  --endpoint={ENDPOINT}

!tfx run create --pipeline-name {PIPELINE_NAME} --endpoint={ENDPOINT}

Vous pouvez trouver votre emploi de formation en cloud AI Plate - forme d' emploi . Si votre pipeline terminé avec succès, vous pouvez trouver votre modèle dans les modèles Nuage AI Plate - forme .

14. Utilisez vos propres données

Dans ce didacticiel, vous avez créé un pipeline pour un modèle à l'aide du jeu de données Chicago Taxi. Essayez maintenant de mettre vos propres données dans le pipeline. Vos données peuvent être stockées partout où le pipeline peut y accéder, y compris les fichiers Google Cloud Storage, BigQuery ou CSV.

Vous devez modifier la définition du pipeline pour accueillir vos données.

Si vos données sont stockées dans des fichiers

  1. Modifier DATA_PATH dans kubeflow_runner.py , indiquant l'emplacement.

Si vos données sont stockées dans BigQuery

  1. Modifier BIG_QUERY_QUERY dans configs.py à votre déclaration de requête.
  2. Ajouter des fonctionnalités dans les models / features.py .
  3. Modifier les models / preprocessing.py pour transformer les données d'entrée pour la formation .
  4. Modifier les models / keras / model.py et models / keras / constants.py pour décrire votre modèle ML .

En savoir plus sur Formateur

Voir Guide élément formateur pour plus de détails sur les pipelines de formation.

Nettoyer

Pour nettoyer toutes les ressources Google Cloud utilisés dans ce projet, vous pouvez supprimer le projet Google Cloud vous avez utilisé pour le tutoriel.

Vous pouvez nettoyer les ressources individuelles en visitant chaque console: - Google Cloud Storage - conteneur Google registre - Google Kubernetes moteur