Alcuni componenti TFX utilizzano una descrizione dei dati di input chiamati uno schema. Lo schema è un esempio 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 addestramento.
- Consumi: statistiche da un componente StatisticsGen
- Emette: Schema di dati proto
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
- TensorFlow Transform
- 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 è il miglior sforzo e cerca solo di dedurre le proprietà di base dei dati. Si prevede che gli sviluppatori lo esaminino e lo modifichino secondo necessità.
Lo schema modificato può essere riportato nella pipeline utilizzando il componente ImportSchemaGen. Il componente SchemaGen per la generazione dello schema iniziale può essere rimosso e tutti i componenti downstream possono utilizzare l'output di ImportSchemaGen. Si raccomanda inoltre di aggiungere ExampleValidator utilizzando lo schema importato per esaminare i dati di allenamento continuo.
Convalida dei dati SchemaGen e TensorFlow
SchemaGen fa ampio uso di tensorflow Convalida dati per inferire uno schema.
Utilizzo del componente SchemaGen
Per la generazione dello schema iniziale
Un componente della pipeline SchemaGen è in genere molto facile da distribuire e richiede poca personalizzazione. Il codice tipico è simile a questo:
schema_gen = tfx.components.SchemaGen(
statistics=stats_gen.outputs['statistics'])
Maggiori dettagli sono disponibili nel riferimento API SchemaGen .
Per l'importazione dello schema revisionato
Aggiungi il componente ImportSchemaGen alla pipeline per portare la definizione dello schema revisionata nella pipeline.
schema_gen = tfx.components.ImportSchemaGen(
schema_file='/some/path/schema.pbtxt')
Lo schema_file
dovrebbe essere un percorso completo del file di testo protobuf.
Maggiori dettagli sono disponibili nel riferimento API ImportSchemaGen .