El componente de canalización SchemaGen TFX

Algunos componentes de TFX utilizan una descripción de sus datos de entrada llamada esquema . El esquema es una instancia de esquema.proto . Puede especificar tipos de datos para valores de características, si una característica debe estar presente en todos los ejemplos, rangos de valores permitidos y otras propiedades. Un componente de canalización de SchemaGen generará automáticamente un esquema al inferir tipos, categorías y rangos a partir de los datos de entrenamiento.

  • Consume: estadísticas de un componente StatisticsGen
  • Emite: protocolo de esquema de datos

Aquí hay un extracto de un prototipo de esquema:

...
feature {
  name: "age"
  value_count {
    min: 1
    max: 1
  }
  type: FLOAT
  presence {
    min_fraction: 1
    min_count: 1
  }
}
feature {
  name: "capital-gain"
  value_count {
    min: 1
    max: 1
  }
  type: FLOAT
  presence {
    min_fraction: 1
    min_count: 1
  }
}
...

Las siguientes bibliotecas TFX utilizan el esquema:

  • Validación de datos de TensorFlow
  • Transformación de TensorFlow
  • Análisis del modelo TensorFlow

En una canalización TFX típica, SchemaGen genera un esquema, que es consumido por los otros componentes de la canalización. Sin embargo, el esquema generado automáticamente es el mejor esfuerzo y solo intenta inferir propiedades básicas de los datos. Se espera que los desarrolladores lo revisen y modifiquen según sea necesario.

El esquema modificado se puede devolver a la canalización mediante el componente ImportSchemaGen. El componente SchemaGen para la generación del esquema inicial se puede eliminar y todos los componentes posteriores pueden usar la salida de ImportSchemaGen. También se recomienda agregar EjemploValidator usando el esquema importado para examinar los datos de entrenamiento continuamente.

Validación de datos de SchemaGen y TensorFlow

SchemaGen hace un uso extensivo de la validación de datos de TensorFlow para inferir un esquema.

Usando el componente SchemaGen

Para la generación inicial del esquema

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

schema_gen = tfx.components.SchemaGen(
    statistics=stats_gen.outputs['statistics'])

Hay más detalles disponibles en la referencia de la API de SchemaGen .

Para la importación del esquema revisado

Agregue el componente ImportSchemaGen a la canalización para incorporar la definición del esquema revisado a la canalización.

schema_gen = tfx.components.ImportSchemaGen(
    schema_file='/some/path/schema.pbtxt')

El schema_file debe ser una ruta completa al archivo protobuf de texto.

Hay más detalles disponibles en la referencia de la API ImportSchemaGen .