Certains composants TFX utilisent une description de vos données d'entrée appelé un schéma. Le schéma est une instance de schema.proto . Il peut spécifier des types de données pour les valeurs de caractéristique, 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 des types, des catégories et des plages à partir des données d'apprentissage.
- Consomme : les statistiques d'un composant StatisticsGen
- Émet : proto de schéma de données
Voici un extrait d'un proto 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 est le meilleur effort et essaie uniquement de déduire les propriétés de base des données. Il est prévu que les développeurs le révisent et le modifient au besoin.
Le schéma modifié peut être ramené dans le pipeline à l'aide du composant ImportSchemaGen. Le composant SchemaGen pour la génération de schéma initial peut être supprimé et tous les composants en aval peuvent utiliser la sortie de ImportSchemaGen. Il est également recommandé d'ajouter ExampleValidator en utilisant le schéma importé pour examiner les données de formation continue.
Validation des données SchemaGen et TensorFlow
SchemaGen fait un usage intensif de tensorflow Validation des données pour inférant 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 API SchemaGen .
Pour l'import de schéma révisé
Ajoutez le composant ImportSchemaGen au pipeline pour amener 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 du fichier protobuf texte.
Plus de détails sont disponibles dans la référence API ImportSchemaGen .