Alcuni componenti TFX utilizzano una descrizione dei dati di input denominata schema . Lo schema è un'istanza di schema.proto . Può specificare i tipi di dati per i valori delle caratteristiche, se una caratteristica deve essere presente in tutti gli esempi, gli intervalli di valori consentiti e altre proprietà. Un componente della pipeline SchemaGen genererà automaticamente uno schema deducendo tipi, categorie e intervalli dai dati di training.
- Consuma: statistiche da un componente StatisticsGen
- Emette: protocollo dello schema dati
Ecco un estratto da un prototipo di schema:
...
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
}
}
...
Le seguenti librerie TFX utilizzano lo schema:
- Convalida dei dati TensorFlow
- Trasformata TensorFlow
- Analisi del modello TensorFlow
In una tipica pipeline TFX, SchemaGen genera uno schema, che viene utilizzato dagli altri componenti della pipeline. Tuttavia, lo schema generato automaticamente offre il massimo sforzo e tenta solo di dedurre le proprietà di base dei dati. Si prevede che gli sviluppatori lo rivedano e lo modifichino secondo necessità.
Lo schema modificato può essere riportato nella pipeline utilizzando il componente ImportSchemaGen. Il componente SchemaGen per la generazione iniziale dello schema può essere rimosso e tutti i componenti downstream possono utilizzare l'output di ImportSchemaGen. Si consiglia inoltre di aggiungere EsempioValidator utilizzando lo schema importato per esaminare continuamente i dati di training.
Convalida dei dati SchemaGen e TensorFlow
SchemaGen fa ampio uso di TensorFlow Data Validation per dedurre uno schema.
Utilizzo del componente SchemaGen
Per la generazione iniziale dello schema
Un componente della pipeline SchemaGen è in genere molto semplice da distribuire e richiede poca personalizzazione. Il codice tipico è simile al seguente:
schema_gen = tfx.components.SchemaGen(
statistics=stats_gen.outputs['statistics'])
Maggiori dettagli sono disponibili nel riferimento API SchemaGen .
Per l'importazione dello schema esaminato
Aggiungi il componente ImportSchemaGen alla pipeline per portare la definizione dello schema revisionato nella pipeline.
schema_gen = tfx.components.ImportSchemaGen(
schema_file='/some/path/schema.pbtxt')
schema_file
dovrebbe essere un percorso completo al file di testo protobuf.
Maggiori dettagli sono disponibili nel riferimento API ImportSchemaGen .