Le composant de pipeline SchemaGen TFX

Certains composants TFX utilisent une description de vos données d'entrée appelée schéma . Le schéma est une instance de schema.proto . Il peut spécifier les types de données pour les valeurs de caractéristiques, si une caractéristique doit être présente dans tous les exemples, les plages de valeurs autorisées et d'autres propriétés. Un composant de pipeline SchemaGen générera automatiquement un schéma en déduisant les types, les catégories et les plages à partir des données de formation.

  • Consomme : statistiques d'un composant StatisticsGen
  • Émet : protocole du schéma de données

Voici un extrait d'un prototype de schéma :

...
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
  }
}
...

Les bibliothèques TFX suivantes utilisent le schéma :

  • Validation des données TensorFlow
  • Transformation TensorFlow
  • Analyse du modèle TensorFlow

Dans un pipeline TFX typique, SchemaGen génère un schéma qui est consommé par les autres composants du pipeline. Cependant, le schéma généré automatiquement fait de son mieux et tente uniquement de déduire les propriétés de base des données. Il est attendu que les développeurs l'examinent et le modifient si nécessaire.

Le schéma modifié peut être réintroduit dans le pipeline à l'aide du composant ImportSchemaGen. Le composant SchemaGen pour la génération initiale du schéma peut être supprimé et tous les composants en aval peuvent utiliser la sortie de ImportSchemaGen. Il est également recommandé d'ajouter SampleValidator à l'aide du schéma importé pour examiner les données d'entraînement en continu.

Validation des données SchemaGen et TensorFlow

SchemaGen utilise largement la validation des données TensorFlow pour déduire un schéma.

Utilisation du composant SchemaGen

Pour la génération initiale du schéma

Un composant de pipeline SchemaGen est généralement très facile à déployer et nécessite peu de personnalisation. Le code typique ressemble à ceci :

schema_gen = tfx.components.SchemaGen(
    statistics=stats_gen.outputs['statistics'])

Plus de détails sont disponibles dans la référence de l'API SchemaGen .

Pour l’importation du schéma révisé

Ajoutez le composant ImportSchemaGen au pipeline pour importer la définition de schéma révisée dans le pipeline.

schema_gen = tfx.components.ImportSchemaGen(
    schema_file='/some/path/schema.pbtxt')

Le schema_file doit être un chemin complet vers le fichier texte protobuf.

Plus de détails sont disponibles dans la référence de l'API ImportSchemaGen .