Il componente della pipeline TFX di SchemaGen

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 .