Configuration de l'analyse du modèle Tensorflow

Restez organisé à l'aide des collections Enregistrez et classez les contenus selon vos préférences.

Configuration

TFMA stocke sa configuration dans un proto qui est publié en feuilleton à JSON. Ce proto consolide la configuration requise pour les données d'entrée, les données de sortie, les spécifications du modèle, les spécifications métriques et les spécifications de découpage.

Tous les pipelines TFMA sont associés à un modèle de référence (primaire) et à zéro ou plusieurs modèles candidats (secondaires). La ligne de base et le modèle candidat sont définis par l'utilisateur au début du pipeline et nécessitent chacun un nom unique. Voici des exemples de configurations de configuration typiques qu'un utilisateur peut utiliser :

  • Évaluation d'un modèle unique :
    • N/A (c'est-à-dire sans nom)
  • Évaluation basée sur la validation :
    • baseline
    • candidate
  • Évaluation de la comparaison des modèles :
    • my_model_a
    • my_model_b

Spécifications du modèle

Caractéristiques du modèle sont de type tfma.ModelSpec et sont utilisés pour définir l'emplacement d'un modèle, ainsi que d' autres paramètres spécifiques du modèle. Par exemple, les paramètres suivants doivent être configurés avant d'exécuter une évaluation :

  • name - nom du modèle (si plusieurs modèles utilisés)
  • signature_name - nom de signature utilisé pour les prévisions (valeur par défaut est serving_default ). Utilisez eval si vous utilisez un EvalSavedModel.
  • label_key - nom de la fonction associée à l'étiquette.
  • example_weight_key - nom de la fonction assocated avec le poids par exemple.

Spécifications des métriques

Spécifications métriques sont de type tfma.MetricsSpec et sont utilisés pour configurer les paramètres qui seront calculés dans le cadre de l'évaluation. Différents problèmes d'apprentissage automatique utilisent différents types de métriques et TFMA offre de nombreuses options pour configurer et personnaliser les métriques qui sont calculées. Étant donné que les mesures sont une très grande partie de TFMA, ils sont traités en détail séparément dans les paramètres .

Spécifications de tranchage

Spécifications Slicing sont de type tfma.SlicingSpec et sont utilisés pour configurer les critères de tranches qui seront utilisées lors de l'évaluation. Slicing peut se faire soit par feature_keys , feature_values , ou les deux. Voici quelques exemples de spécifications de tranchage :

  • {}
    • Tranche constituée de données globales.
  • { feature_keys: ["country"] }
    • Tranches pour toutes les valeurs de la fonction "pays". Par exemple, nous pouvons obtenir des tranches "country:us", "country:jp", etc.
  • { feature_values: [{key: "country", value: "us"}] }
    • Tranche composée de "pays : nous".
  • { feature_keys: ["country", "city"] }
    • Tranches pour toutes les valeurs de la fonctionnalité « pays » croisées avec toutes les valeurs de la fonctionnalité « ville » (notez que cela peut être coûteux).
  • { feature_keys: ["country"] feature_values: [{key: "age", value: "20"}] }
    • Tranches pour toutes les valeurs de la caractéristique "pays" croisées avec la valeur "âge:20"

Notez que les clés de fonctionnalité peuvent être des entités transformées ou des entités d'entrée brutes. Voir tfma.SlicingSpec pour plus d' informations.

ÉvalModèlePartagé

En plus des paramètres de configuration, TFMA exige également qu'une instance d'un tfma.EvalSharedModel créé pour partager un modèle entre plusieurs threads dans le même processus. L'instance de modèle partagée comprend des informations sur le type de modèle (keras, etc.) et comment charger et configurer le modèle à partir de son emplacement enregistré sur le disque (par exemple, des balises, etc.). L' tfma.default_eval_shared_model API peut être utilisé pour créer une instance par défaut donné un chemin et un ensemble de balises.