Partager via


TensorflowCatalog Classe

Définition

Il TensorFlowTransformer est utilisé dans les deux scénarios suivants.

  1. Scoring avec un modèle TensorFlow préentraîné : dans ce mode, la transformation extrait les valeurs des couches masquées d’un modèle Tensorflow préentraîné et utilise des sorties en tant que fonctionnalités dans ML.Net pipeline.
  2. Reformation du modèle TensorFlow : dans ce mode, la transformation réentraîne un modèle TensorFlow à l’aide des données utilisateur transmises via ML.Net pipeline. Une fois le modèle entraîné, ses sorties peuvent être utilisées comme fonctionnalités pour le scoring.
public static class TensorflowCatalog
type TensorflowCatalog = class
Public Module TensorflowCatalog
Héritage
TensorflowCatalog

Remarques

TensorFlowTransform extrait les sorties spécifiées à l’aide d’un modèle Tensorflow préentraîné. Si vous le souhaitez, il peut réentraîner le modèle TensorFlow sur les données utilisateur pour ajuster les paramètres du modèle sur les données utilisateur (également connu sous le nom de « Transfert d’apprentissage »).

Pour le scoring, la transformation prend comme entrées le modèle Tensorflow préentraîné, les noms des nœuds d’entrée et les noms des nœuds de sortie dont nous voulons extraire les valeurs. Pour la reformation, la transformation nécessite également des paramètres liés à l’entraînement, tels que les noms de l’opération d’optimisation dans le graphique TensorFlow, le nom de l’opération de taux d’apprentissage dans le graphique et sa valeur, le nom des opérations dans le graphique pour calculer la perte et la métrique de performances, etc.

Cette transformation nécessite l’installation du nuget Microsoft.ML.TensorFlow . TensorFlowTransform présente les hypothèses suivantes concernant l’entrée, la sortie, le traitement des données et la reformation.

  1. Pour le modèle d’entrée, actuellement, TensorFlowTransform prend en charge le format de modèle figé et également le format SavedModel . Toutefois, la reformation du modèle n’est possible que pour le format SavedModel . Le format de point de contrôle n’est actuellement pas pris en charge pour le scoring ni pour le réentraînement en raison d’un manque de prise en charge de L’API C-API TensorFlow pour le chargement.
  2. La transformation prend en charge le scoring d’un seul exemple à la fois. Toutefois, la réentraînation peut être effectuée par lots.
  3. Les scénarios avancés d’apprentissage/réglage des transferts (par exemple, l’ajout de couches supplémentaires dans le réseau, la modification de la forme des entrées, la congélation des couches qui n’ont pas besoin d’être mises à jour pendant le processus de reformation, etc.) ne sont actuellement pas possibles en raison d’un manque de prise en charge de la manipulation réseau/graphique à l’intérieur du modèle à l’aide de TensorFlow C-API.
  4. Le nom des colonnes d’entrée doit correspondre au nom des entrées dans le modèle TensorFlow.
  5. Le nom de chaque colonne de sortie doit correspondre à l’une des opérations du graphique TensorFlow.
  6. Actuellement, double, float, long, int, short, sbyte, ulong, uint, ushort, byte et bool sont les types de données acceptables pour l’entrée/sortie.
  7. En cas de réussite, la transformation introduit une nouvelle colonne correspondant IDataView à chaque colonne de sortie spécifiée.

Les entrées et sorties d’un modèle TensorFlow peuvent être obtenues à l’aide des GetModelSchema() outils ou summarize_graph .

Méthodes

LoadTensorFlowModel(ModelOperationsCatalog, String, Boolean)

Chargez le modèle TensorFlow en mémoire. Il s’agit de la méthode pratique qui permet au modèle d’être chargé une fois et de l’utiliser par la suite pour interroger le schéma et la création de l’utilisation TensorFlowEstimatorScoreTensorFlowModel(String, String, Boolean). L’utilisation de cette API nécessite des dépendances NuGet supplémentaires sur le redist TensorFlow, consultez le document lié pour plus d’informations. TensorFlowModel contient également des références à des ressources non managées qui doivent être libérées avec un appel explicite à Dispose() ou implicitement en déclarant la variable avec la syntaxe « using » />

LoadTensorFlowModel(ModelOperationsCatalog, String)

Chargez le modèle TensorFlow en mémoire. Il s’agit de la méthode pratique qui permet au modèle d’être chargé une fois et de l’utiliser par la suite pour interroger le schéma et la création de l’utilisation TensorFlowEstimatorScoreTensorFlowModel(String, String, Boolean). L’utilisation de cette API nécessite des dépendances NuGet supplémentaires sur le redist TensorFlow, consultez le document lié pour plus d’informations. TensorFlowModel contient également des références à des ressources non managées qui doivent être libérées avec un appel explicite à Dispose() ou implicitement en déclarant la variable avec la syntaxe « using » />

S’applique à

Voir aussi