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 .