O componente de pipeline StatisticsGen TFX gera estatísticas de recursos sobre os dados de treinamento e serviço, que podem ser usados por outros componentes de pipeline. StatisticsGen usa Beam para dimensionar grandes conjuntos de dados.
- Consome: conjuntos de dados criados por um componente do pipeline ExampleGen.
- Emite: estatísticas do conjunto de dados.
Validação de dados StatisticsGen e TensorFlow
StatisticsGen faz uso extensivo do TensorFlow Data Validation para gerar estatísticas a partir do seu conjunto de dados.
Usando o componente StatsGen
Um componente de pipeline StatisticsGen é normalmente muito fácil de implantar e requer pouca personalização. O código típico se parece com isto:
from tfx import components
...
compute_eval_stats = components.StatisticsGen(
examples=example_gen.outputs['examples'],
name='compute-eval-stats'
)
Usando o componente StatsGen com um esquema
Para a primeira execução de um pipeline, a saída de StatisticsGen será usada para inferir um esquema. No entanto, em execuções subsequentes, você pode ter um esquema curado manualmente que contém informações adicionais sobre seu conjunto de dados. Ao fornecer este esquema ao StatisticsGen, o TFDV pode fornecer estatísticas mais úteis com base nas propriedades declaradas de seu conjunto de dados.
Nesta configuração, você invocará StatisticsGen com um esquema curado que foi importado por um ImporterNode como este:
from tfx import components
from tfx.types import standard_artifacts
...
user_schema_importer = components.ImporterNode(
instance_name='import_user_schema',
source_uri=user_schema_dir, # directory containing only schema text proto
artifact_type=standard_artifacts.Schema)
compute_eval_stats = components.StatisticsGen(
examples=example_gen.outputs['examples'],
schema=user_schema_importer.outputs['result'],
name='compute-eval-stats'
)
Criação de um esquema selecionado
Schema
no TFX é uma instância do protótipo TensorFlow Metadata Schema
. Isso pode ser redigido em formato de texto do zero. No entanto, é mais fácil usar o esquema inferido produzido por SchemaGen
como ponto de partida. Depois que o componente SchemaGen
for executado, o esquema estará localizado na raiz do pipeline no seguinte caminho:
<pipeline_root>/SchemaGen/schema/<artifact_id>/schema.pbtxt
Onde <artifact_id>
representa um ID exclusivo para esta versão do esquema em MLMD. Este protocolo de esquema pode então ser modificado para comunicar informações sobre o conjunto de dados que não podem ser inferidos de forma confiável, o que tornará a saída de StatisticsGen
mais útil e a validação realizada no componente ExampleValidator
mais rigorosa.