Udostępnij za pośrednictwem


TensorflowCatalog Klasa

Definicja

Element TensorFlowTransformer jest używany w następujących dwóch scenariuszach.

  1. Ocenianie przy użyciu wstępnie wytrenowanego modelu TensorFlow : w tym trybie transformacja wyodrębnia wartości ukrytych warstw z wstępnie wytrenowanego modelu Tensorflow i używa danych wyjściowych jako funkcji w potoku ML.Net.
  2. Ponowne trenowanie modelu TensorFlow : w tym trybie przekształcenie ponownie szkoli model TensorFlow przy użyciu danych użytkownika przekazywanych przez potok ML.Net. Po wytrenowanym modelu dane wyjściowe mogą być używane jako funkcje do oceniania.
public static class TensorflowCatalog
type TensorflowCatalog = class
Public Module TensorflowCatalog
Dziedziczenie
TensorflowCatalog

Uwagi

TensorFlowTransform wyodrębnia określone dane wyjściowe przy użyciu wstępnie wytrenowanego modelu Tensorflow . Opcjonalnie można dodatkowo ponownie wytrenować model TensorFlow na danych użytkownika, aby dostosować parametry modelu na danych użytkownika (znane również jako "Transfer Learning").

W przypadku oceniania przekształcenie przyjmuje jako dane wejściowe wstępnie wytrenowanego modelu Tensorflow, nazwy węzłów wejściowych i nazwy węzłów wyjściowych, których wartości chcemy wyodrębnić. W przypadku ponownego trenowania transformacja wymaga również parametrów związanych z trenowaniem, takich jak nazwy operacji optymalizacji na grafie TensorFlow, nazwa operacji uczenia w grafie i jej wartość, nazwa operacji na grafie, aby metryka utraty obliczeń i wydajności itp.

Ta transformacja wymaga zainstalowania nuget Microsoft.ML.TensorFlow . TensorFlowTransform ma następujące założenia dotyczące danych wejściowych, wyjściowych, przetwarzania danych i ponownego trenowania.

  1. Obecnie model wejściowy TensorFlowTransform obsługuje zarówno format modelu Frozen , jak i format SavedModel . Jednak ponowne trenowanie modelu jest możliwe tylko w przypadku formatu SavedModel . Format punktu kontrolnego nie jest obecnie obsługiwany w przypadku oceniania ani ponownego trenowania z powodu braku obsługi interfejsu C-API biblioteki TensorFlow do załadowania go.
  2. Przekształcenie obsługuje ocenianie tylko jednego przykładu naraz. Jednak ponowne trenowanie może być wykonywane w partiach.
  3. Zaawansowane scenariusze uczenia transferowego/dostrajania szczegółowego (np. dodawanie kolejnych warstw do sieci, zmienianie kształtu danych wejściowych, zamrażanie warstw, które nie muszą być aktualizowane podczas procesu ponownego trenowania itp.) nie są obecnie możliwe z powodu braku obsługi manipulowania siecią/grafem wewnątrz modelu przy użyciu interfejsu C-API tensorFlow.
  4. Nazwa kolumn wejściowych powinna być zgodna z nazwą danych wejściowych w modelu TensorFlow.
  5. Nazwa każdej kolumny wyjściowej powinna być zgodna z jedną z operacji na grafie TensorFlow.
  6. Obecnie podwójne, float, long, int, short, sbyte, ulong, uint, ushort, byte i bool to dopuszczalne typy danych dla danych wejściowych/wyjściowych.
  7. Po powodzeniu przekształcenie wprowadzi nową kolumnę odpowiadającą IDataView każdej określonej kolumnie wyjściowej.

Dane wejściowe i wyjściowe modelu TensorFlow można uzyskać przy użyciu GetModelSchema() narzędzi lub summarize_graph .

Metody

LoadTensorFlowModel(ModelOperationsCatalog, String)

Załaduj model TensorFlow do pamięci. Jest to metoda wygody, która umożliwia załadowanie modelu raz, a następnie użycie go do wykonywania zapytań dotyczących schematu TensorFlowEstimator i tworzenia przy użyciu polecenia ScoreTensorFlowModel(String, String, Boolean). Użycie tego interfejsu API wymaga dodatkowych zależności NuGet dla redystrybucyjności biblioteki TensorFlow. Aby uzyskać więcej informacji, zobacz połączony dokument. TensorFlowModel Zawiera również odwołania do niezarządzanych zasobów, które należy zwolnić za pomocą jawnego wywołania metody Dispose() lub niejawnie przez zadeklarowanie zmiennej za pomocą składni "using" />

LoadTensorFlowModel(ModelOperationsCatalog, String, Boolean)

Załaduj model TensorFlow do pamięci. Jest to metoda wygody, która umożliwia załadowanie modelu raz, a następnie użycie go do wykonywania zapytań dotyczących schematu TensorFlowEstimator i tworzenia przy użyciu polecenia ScoreTensorFlowModel(String, String, Boolean). Użycie tego interfejsu API wymaga dodatkowych zależności NuGet dla redystrybucyjności biblioteki TensorFlow. Aby uzyskać więcej informacji, zobacz połączony dokument. TensorFlowModel Zawiera również odwołania do niezarządzanych zasobów, które należy zwolnić za pomocą jawnego wywołania metody Dispose() lub niejawnie przez zadeklarowanie zmiennej za pomocą składni "using" />

Dotyczy

Zobacz też