Ayuda a proteger la Gran Barrera de Coral con TensorFlow en Kaggle Únete Challenge

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. A lo largo del 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 taxi Viajes conjunto de datos dado a conocer por la ciudad de Chicago.

Puede leer más sobre el conjunto de datos en Google BigQuery . Explora el conjunto de datos completo en la BigQuery interfaz de usuario .

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, vaya a Crear nuevo proyecto .

  1. Ir a la nube de Google consola .

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

  3. Si desea comenzar con una cuenta de prueba gratuita, haga clic en probar de forma gratuita (o Comience de forma gratuita ).

    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 Tier Google en la nube gratuito límites, que incluye un máximo de 8 núcleos que funcionan al mismo tiempo.

1.b Cree un nuevo proyecto.

  1. Desde el principal panel de control de Google Cloud , haga clic en el menú desplegable del proyecto junto a la cabecera 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. Ir a la Plataforma AI Tuberías Clusters página.

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

  2. Haga clic en + Nueva instancia para crear un nuevo grupo.

  3. En la página de información general Kubeflow Tuberías, haga clic en Configurar.

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

  4. En la página Implementar Kubeflow Tuberías:

    1. Seleccionar una zona (o "región") para el clúster.
    2. IMPORTANTE Compruebe la casilla Permitir el acceso a las API siguientes 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 esperar 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). Usted no tiene que comprobar el uso de almacenamiento administrado.

    5. Haga clic en Implementar, y esperar unos instantes hasta que la tubería se ha desplegado. Al implementar Kubeflow Pipelines, acepta los Términos de servicio.

3. Configure la instancia de Cloud AI Platform Notebook.

  1. Ir a la AI Cuadernos Plataforma página.

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

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

  3. Crear 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 portátil.
    2. Seleccionar una configuración de máquina con 1 o 2 vCPU.

4. Inicie el cuaderno de introducción.

  1. Ir a la Plataforma AI Tuberías Clusters página.

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

  2. En la línea para el clúster que está usando en este tutorial, haga clic en Abrir tuberías de paneles.

    tablero abierto

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

  4. Seleccione la instancia portátil que está utilizando para este tutorial y continuar.

    seleccionar-cuaderno

5. Continúe trabajando en el cuaderno

Instalar en pc

La Introducción inicia portátiles mediante la instalación de TFX y Kubeflow tuberías (KFP) en la VM que Jupyter Lab se está ejecutando en.

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 mire la URL. El punto final lo es todo en la URL empezando por el https:// , hasta, e incluyendo, 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 vamos a utilizar my_pipeline .

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

El portátil utiliza entonces el tfx CLI para copiar la plantilla tubería. En este tutorial se utiliza el conjunto de datos de Chicago taxi para llevar a cabo la clasificación binaria, por lo que la plantilla fija el modelo de 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. No debe haber un directorio con el nombre de la tubería ( my_pipeline ). Ábrelo y mira los archivos. (También podrá abrirlos y editarlos desde el entorno del cuaderno).

# You can also list the files from the shell
 ls

La tfx template copy comando anterior crea un andamiaje básico de archivos que construyen una tubería. 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 la tubería
    • configs.py - define constantes comunes para los corredores de tuberías
    • pipeline.py - define los componentes TFX y una tubería
  • models - Este directorio contiene definiciones del modelo de ML.
    • features.py features_test.py - define cuenta para el modelo
    • preprocessing.py / preprocessing_test.py - preprocesamiento define los trabajos que utilizan tf::Transform
    • estimator - Este directorio contiene un modelo basado Estimador.
      • constants.py - define constantes del modelo
      • model.py / model_test.py - define modelo DNN utilizando estimador TF
    • keras - Este directorio contiene un modelo basado Keras.
      • constants.py - define constantes del modelo
      • model.py / model_test.py - define modelo DNN usando Keras
  • beam_runner.py / kubeflow_runner.py - Definir los corredores para cada motor de orquestación

7. Ejecute su primera canalización TFX en Kubeflow

El portátil se ejecutará la tubería utilizando el tfx run de comandos CLI.

