Se usó la API de Cloud Translation para traducir esta página.
Switch to English

TFX en canalizaciones de Cloud AI Platform

Introducción

Este instructivo está diseñado para presentar TensorFlow Extended (TFX) y Cloud AI Platform Pipelines, y lo ayudará a aprender a crear sus propias canalizaciones de aprendizaje automático en Google Cloud. Muestra la integración con TFX, AI Platform Pipelines y Kubeflow, así como la interacción con TFX en los portátiles Jupyter.

Al final de este tutorial, habrá creado y ejecutado un ML Pipeline, alojado en Google Cloud. Podrá visualizar los resultados de cada ejecución y ver el linaje de los artefactos creados.

Seguirá un proceso de desarrollo de AA típico, comenzando por examinar el conjunto de datos y terminando con un proceso de trabajo completo. En el camino, explorará formas de depurar y actualizar su canalización y medir el rendimiento.

Conjunto de datos de taxis de Chicago

TaxiTaxi de Chicago

Está utilizando el conjunto de datos de Taxi Trips publicado por la ciudad de Chicago.

Puede leer más sobre el conjunto de datos en Google BigQuery . Explore el conjunto de datos completo en la IU de BigQuery .

Objetivo del modelo: clasificación binaria

¿Dará el cliente una propina mayor o menor al 20%?

1. Configura un proyecto de Google Cloud

1.a Configure su entorno en Google Cloud

Para comenzar, necesita una cuenta de Google Cloud. Si ya tiene uno, continúe con Crear nuevo proyecto .

  1. Vaya a Google Cloud Console .

  2. Acepta los términos y condiciones de Google Cloud

  3. Si desea comenzar con una cuenta de prueba gratuita, haga clic en Probar gratis (o Comenzar gratis ).

    1. Selecciona tu pais.

    2. Acepta los términos de servicio.

    3. Ingrese los detalles de facturación.

      No se le cobrará en este momento. Si no tiene otros proyectos de Google Cloud, puede completar este tutorial sin exceder los límites de la capa gratuita de Google Cloud , que incluye un máximo de 8 núcleos en ejecución al mismo tiempo.

1.b Cree un nuevo proyecto.

  1. Desde el panel principal de Google Cloud , haga clic en el menú desplegable del proyecto junto al encabezado de Google Cloud Platform y seleccione Nuevo proyecto .
  2. Dale un nombre a tu proyecto e ingresa otros detalles del proyecto
  3. Una vez que haya creado un proyecto, selecciónelo en el menú desplegable del proyecto.

2. Configurar e implementar una canalización de AI Platform en un nuevo clúster de Kubernetes

  1. Ve a la página Clústeres de canalizaciones de AI Platform .

    En el menú de navegación principal: ≡> AI Platform> Pipelines

  2. Haga clic en + Nueva instancia para crear un nuevo clúster.

  3. En la página de descripción general de Kubeflow Pipelines , haga clic en Configurar .

    Es posible que tenga que esperar varios minutos antes de continuar, mientras se habilitan las API de Kubernetes Engine.

  4. En la página Implementar canalizaciones de Kubeflow :

    1. Seleccione una zona (o "región") para su clúster.

    2. IMPORTANTE Marque la casilla denominada Permitir el acceso a las siguientes API en la nube . (Esto es necesario para que este clúster acceda a las otras partes de su proyecto. Si omite este paso, solucionarlo más tarde es un poco complicado).

    3. Haga clic en Crear y espere varios minutos hasta que se haya creado el clúster.

    4. Seleccione un espacio de nombres y un nombre de instancia (usar los valores predeterminados está bien). No es necesario que marque Usar almacenamiento administrado .

    5. Haga clic en Implementar y espere unos momentos hasta que se haya implementado la canalización. Al implementar Kubeflow Pipelines, acepta los Términos de servicio.

