O componente de pipeline StatisticsGen TFX gera estatísticas de recursos sobre dados de treinamento e serviço, que podem ser usados por outros componentes de pipeline. StatisticsGen usa o Beam para dimensionar grandes conjuntos de dados.
- Consome: conjuntos de dados criados por um componente de pipeline ExampleGen.
- Emite: estatísticas do conjunto de dados.
Validação de dados StatisticsGen e TensorFlow
StatisticsGen faz uso extensivo da validação de dados do TensorFlow para gerar estatísticas de seu conjunto de dados.
Usando o componente StatsGen
Um componente de pipeline do StatisticsGen normalmente é muito fácil de implantar e requer pouca personalização. O código típico é assim:
compute_eval_stats = 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 do StatisticsGen será usada para inferir um esquema. No entanto, em execuções subsequentes você poderá 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 do seu conjunto de dados.
Nesta configuração, você invocará o StatisticsGen com um esquema selecionado que foi importado por um ImporterNode como este:
user_schema_importer = Importer(
source_uri=user_schema_dir, # directory containing only schema text proto
artifact_type=standard_artifacts.Schema).with_id('schema_importer')
compute_eval_stats = StatisticsGen(
examples=example_gen.outputs['examples'],
schema=user_schema_importer.outputs['result'],
name='compute-eval-stats'
)
Criando um esquema selecionado
Schema
no TFX é uma instância do protocolo TensorFlow Metadata Schema
. Isso pode ser composto em formato de texto do zero. No entanto, é mais fácil usar o esquema inferido produzido pelo 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 no MLMD. Este protocolo de esquema pode então ser modificado para comunicar informações sobre o conjunto de dados que não podem ser inferidas de forma confiável, o que tornará a saída do StatisticsGen
mais útil e a validação realizada no componente ExampleValidator
mais rigorosa.
Mais detalhes estão disponíveis na referência da API StatisticsGen .