Sdílet prostřednictvím


TensorflowCatalog Třída

Definice

Používá se TensorFlowTransformer v následujících dvou scénářích.

  1. Bodování pomocí předem natrénovaného modelu TensorFlow : V tomto režimu transformace extrahuje hodnoty skrytých vrstev z předem natrénovaného modelu Tensorflow a používá výstupy jako funkce v kanálu ML.Net.
  2. Přetrénování modelu TensorFlow : V tomto režimu transformace přetrénuje model TensorFlow pomocí uživatelských dat předávaných prostřednictvím kanálu ML.Net. Jakmile je model vytrénovaný, můžete ho použít jako funkce pro vyhodnocování.
public static class TensorflowCatalog
type TensorflowCatalog = class
Public Module TensorflowCatalog
Dědičnost
TensorflowCatalog

Poznámky

TensorFlowTransform extrahuje zadané výstupy pomocí předem natrénovaného modelu Tensorflow . Volitelně může model TensorFlow dále přetrénovat na uživatelských datech, aby upravil parametry modelu na uživatelských datech (také označované jako "Transfer Learning").

Pro bodování transformace přebírá jako vstupy předem natrénovaný model Tensorflow, názvy vstupních uzlů a názvy výstupních uzlů, jejichž hodnoty chceme extrahovat. Pro opětovné trénování transformace také vyžaduje trénování souvisejících parametrů, jako jsou názvy operace optimalizace v grafu TensorFlow, název operace četnosti učení v grafu a jeho hodnota, název operací v grafu pro výpočet ztráty a metriky výkonu atd.

Tato transformace vyžaduje instalaci nugetu Microsoft.ML.TensorFlow . TensorFlowTransform má následující předpoklady týkající se vstupu, výstupu, zpracování dat a opětovného natrénování.

  1. Pro vstupní model aktuálně TensorFlowTransform podporuje formát ukotveného modelu i formát SavedModel . Přetrénování modelu je však možné pouze pro formát SavedModel . Formát kontrolního bodu se v současné době nepodporuje pro bodování ani pro opětovné natrénování kvůli nedostatku podpory rozhraní TensorFlow C-API pro načtení.
  2. Transformace podporuje vyhodnocování pouze jednoho příkladu najednou. Přetrénování však lze provádět v dávkách.
  3. Pokročilé scénáře výuky přenosu nebo jemného ladění (například přidání dalších vrstev do sítě, změna tvaru vstupů, ukotvení vrstev, které není potřeba aktualizovat během procesu přetrénování atd.), nejsou v současné době možné kvůli nedostatku podpory pro manipulaci se sítí nebo grafy uvnitř modelu pomocí rozhraní TensorFlow C-API.
  4. Název vstupních sloupců by se měl shodovat s názvem vstupů v modelu TensorFlow.
  5. Název každého výstupního sloupce by měl odpovídat jedné z operací v grafu TensorFlow.
  6. V současné době jsou pro vstup a výstup přijatelné datové typy dvojitého typu, float, long, int, short, sbyte, ulong, uint, ushort, byte a bool.
  7. Při úspěchu transformace zavede nový sloupec odpovídající IDataView každému zadanému výstupnímu sloupci.

Vstupy a výstupy modelu TensorFlow lze získat pomocí GetModelSchema() nástrojů nebo summarize_graph .

Metody

LoadTensorFlowModel(ModelOperationsCatalog, String, Boolean)

Načtěte model TensorFlow do paměti. Jedná se o metodu pohodlí, která umožňuje načtení modelu jednou a následné použití k dotazování schématu a vytvoření TensorFlowEstimator použití ScoreTensorFlowModel(String, String, Boolean). použití tohoto rozhraní API vyžaduje další závislosti NuGet na redist TensorFlow, další informace najdete v propojeném dokumentu. TensorFlowModel obsahuje také odkazy na nespravované prostředky, které je potřeba uvolnit explicitním voláním Dispose() nebo implicitně deklarací proměnné pomocí syntaxe using/>

LoadTensorFlowModel(ModelOperationsCatalog, String)

Načtěte model TensorFlow do paměti. Jedná se o metodu pohodlí, která umožňuje načtení modelu jednou a následné použití k dotazování schématu a vytvoření TensorFlowEstimator použití ScoreTensorFlowModel(String, String, Boolean). použití tohoto rozhraní API vyžaduje další závislosti NuGet na redist TensorFlow, další informace najdete v propojeném dokumentu. TensorFlowModel obsahuje také odkazy na nespravované prostředky, které je potřeba uvolnit explicitním voláním Dispose() nebo implicitně deklarací proměnné pomocí syntaxe using/>

Platí pro

Viz také