3. Configure la instancia de Cloud AI Platform Notebook.

  1. Ve a la página de Notebooks de AI Platform .

    En el menú de navegación principal: ≡ -> AI Platform -> Notebooks

  2. Si se le solicita, habilite la API de Compute Engine.

  3. Cree una nueva instancia con TensorFlow 2.1 (o superior) instalado.

    Nueva instancia -> TensorFlow 2.1 -> Sin GPU

    Para permanecer dentro de los límites de la capa gratuita, no acepte la configuración predeterminada aquí. Debe reducir la cantidad de CPU virtuales disponibles para esta instancia de 4 a 2:

    1. Seleccione Personalizar en la parte inferior del formulario Nueva instancia de cuaderno .
    2. Seleccione una configuración de máquina con 1 o 2 vCPU.

4. Inicie el cuaderno de introducción.

  1. Ve a la página Clústeres de canalizaciones de AI Platform .

    En el menú de navegación principal: ≡ -> AI Platform -> Pipelines

  2. En la línea del clúster que está utilizando en este tutorial, haga clic en Abrir panel de canalizaciones .

    tablero abierto

  3. En la página de Introducción , haga clic en Abrir portátil TF 2.1 .

  4. Seleccione la instancia de Notebook que está usando para este tutorial y continúe .

    seleccionar-cuaderno

5. Continúe trabajando en el cuaderno

Instalar en pc

Getting Started Notebook comienza instalando TFX y Kubeflow Pipelines (KFP) en la VM en la que se ejecuta Jupyter Lab, junto con el módulo Skaffold :

Instalar tf y kfp

Luego establece la PATH para incluir el directorio binario Python del usuario y un directorio que contiene skaffold :

establecer camino

Luego verifica qué versión de TFX está instalada, realiza una importación y establece e imprime el ID del proyecto:

comprobar la versión de python e importar

Conéctese con sus servicios de Google Cloud

La configuración de la canalización necesita su ID de proyecto, que puede obtener a través del cuaderno y establecer como una variable de entorno.

# 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)

Ahora configure su punto final de clúster de KFP.

Esto se puede encontrar en la URL del panel de Pipelines. Vaya al panel de Kubeflow Pipeline y observe la URL. El punto final es todo en la URL después de https:// , hasta googleusercontent.com .

ENDPOINT='' # Enter YOUR ENDPOINT here.

Luego, el cuaderno establece un nombre único para la imagen personalizada de Docker:

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

6. Copie una plantilla en el directorio de su proyecto

Edite la siguiente celda del cuaderno para establecer un nombre para su canalización. En este tutorial usaremos my_pipeline .

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

Luego, el cuaderno usa la CLI tfx para copiar la plantilla de canalización. Este tutorial usa el conjunto de datos de Chicago Taxi para realizar una clasificación binaria, por lo que la plantilla establece el modelo en taxi :

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

Luego, el cuaderno cambia su contexto CWD al directorio del proyecto:

%cd {PROJECT_DIR}

Examinar los archivos de la canalización

En el lado izquierdo de Cloud AI Platform Notebook, debería ver un explorador de archivos. Debe haber un directorio con el nombre de su canalización ( my_pipeline ). Ábrelo y mira los archivos. (También podrá abrirlos y editar desde el entorno del cuaderno).

# You can also list the files from the shell
 ls

El comando de tfx template copy anterior creó un andamio básico de archivos que construyen una canalización. Estos incluyen códigos fuente de Python, datos de muestra y cuadernos de Jupyter. Estos están destinados a este ejemplo en particular. Para sus propias canalizaciones, estos serían los archivos de apoyo que requiere su canalización.

