TensorflowCatalog Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Dies TensorFlowTransformer wird in den folgenden zwei Szenarien verwendet.
- Bewertung mit vortrainiertem TensorFlow-Modell : In diesem Modus extrahiert die Transformation ausgeblendete Layerwerte aus einem vortrainierten Tensorflow-Modell und verwendet Ausgaben als Features in ML.Net Pipeline.
- Umschulung des TensorFlow-Modells : In diesem Modus trainiert die Transformation ein TensorFlow-Modell mithilfe der Benutzerdaten, die über ML.Net Pipeline übergeben werden. 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 mit einem vortrainierten Tensorflow-Modell . Optional kann es das TensorFlow-Modell für Benutzerdaten weiter neu trainieren, 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. Zur Umschulung erfordert die Transformation auch schulungsbezogene Parameter wie die Namen des Optimierungsvorgangs im TensorFlow-Diagramm, den Namen des Lernrate-Vorgangs im Diagramm und seinen Wert, den Namen der Vorgänge im Diagramm zum Berechnen von Verlust und Leistungsmetrik usw.
Für diese Transformation muss das nuget Microsoft.ML.TensorFlow installiert werden. Der TensorFlowTransform hat die folgenden Annahmen hinsichtlich Eingabe, Ausgabe, Verarbeitung von Daten und Umschulung.
- Für das Eingabemodell unterstützt tensorFlowTransform derzeit sowohl das Frozen-Modellformat als auch das SavedModel-Format . Eine 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 Umschulung aufgrund fehlender TensorFlow-C-API-Unterstützung zum Laden unterstützt.
- Die Transformation unterstützt die Bewertung nur jeweils eines Beispiels. Eine Umschulung kann jedoch in Batches durchgeführt werden.
- Erweiterte Lern-/Feinabstimmungsszenarien (z. B. Hinzufügen weiterer Ebenen in das Netzwerk, Ändern der Form der Eingaben, Einfrieren der Schichten, 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.
- Der Name der Eingabespalten sollte mit dem Namen der Eingabe(n) im TensorFlow-Modell übereinstimmen.
- Der Name jeder Ausgabespalte sollte mit einem der Vorgänge im TensorFlow-Diagramm übereinstimmen.
- Derzeit sind double, float, long, int, short, sbyte, ulong, uint, ushort, byte und bool die zulässigen Datentypen für Eingabe/Ausgabe.
- Bei Erfolg führt die Transformation eine neue Spalte entsprechend IDataView jeder angegebenen Ausgabespalte ein.
Die Eingaben und Ausgaben eines TensorFlow-Modells können mit den GetModelSchema() Tools oder summarize_graph abgerufen werden.
Methoden
| Name | Beschreibung |
|---|---|
| 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. Für die Verwendung dieser API sind zusätzliche NuGet-Abhängigkeiten von TensorFlow-Redist erforderlich. Weitere Informationen finden Sie im verknüpften Dokument. TensorFlowModel enthält auch Verweise auf nicht verwaltete Ressourcen, die entweder mit einem expliziten Aufruf von Dispose() freigegeben werden müssen, oder implizit durch Deklarieren der Variablen mit der "using"-Syntax/> <format type="text/markdown"> [!include[io](~/.). /docs/samples/docs/api-reference/tensorflow-usage.md)] </format> |
| 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. Für die Verwendung dieser API sind zusätzliche NuGet-Abhängigkeiten von TensorFlow-Redist erforderlich. Weitere Informationen finden Sie im verknüpften Dokument. TensorFlowModel enthält auch Verweise auf nicht verwaltete Ressourcen, die entweder mit einem expliziten Aufruf von Dispose() freigegeben werden müssen, oder implizit durch Deklarieren der Variablen mit der "using"-Syntax/> <format type="text/markdown"> [!include[io](~/.). /docs/samples/docs/api-reference/tensorflow-usage.md)] </format> |