El componente de canalización TFX de StatisticsGen

El componente de canalización StatisticsGen TFX genera estadísticas de características sobre datos de entrenamiento y entrega, que pueden ser utilizadas por otros componentes de canalización. StatisticsGen utiliza Beam para escalar a grandes conjuntos de datos.

  • Consume: conjuntos de datos creados por un componente de canalización de EjemploGen.
  • Emite: Estadísticas del conjunto de datos.

Validación de datos de StatisticsGen y TensorFlow

StatisticsGen hace un uso extensivo de TensorFlow Data Validation para generar estadísticas a partir de su conjunto de datos.

Usando el componente StatsGen

Un componente de canalización de StatisticsGen suele ser muy fácil de implementar y requiere poca personalización. El código típico se ve así:

compute_eval_stats = StatisticsGen(
      examples=example_gen.outputs['examples'],
      name='compute-eval-stats'
      )

Usando el componente StatsGen con un esquema

Para la primera ejecución de una canalización, se utilizará el resultado de StatisticsGen para inferir un esquema. Sin embargo, en ejecuciones posteriores es posible que tenga un esquema seleccionado manualmente que contenga información adicional sobre su conjunto de datos. Al proporcionar este esquema a StatisticsGen, TFDV puede proporcionar estadísticas más útiles basadas en las propiedades declaradas de su conjunto de datos.

En esta configuración, invocará StatisticsGen con un esquema seleccionado que ha sido importado por un 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'
      )

Crear un esquema curado

Schema en TFX es una instancia del protocolo del Schema metadatos de TensorFlow. Este se puede redactar en formato de texto desde cero. Sin embargo, es más fácil utilizar el esquema inferido producido por SchemaGen como punto de partida. Una vez que se haya ejecutado el componente SchemaGen , el esquema se ubicará debajo de la raíz de la canalización en la siguiente ruta:

<pipeline_root>/SchemaGen/schema/<artifact_id>/schema.pbtxt

Donde <artifact_id> representa una ID única para esta versión del esquema en MLMD. Luego, este prototipo de esquema se puede modificar para comunicar información sobre el conjunto de datos que no se puede inferir de manera confiable, lo que hará que la salida de StatisticsGen sea más útil y la validación realizada en el componente ExampleValidator más estricta.

Más detalles están disponibles en la referencia de la API de StatisticsGen .