Aquí hay una breve descripción de los archivos de Python.

  • pipeline : este directorio contiene la definición de canalización
    • configs.py : define constantes comunes para los corredores de canalización
    • pipeline.py : define los componentes TFX y una tubería
  • models : este directorio contiene definiciones de modelos de AA.
    • features.py features_test.py : define características para el modelo
    • preprocessing.py / preprocessing_test.py - define trabajos de preprocesamiento usando tf::Transform
    • estimator : este directorio contiene un modelo basado en estimador.
      • constants.py : define las constantes del modelo
      • model.py / model_test.py : define el modelo DNN mediante el estimador TF
    • keras : este directorio contiene un modelo basado en Keras.
      • constants.py : define las constantes del modelo
      • model.py / model_test.py - define el modelo DNN usando Keras
  • beam_dag_runner.py / kubeflow_dag_runner.py : define los corredores para cada motor de orquestación

7. Ejecute su primera canalización TFX en Kubeflow

El portátil ejecutará la canalización mediante el tfx run CLI.

Conectarse al almacenamiento

Las canalizaciones en ejecución crean artefactos que deben almacenarse en ML-Metadata . Los artefactos se refieren a cargas útiles, que son archivos que deben almacenarse en un sistema de archivos o almacenamiento en bloque. Para este tutorial, usaremos GCS para almacenar nuestras cargas útiles de metadatos, usando el depósito que se creó automáticamente durante la configuración. El cuaderno obtiene los nombres de los depósitos actuales:

Obtenga una lista de nombres de depósitos:

gsutil ls | cut -d / -f 3

Copie el nombre del depósito que está utilizando en el portapapeles.

Crea la canalización

Luego, el cuaderno usa el tfx pipeline create para crear la tubería.

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

Al crear una canalización, se Dockerfile y build.yaml para crear una imagen de Docker. No olvide agregar estos archivos a su sistema de control de fuentes (por ejemplo, git) junto con otros archivos fuente.

Ejecutar la tubería

Luego, el cuaderno usa el tfx run create para iniciar una ejecución de su canalización. También verá esta ejecución en la lista Experimentos en el panel de canalizaciones de Kubeflow.

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

Puede ver su canalización desde el panel de canalizaciones de Kubeflow.

8. Valide sus datos

La primera tarea en cualquier proyecto de ciencia de datos o ML es comprender y limpiar los datos.

  • Comprender los tipos de datos de cada característica.
  • Busque anomalías y valores perdidos
  • Comprender las distribuciones de cada característica.

Componentes

Componentes de datosComponentes de datos

  • ExampleGen ingiere y divide el conjunto de datos de entrada.
  • StatisticsGen calcula estadísticas para el conjunto de datos.
  • SchemaGen SchemaGen examina las estadísticas y crea un esquema de datos.
  • ExampleValidator busca anomalías y valores faltantes en el conjunto de datos.

En el editor de archivos de laboratorio de Jupyter:

En pipeline / pipeline.py , descomente las líneas que añaden estos componentes a su canalización:

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

( ExampleGen ya estaba habilitado cuando se copiaron los archivos de plantilla).

Actualice la canalización y vuelva a ejecutarla

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

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

Revisa la tubería

Para Kubeflow Orchestrator, visite el panel de KFP y busque los resultados de la canalización en la página correspondiente a la ejecución de su canalización. Haga clic en la pestaña "Experimentos" a la izquierda y "Todas las ejecuciones" en la página Experimentos. Debería poder encontrar la ejecución con el nombre de su canalización.

Ejemplo más avanzado

En realidad, el ejemplo que se presenta aquí solo tiene la intención de comenzar. Para obtener un ejemplo más avanzado, consulte el Colab de validación de datos de TensorFlow .

Para obtener más información sobre el uso de TFDV para explorar y validar un conjunto de datos, consulte los ejemplos en tensorflow.org .

9. Ingeniería de funciones

Puede aumentar la calidad predictiva de sus datos y / o reducir la dimensionalidad con la ingeniería de funciones.

  • Cruces de características
  • Vocabularios
  • Embeddings
  • PCA
  • Codificación categórica

Uno de los beneficios de usar TFX es que escribirá su código de transformación una vez, y las transformaciones resultantes serán consistentes entre el entrenamiento y el servicio.

Componentes

