Join us at DevFest for Ukraine June 14-15 Online Register now

Construcción de tuberías TFX

Utilizando el Pipeline clase

Tuberías TFX se definen mediante el Pipeline clase . El siguiente ejemplo muestra cómo utilizar el Pipeline clase.

pipeline.Pipeline(
    pipeline_name=pipeline-name,
    pipeline_root=pipeline-root,
    components=components,
    enable_cache=enable-cache,
    metadata_connection_config=metadata-connection-config,
)

Reemplazar lo siguiente:

  • pipeline-name : El nombre de esta tubería. El nombre de la canalización debe ser exclusivo.

    TFX usa el nombre de la canalización cuando consulta los metadatos de ML para detectar artefactos de entrada de componentes. La reutilización de un nombre de canalización puede provocar comportamientos inesperados.

  • pipeline-root : La ruta raíz de los resultados de esta tubería. La ruta raíz debe ser la ruta completa a un directorio al que su orquestador tenga acceso de lectura y escritura. En tiempo de ejecución, TFX usa la raíz de la tubería para generar rutas de salida para los artefactos de los componentes. Este directorio puede ser local o en un sistema de archivos distribuido compatible, como Google Cloud Storage o HDFS.

  • components : Una lista de instancias de componentes que conforman el flujo de trabajo de este oleoducto.

  • enable-cache : (Opcional.) Un valor booleano que indica si éste utiliza el almacenamiento en caché de tuberías para acelerar la ejecución de tuberías.

  • metadata-connection-config : (Opcional.) una configuración de conexión para ML metadatos.

Definición del gráfico de ejecución de componentes

Las instancias de componentes producen artefactos como salidas y normalmente dependen de los artefactos producidos por instancias de componentes ascendentes como entradas. La secuencia de ejecución para instancias de componentes se determina creando un gráfico acíclico dirigido (DAG) de las dependencias de artefactos.

Por ejemplo, la ExampleGen componente estándar puede ingerir datos de un archivo CSV y salida serializado registros de ejemplo. El StatisticsGen componente estándar acepta estos registros ejemplo, como entrada y produce conjuntos de datos estadísticas. En este ejemplo, la instancia de StatisticsGen debe seguir ExampleGen porque SchemaGen depende de la salida de ExampleGen .

Dependencias basadas en tareas

También se pueden definir las dependencias basadas en tareas que usan componentes de su add_upstream_node y add_downstream_node métodos. add_upstream_node permite especificar que la componente de corriente debe ser ejecutado después de que el componente especificado. add_downstream_node permite especificar que la componente de corriente debe ser ejecutado antes de que el componente especificado.

Plantillas de canalización

La forma más sencilla de configurar rápidamente una canalización y de ver cómo encajan todas las piezas es utilizar una plantilla. El uso de plantillas está cubierto de construcción de un gasoducto TFX localmente .

Almacenamiento en caché

El almacenamiento en caché de la canalización TFX permite que la canalización omita los componentes que se han ejecutado con el mismo conjunto de entradas en una ejecución de canalización anterior. Si el almacenamiento en caché está habilitado, la canalización intenta hacer coincidir la firma de cada componente, el componente y el conjunto de entradas, con una de las ejecuciones de componentes anteriores de esta canalización. Si hay una coincidencia, la canalización utiliza las salidas del componente de la ejecución anterior. Si no hay coincidencia, se ejecuta el componente.

No utilice el almacenamiento en caché si su canalización utiliza componentes no deterministas. Por ejemplo, si crea un componente para crear un número aleatorio para su canalización, habilitar la caché hace que este componente se ejecute una vez. En este ejemplo, las ejecuciones posteriores utilizan el número aleatorio de la primera ejecución en lugar de generar un número aleatorio.