Junte-se à comunidade SIG TFX-Addons e ajude a tornar o TFX ainda melhor! Junte-se ao SIG TFX-Addons

Construindo pipelines TFX

Usando a classe Pipeline

Os pipelines TFX são definidos usando a classe Pipeline . O exemplo a seguir demonstra como usar a classe Pipeline .

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

Substitua o seguinte:

  • pipeline-name : o nome deste pipeline. O nome do pipeline deve ser exclusivo.

    O TFX usa o nome do pipeline ao consultar os metadados de ML para artefatos de entrada do componente. Reutilizar um nome de pipeline pode resultar em comportamentos inesperados.

  • pipeline-root : o caminho raiz das saídas deste pipeline. O caminho raiz deve ser o caminho completo para um diretório ao qual seu orquestrador tenha acesso de leitura e gravação. No tempo de execução, o TFX usa a raiz do pipeline para gerar caminhos de saída para artefatos de componente. Esse diretório pode ser local ou em um sistema de arquivos distribuído com suporte, como Google Cloud Storage ou HDFS.

  • components : uma lista de instâncias de componentes que constituem o fluxo de trabalho deste pipeline.

  • enable-cache : (Opcional.) Um valor booleano que indica se este pipeline usa armazenamento em cache para acelerar a execução do pipeline.

  • metadata-connection-config : (Opcional.) Uma configuração de conexão para metadados de ML.

Definindo o gráfico de execução do componente

As instâncias de componentes produzem artefatos como saídas e geralmente dependem de artefatos produzidos por instâncias de componentes upstream como entradas. A sequência de execução para instâncias de componentes é determinada pela criação de um gráfico acíclico direcionado (DAG) das dependências do artefato.

Por exemplo, o componente padrão ExampleGen pode ingerir dados de um arquivo CSV e ExampleGen registros de exemplo serializados. O componente padrão StatisticsGen aceita esses registros de exemplo como entrada e produz estatísticas de conjunto de dados. Neste exemplo, a instância de StatisticsGen deve seguir ExampleGen porque SchemaGen depende da saída de ExampleGen .

Dependências baseadas em tarefas

Você também pode definir dependências baseadas em tarefas usando do seu componente add_upstream_node e add_downstream_node métodos. add_upstream_node permite que você especifique que o componente atual deve ser executado após o componente especificado. add_downstream_node permite que você especifique que o componente atual deve ser executado antes do componente especificado.

Modelos de pipeline

A maneira mais fácil de configurar rapidamente um pipeline e ver como todas as peças se encaixam é usar um modelo. O uso de modelos é abordado em Construindo um pipeline TFX localmente .

Cache

O cache de pipeline TFX permite que seu pipeline pule componentes que foram executados com o mesmo conjunto de entradas em uma execução anterior de pipeline. Se o armazenamento em cache estiver habilitado, o pipeline tenta corresponder a assinatura de cada componente, o componente e o conjunto de entradas, a uma das execuções anteriores do componente do pipeline. Se houver uma correspondência, o pipeline usará as saídas do componente da execução anterior. Se não houver correspondência, o componente será executado.

Não use cache se o pipeline usar componentes não determinísticos. Por exemplo, se você criar um componente para criar um número aleatório para o pipeline, habilitar o cache fará com que esse componente seja executado uma vez. Neste exemplo, as execuções subsequentes usam o número aleatório da primeira execução em vez de gerar um número aleatório.