Transformar

  • Transform realiza la ingeniería de características en el conjunto de datos.

En el editor de archivos de laboratorio de Jupyter:

En pipeline / pipeline.py , busque y elimine el comentario de la línea que agrega Transform a la tubería.

# components.append(transform)

Actualice la canalización y vuelva a ejecutarla

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

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

Verificar salidas de canalización

Para Kubeflow Orchestrator, visite el panel de KFP y busque los resultados de la canalización en la página correspondiente a la ejecución de su canalización. Haga clic en la pestaña "Experimentos" a la izquierda y "Todas las ejecuciones" en la página Experimentos. Debería poder encontrar la ejecución con el nombre de su canalización.

Ejemplo más avanzado

En realidad, el ejemplo que se presenta aquí solo tiene la intención de comenzar. Para obtener un ejemplo más avanzado, consulte TensorFlow Transform Colab .

10. Capacitación

Entrena un modelo de TensorFlow con tus datos agradables, limpios y transformados.

  • Incluya las transformaciones del paso anterior para que se apliquen de forma coherente
  • Guarde los resultados como un modelo guardado para producción
  • Visualice y explore el proceso de entrenamiento con TensorBoard
  • También guarde un EvalSavedModel para analizar el rendimiento del modelo

Componentes

En el editor de archivos de laboratorio de Jupyter:

En pipeline / pipeline.py , busque y descomente lo que agrega Trainer al pipeline:

# components.append(trainer)

Actualice la canalización y vuelva a ejecutarla

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

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

Verificar salidas de canalización

Para Kubeflow Orchestrator, visite el panel de KFP y busque los resultados de la canalización en la página correspondiente a la ejecución de su canalización. Haga clic en la pestaña "Experimentos" a la izquierda y "Todas las ejecuciones" en la página Experimentos. Debería poder encontrar la ejecución con el nombre de su canalización.

Ejemplo más avanzado

En realidad, el ejemplo que se presenta aquí solo tiene la intención de comenzar. Para obtener un ejemplo más avanzado, consulte el tutorial de TensorBoard .

11. Análisis del rendimiento del modelo

Comprender más que solo las métricas de nivel superior.

  • Los usuarios experimentan el rendimiento del modelo solo para sus consultas
  • Las métricas de nivel superior pueden ocultar un rendimiento deficiente en segmentos de datos
  • La equidad del modelo es importante
  • A menudo, los subconjuntos clave de usuarios o datos son muy importantes y pueden ser pequeños
    • Rendimiento en condiciones críticas pero inusuales
    • Rendimiento para audiencias clave como influencers
  • Si está reemplazando un modelo que está actualmente en producción, primero asegúrese de que el nuevo sea mejor

Componentes

  • El evaluador realiza un análisis profundo de los resultados del entrenamiento.

En el editor de archivos de laboratorio de Jupyter:

En pipeline / pipeline.py , busque y descomente la línea que agrega Evaluator a la tubería:

components.append(evaluator)

Actualice la canalización y vuelva a ejecutarla

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

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

Verificar salidas de canalización

Para Kubeflow Orchestrator, visite el panel de KFP y busque los resultados de la canalización en la página para la ejecución de su canalización. Haga clic en la pestaña "Experimentos" a la izquierda y "Todas las ejecuciones" en la página Experimentos. Debería poder encontrar la ejecución con el nombre de su canalización.

12. Sirviendo el modelo

Si el nuevo modelo está listo, hazlo.

  • Pusher implementa SavedModels en ubicaciones conocidas

Los objetivos de implementación reciben nuevos modelos de ubicaciones conocidas

  • Publicación de TensorFlow
  • TensorFlow Lite
  • TensorFlow JS
  • TensorFlow Hub

Componentes

  • Pusher implementa el modelo en una infraestructura de servicio.

En el editor de archivos de laboratorio de Jupyter:

En pipeline / pipeline.py , busque y descomente la línea que agrega Pusher a la tubería:

# components.append(pusher)

