Freigeben über


TensorflowCatalog Klasse

Definition

Dies TensorFlowTransformer wird in folgenden zwei Szenarien verwendet.

  1. Bewertung mit vortrainierten TensorFlow-Modell : In diesem Modus extrahiert die Transformation ausgeblendete Ebenenwerte aus einem vordefinierten Tensorflow-Modell und verwendet Ausgaben als Features in ML.Net Pipeline.
  2. Neuschulung des TensorFlow-Modells : In diesem Modus trainiert die Transformation ein TensorFlow-Modell mithilfe der Benutzerdaten, die über ML.Net Pipeline übergeben wurden. Sobald das Modell trainiert wurde, kann es als Features für die Bewertung verwendet werden.
public static class TensorflowCatalog
type TensorflowCatalog = class
Public Module TensorflowCatalog
Vererbung
TensorflowCatalog

Hinweise

Der TensorFlowTransform extrahiert die angegebenen Ausgaben mithilfe eines vordefinierten Tensorflow-Modells . Optional kann das TensorFlow-Modell auf Benutzerdaten weiter umtrainiert werden, um Modellparameter für die Benutzerdaten anzupassen ( auch bekannt als "Transfer Learning").

Bei der Bewertung übernimmt die Transformation als Eingaben das vortrainierte Tensorflow-Modell, die Namen der Eingabeknoten und die Namen der Ausgabeknoten, deren Werte extrahiert werden sollen. Für die Umschulung erfordert die Transformation auch schulungsbezogene Parameter wie die Namen des Optimierungsvorgangs im TensorFlow-Diagramm, den Namen des Lernratevorgangs im Diagramm und seinen Wert, den Namen der Vorgänge im Diagramm, um Verlust und Leistungsmetrik zu berechnen usw.

Diese Transformation erfordert die Installation des Nugets von Microsoft.ML.TensorFlow . Die TensorFlowTransform hat die folgenden Annahmen hinsichtlich Eingabe, Ausgabe, Verarbeitung von Daten und Umschulung.

  1. Für das Eingabemodell unterstützt die TensorFlowTransform derzeit sowohl das gefrorene Modellformat als auch das SavedModel-Format . Die Umschulung des Modells ist jedoch nur für das SavedModel-Format möglich. Das Prüfpunktformat wird derzeit weder für die Bewertung noch für die Erneute Schulung unterstützt, da es an TensorFlow C-API-Unterstützung für das Laden fehlt.
  2. Die Transformation unterstützt die Bewertung nur jeweils ein Beispiel. Die Neuschulung kann jedoch in Batches durchgeführt werden.
  3. Erweiterte Übertragungslern-/Feinoptimierungsszenarien (z. B. Hinzufügen weiterer Ebenen in das Netzwerk, Ändern der Form der Eingaben, Einfrieren der Ebenen, die während des Umschulungsprozesses nicht aktualisiert werden müssen usw.) sind derzeit aufgrund fehlender Unterstützung für netzwerk-/graph-Manipulation innerhalb des Modells mit TensorFlow C-API nicht möglich.
  4. Der Name der Eingabespalten sollte mit dem Namen der Eingabe(n) im TensorFlow-Modell übereinstimmen.
  5. Der Name jeder Ausgabespalte sollte mit einem der Vorgänge im TensorFlow-Diagramm übereinstimmen.
  6. Derzeit sind double, float, long, int, short, sbyte, ulong, uint, ushort, byte und bool die akzeptablen Datentypen für Eingabe/Ausgabe.
  7. Bei Erfolg führt die Transformation eine neue Spalte ein, die IDataView jeder angegebenen Ausgabespalte entspricht.

Die Eingaben und Ausgaben eines TensorFlow-Modells können mithilfe der GetModelSchema()tools oder summarize_graph abgerufen werden.

Methoden

LoadTensorFlowModel(ModelOperationsCatalog, String)

Laden Sie das TensorFlow-Modell in den Arbeitsspeicher. Dies ist die Komfortmethode, mit der das Modell einmal geladen und anschließend zum Abfragen von Schema und Erstellung der TensorFlowEstimator Verwendung ScoreTensorFlowModel(String, String, Boolean)verwendet werden kann. Die Verwendung dieser API erfordert zusätzliche NuGet-Abhängigkeiten von TensorFlow redist, siehe verknüpftes Dokument, um weitere Informationen zu finden. TensorFlowModel enthält auch Verweise auf nicht verwaltete Ressourcen, die entweder mit einem expliziten Aufruf von Dispose() oder implizit durch Deklarieren der Variable mit der Syntax "using" freigegeben werden müssen/>

LoadTensorFlowModel(ModelOperationsCatalog, String, Boolean)

Laden Sie das TensorFlow-Modell in den Arbeitsspeicher. Dies ist die Komfortmethode, mit der das Modell einmal geladen und anschließend zum Abfragen von Schema und Erstellung der TensorFlowEstimator Verwendung ScoreTensorFlowModel(String, String, Boolean)verwendet werden kann. Die Verwendung dieser API erfordert zusätzliche NuGet-Abhängigkeiten von TensorFlow redist, siehe verknüpftes Dokument, um weitere Informationen zu finden. TensorFlowModel enthält auch Verweise auf nicht verwaltete Ressourcen, die entweder mit einem expliziten Aufruf von Dispose() oder implizit durch Deklarieren der Variable mit der Syntax "using" freigegeben werden müssen/>

Gilt für:

Weitere Informationen