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 Schema
de 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 .