Il componente SchemaGen TFX Pipeline

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 .