Algunos componentes TFX utilizan una descripción de los datos de entrada llamados un esquema. El esquema es una instancia de schema.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 de los datos de entrenamiento.
- Consume: estadísticas de un componente StatisticsGen
- Emite: esquema de datos proto
Aquí hay un extracto de un proto 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 de 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 traer de vuelta a la canalización usando 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 añadir ExampleValidator utilizando el esquema importado para examinar los datos de formación continua.
Validación de datos de SchemaGen y TensorFlow
SchemaGen hace un amplio uso de TensorFlow validación de datos para inferir un esquema.
Uso del componente SchemaGen
Para la generación de esquema inicial
Un componente de canalización de SchemaGen suele ser muy fácil de implementar y requiere poca personalización. El código típico tiene este aspecto:
schema_gen = tfx.components.SchemaGen(
statistics=stats_gen.outputs['statistics'])
Más detalles están disponibles en la referencia de la API SchemaGen .
Para la importación del esquema revisado
Agregue el componente ImportSchemaGen a la canalización para llevar la definición de esquema revisada 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 de texto protobuf.
Más detalles están disponibles en la referencia de la API ImportSchemaGen .