Conectarse al almacenamiento

Gasoductos que crean artefactos que tienen que ser almacenados en ML-metadatos . 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. Su nombre será <your-project-id>-kubeflowpipelines-default .

Crea la canalización

El cuaderno cargará nuestros datos de muestra en el depósito de GCS para que podamos usarlos en nuestra canalización más adelante.

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

El ordenador portátil utiliza entonces la tfx pipeline create comandos para crear la tubería.

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

Si bien la creación de una tubería, Dockerfile se generará a construir una imagen de estibador. No olvide agregar estos archivos a su sistema de control de fuentes (por ejemplo, git) junto con otros archivos fuente.

Ejecutar la tubería

El ordenador portátil utiliza entonces el tfx run create comandos para iniciar una ejecución de ejecución de la 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 que faltan en el conjunto de datos.

En el editor de archivos de laboratorio de Jupyter:

En pipeline / pipeline.py , elimine las líneas que Anexar estos componentes a su tubería:

# 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_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 un ejemplo más avanzado ver el TensorFlow validación de datos Colab .

Para obtener más información sobre el uso TFDV para explorar y validar un conjunto de datos, ver 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

  • Transformar realiza la ingeniería característica en el conjunto de datos.

En el editor de archivos de laboratorio de Jupyter:

En pipeline / pipeline.py , encontrar y elimine la línea que añade Transformar a la tubería.

# components.append(transform)

Actualice la canalización y vuelva a ejecutarla

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

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

Verifique las salidas de 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 un ejemplo más avanzado ver la 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 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 , hallazgo y quite el comentario que añade Trainer a la tubería:

# components.append(trainer)

Actualice la canalización y vuelva a ejecutarla

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

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

Verificar las salidas de la 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

El ejemplo que se presenta aquí solo está destinado a comenzar. Para un ejemplo más avanzado ver el Tutorial 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 personas influyentes
  • Si está reemplazando un modelo que está actualmente en producción, primero asegúrese de que el nuevo sea mejor

Componentes

  • Evaluador realiza un análisis profundo de los resultados de la formación.

En el editor de archivos de laboratorio de Jupyter:

En pipeline / pipeline.py , encontrar y elimine la línea que añade Evaluador de la tubería:

components.append(evaluator)

Actualice la canalización y vuelva a ejecutarla

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

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

Verifique las salidas de 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.

12. Sirviendo el modelo

Si el nuevo modelo está listo, hágalo así.

  • Pusher implementa modelos guardados 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

  • Empujador despliega el modelo a una infraestructura de servir.

En el editor de archivos de laboratorio de Jupyter:

En pipeline / pipeline.py , encontrar y elimine la línea que anexa a la tubería Pusher:

# components.append(pusher)

Verificar las salidas de la 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 puede implementar su modelo en cualquiera de los objetivos de implementación de TensorFlow, que incluyen:

  • Sirviendo TensorFlow , para servir a su modelo en una granja de servidores o servidor y el procesamiento de reposo y / o las solicitudes de inferencia GRPC.
  • TensorFlow Lite , para la inclusión de su modelo en una aplicación móvil nativa de Android o iOS, o en un Raspberry Pi, la IO, o la aplicación microcontrolador.
  • TensorFlow.js , para el funcionamiento de 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 sus configuraciones de recursos utilizando pipeline_operator_funcs en su llamada a KubeflowDagRunnerConfig .

pipeline_operator_funcs es una lista de OpFunc artículos, que transforma todos los generados ContainerOp casos en la tubería de especificaciones KFP que se compila a partir KubeflowDagRunner .

Por ejemplo, en la memoria de configuración podemos utilizar 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 utilizarlo para añadir a la lista de tubería 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)

Las funciones de configuración de recursos similares incluyen:

  • set_memory_limit
  • set_cpu_request
  • set_cpu_limit
  • set_gpu_limit

Trate BigQueryExampleGen

BigQuery es un serverless, altamente escalable, y el almacén de datos de nube rentable. BigQuery se puede usar como fuente para ejemplos de entrenamiento en TFX. En este paso, vamos a añadir BigQueryExampleGen a la tubería.