Verificar salidas de canalización

Para Kubeflow Orchestrator, visite el panel de KFP y busque los resultados de la canalización en la página correspondiente a la ejecución de su canalización. Haga clic en la pestaña "Experimentos" a la izquierda y "Todas las ejecuciones" en la página Experimentos. Debería poder encontrar la ejecución con el nombre de su canalización.

Objetivos de implementación disponibles

Ahora ha entrenado y validado su modelo, y su modelo ahora está listo para la producción. Ahora puedes implementar tu modelo en cualquiera de los objetivos de implementación de TensorFlow, incluidos:

  • TensorFlow Serving , para entregar tu modelo en un servidor o granja de servidores y procesar solicitudes de inferencia REST o gRPC.
  • TensorFlow Lite , para incluir su modelo en una aplicación móvil nativa de Android o iOS, o en una aplicación Raspberry Pi, IoT o microcontrolador.
  • TensorFlow.js , para ejecutar su modelo en un navegador web o aplicación Node.JS.

Ejemplos más avanzados

El ejemplo presentado anteriormente en realidad solo tiene la intención de comenzar. A continuación, se muestran algunos ejemplos de integración con otros servicios en la nube.

Consideraciones sobre los recursos de Kubeflow Pipelines

Dependiendo de los requisitos de su carga de trabajo, la configuración predeterminada para su implementación de Kubeflow Pipelines puede o no satisfacer sus necesidades. Puede personalizar las configuraciones de sus recursos utilizando pipeline_operator_funcs en su llamada a KubeflowDagRunnerConfig .

pipeline_operator_funcs es una lista de elementos de OpFunc , que transforma todas las instancias de ContainerOp generadas en la especificación de canalización de KFP que se compila a partir de KubeflowDagRunner .

Por ejemplo, para configurar la memoria podemos usar set_memory_request para declarar la cantidad de memoria necesaria. Una forma típica de hacerlo es crear un contenedor para set_memory_request y usarlo para agregarlo a la lista de OpFunc de canalización:

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)

Las funciones de configuración de recursos similares incluyen:

  • set_memory_limit
  • set_cpu_request
  • set_cpu_limit
  • set_gpu_limit

Prueba BigQueryExampleGen

BigQuery es un almacén de datos en la nube rentable, altamente escalable y sin servidor. BigQuery se puede usar como fuente para ejemplos de entrenamiento en TFX. En este paso, agregaremos BigQueryExampleGen a la canalización.

En el editor de archivos de laboratorio de Jupyter:

Haga doble clic para abrir pipeline.py . Comente CsvExampleGen y descomente la línea que crea una instancia de BigQueryExampleGen . También necesita descomentar el argumento de query de la función create_pipeline .

Necesitamos especificar qué proyecto de GCP usar para BigQuery, y esto se hace configurando --project en beam_pipeline_args al crear una canalización.

Haga doble clic para abrir configs.py . Descomente la definición de BIG_QUERY_WITH_DIRECT_RUNNER_BEAM_PIPELINE_ARGS y BIG_QUERY_QUERY . Debes reemplazar el ID del proyecto y el valor de la región en este archivo con los valores correctos para tu proyecto de GCP.

Cambie el directorio un nivel más arriba. Haga clic en el nombre del directorio encima de la lista de archivos. El nombre del directorio es el nombre de la canalización, que es my_pipeline si no cambió el nombre de la canalización.

Haga doble clic para abrir kubeflow_dag_runner.py . Descomente dos argumentos, query y beam_pipeline_args , para la función create_pipeline .

Ahora la canalización está lista para usar BigQuery como fuente de ejemplo. Actualice la canalización como antes y cree una nueva ejecución como hicimos en los pasos 5 y 6.

Actualice la canalización y vuelva a ejecutarla

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

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

Prueba Dataflow

Varios componentes TFX usan Apache Beam para implementar canalizaciones en paralelo de datos, lo que significa que puede distribuir cargas de trabajo de procesamiento de datos mediante Google Cloud Dataflow . En este paso, configuraremos el orquestador de Kubeflow para usar Dataflow como el back-end de procesamiento de datos para 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

Haga doble clic en la pipeline para cambiar el directorio y haga doble clic para abrir configs.py . Descomente la definición de GOOGLE_CLOUD_REGION y DATAFLOW_BEAM_PIPELINE_ARGS .

Cambie el directorio un nivel más arriba. Haga clic en el nombre del directorio encima de la lista de archivos. El nombre del directorio es el nombre de la canalización que es my_pipeline si no lo cambió.

Haga doble clic para abrir kubeflow_dag_runner.py . beam_pipeline_args . (También asegúrese de comentar el beam_pipeline_args actual que agregó en el Paso 7.)

Actualice la canalización y vuelva a ejecutarla

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

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

Puede encontrar sus trabajos de Dataflow en Dataflow en Cloud Console .

Pruebe el entrenamiento y la predicción de Cloud AI Platform con KFP

TFX interopera con varios servicios de GCP administrados, como Cloud AI Platform for Training and Prediction . Puedes configurar tu componente Trainer para usar Cloud AI Platform Training, un servicio administrado para entrenar modelos de AA. Además, cuando su modelo esté construido y listo para ser entregado, puede enviar su modelo a Cloud AI Platform Prediction para servir. En este paso, configuraremos nuestro componente Trainer y Pusher para usar los servicios de Cloud AI Platform.

Antes de editar archivos, es posible que primero deba habilitar AI Platform Training & Prediction API .

Haga doble clic en la pipeline para cambiar el directorio y haga doble clic para abrir configs.py . Descomente la definición de GOOGLE_CLOUD_REGION , GCP_AI_PLATFORM_TRAINING_ARGS y GCP_AI_PLATFORM_SERVING_ARGS . Usaremos nuestra imagen de contenedor personalizada para entrenar un modelo en Cloud AI Platform Training, por lo que debemos configurar masterConfig.imageUri en GCP_AI_PLATFORM_TRAINING_ARGS en el mismo valor que CUSTOM_TFX_IMAGE anterior.

Cambie el directorio un nivel más arriba y haga doble clic para abrir kubeflow_dag_runner.py . ai_platform_training_args y ai_platform_serving_args .

Actualice la canalización y vuelva a ejecutarla

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

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

Puedes encontrar tus trabajos de entrenamiento en Trabajos de Cloud AI Platform . Si su canalización se completó correctamente, puede encontrar su modelo en Cloud AI Platform Models .

14. Utilice sus propios datos

En este tutorial, creó una canalización para un modelo utilizando el conjunto de datos de Chicago Taxi. Ahora intente poner sus propios datos en la canalización. Sus datos se pueden almacenar en cualquier lugar al que la canalización pueda acceder, incluidos los archivos de Google Cloud Storage, BigQuery o CSV.

Necesita modificar la definición de la canalización para adaptarse a sus datos.

Si sus datos se almacenan en archivos

  1. Modifique DATA_PATH en kubeflow_dag_runner.py , indicando la ubicación.

Si sus datos se almacenan en BigQuery

  1. Modifique BIG_QUERY_QUERY en configs.py a su declaración de consulta.
  2. Agregue funciones en models / features.py .
  3. Modifique models / preprocessing.py para transformar los datos de entrada para el entrenamiento .
  4. Modifique models / keras / model.py y models / keras / constants.py para describir su modelo de model.py .

Más información sobre Trainer

Consulte la guía de componentes del entrenador para obtener más detalles sobre las canalizaciones de entrenamiento.

Limpiar

Para limpiar todos los recursos de Google Cloud usados ​​en este proyecto, puede borrar el proyecto de Google Cloud que usó para el tutorial.

Alternativamente, puede limpiar recursos individuales visitando cada consola: - Google Cloud Storage - Google Container Registry - Google Kubernetes Engine