En el editor de archivos de laboratorio de Jupyter:

Haga doble clic para abrir el pipeline.py . Comentar CsvExampleGen y elimine la línea que crea una instancia de BigQueryExampleGen . También es necesario comentar la query argumento de la create_pipeline función.

Tenemos que especificar qué proyecto GCP a utilizar para BigQuery, y esto se hace mediante el establecimiento de --project en beam_pipeline_args al crear una tubería.

Haga doble clic para abrir el configs.py . Descomentar 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 tubería que es my_pipeline si no ha cambiado el nombre de la tubería.

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

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_runner.py \
  --endpoint={ENDPOINT}

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

Prueba Dataflow

Varios Componentes TFX utilizar Apache Beam para implementar procesos de datos en paralelo, y significa que puede distribuir las cargas de trabajo de procesamiento de datos utilizando Google Cloud flujo de datos . 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 pipeline de cambio de directorio, y doble clic para abrir el configs.py . Descomentar 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 tubería que es my_pipeline si no ha cambiado.

Haga doble clic para abrir el kubeflow_runner.py . Descomente beam_pipeline_args . (También asegúrese de comentar actuales beam_pipeline_args que agregó en el paso 7.)

Actualice la canalización y vuelva a ejecutarla

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

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

Usted puede encontrar sus trabajos de flujo de datos de flujo de datos en la nube de la consola .

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

Interopera con varios servicios TFX GCP administrados, como Cloud Platform AI para la Formación y predicción . Puede configurar su Trainer componente a utilizar la nube AI plataforma de formación, un servicio gestionado para la formación de modelos ML. Por otra parte, cuando el modelo está construido y listo para ser servido, puede llevar a su modelo de Cloud Platform AI Predicción para servir. En este paso, vamos a configurar nuestro Trainer y Pusher componente para utilizar los servicios de la nube de la plataforma IA.

Antes de editar archivos, puede que primero tenga que habilitar AI plataforma de formación y Prediction API.

Haga doble clic en pipeline de cambio de directorio, y doble clic para abrir el configs.py . Descomentar la definición de GOOGLE_CLOUD_REGION , GCP_AI_PLATFORM_TRAINING_ARGS y GCP_AI_PLATFORM_SERVING_ARGS . Haremos uso de nuestra imagen Envase hecha a la medida para entrenar un modelo en la nube AI plataforma de formación, por lo que debemos establecer masterConfig.imageUri en GCP_AI_PLATFORM_TRAINING_ARGS al mismo valor que CUSTOM_TFX_IMAGE anteriormente.

Cambie el directorio a un nivel superior, y doble clic para abrir el kubeflow_runner.py . Descomente 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_runner.py \
  --endpoint={ENDPOINT}

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

Usted puede encontrar sus puestos de trabajo de formación en la nube AI Plataforma Jobs . Si su tubería completada con éxito, puede encontrar su modelo en modelos de nube de la plataforma IA .

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 Google Cloud Storage, BigQuery o archivos CSV.

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

Si sus datos se almacenan en archivos

  1. Modificar DATA_PATH en kubeflow_runner.py , lo que indica la ubicación.

Si sus datos se almacenan en BigQuery

  1. Modificar BIG_QUERY_QUERY en configs.py a su instrucción de consulta.
  2. Añadir características de models / features.py .
  3. Modificar models / preprocessing.py para transformar los datos de entrada para el entrenamiento .
  4. Modificar models / keras / model.py y models / keras / constants.py que describen el modelo ML .

Más información sobre Trainer

Ver Trainer guía de componentes para más detalles sobre las tuberías de entrenamiento.

Limpiar

Para limpiar todos los recursos de Google Cloud utilizados en este proyecto, se puede eliminar el proyecto de Google Cloud que utilizó para el tutorial.

Alternativamente, se puede limpiar los recursos individuales, visitando cada consolas: - Google Cloud Storage - Registro de contenedores Google - Google Kubernetes motor