TensorflowCatalog Classe

Definizione

Viene TensorFlowTransformer usato in due scenari seguenti.

  1. Assegnazione dei punteggi con modello TensorFlow con training preliminare: in questa modalità, la trasformazione estrae i valori dei livelli nascosti da un modello Tensorflow pre-sottoposto a training e usa gli output come funzionalità nella pipeline di ML.Net.
  2. Ripetizione del training del modello TensorFlow: in questa modalità, la trasformazione esegue nuovamente il training di un modello TensorFlow usando i dati utente passati attraverso ML.Net pipeline. Una volta eseguito il training del modello, è possibile usare gli output come funzionalità per l'assegnazione dei punteggi.
public static class TensorflowCatalog
type TensorflowCatalog = class
Public Module TensorflowCatalog
Ereditarietà
TensorflowCatalog

Commenti

TensorFlowTransform estrae gli output specificati usando un modello Tensorflow pre-sottoposto a training. Facoltativamente, può ripetere ulteriormente il training del modello TensorFlow sui dati utente per modificare i parametri del modello nei dati utente ( noto anche come "Transfer Learning").

Per l'assegnazione dei punteggi, la trasformazione accetta come input il modello Tensorflow pre-sottoposto a training, i nomi dei nodi di input e i nomi dei nodi di output i cui valori si desidera estrarre. Per il training di nuovo, la trasformazione richiede anche parametri correlati al training, ad esempio i nomi dell'operazione di ottimizzazione nel grafico TensorFlow, il nome dell'operazione di frequenza di apprendimento nel grafico e il relativo valore, il nome delle operazioni nel grafico per calcolare la perdita e la metrica delle prestazioni e così via.

Questa trasformazione richiede l'installazione del nuget Microsoft.ML.TensorFlow . TensorFlowTransform include i presupposti seguenti relativi all'input, all'output, all'elaborazione dei dati e alla ripetizione del training.

  1. Per il modello di input, attualmente TensorFlowTransform supporta sia il formato del modello Frozen che il formato SavedModel . Tuttavia, la ripetizione del training del modello è possibile solo per il formato SavedModel . Il formato checkpoint non è attualmente supportato per l'assegnazione dei punteggi né per il training a causa della mancanza di supporto per L'API TensorFlow per il caricamento.
  2. La trasformazione supporta l'assegnazione di punteggi solo un esempio alla volta. Tuttavia, è possibile eseguire nuovamente il training in batch.
  3. Gli scenari di apprendimento/ottimizzazione avanzata del trasferimento (ad esempio, l'aggiunta di più livelli nella rete, la modifica della forma degli input, il blocco dei livelli che non devono essere aggiornati durante il processo di ripetizione del training e così via) non sono attualmente possibili a causa della mancanza di supporto per la manipolazione di rete/grafico all'interno del modello usando TensorFlow C-API.
  4. Il nome delle colonne di input deve corrispondere al nome degli input nel modello TensorFlow.
  5. Il nome di ogni colonna di output deve corrispondere a una delle operazioni nel grafico TensorFlow.
  6. Attualmente, double, float, long, int, short, sbyte, ulong, uint, ushort, byte e bool sono i tipi di dati accettabili per input/output.
  7. Al termine dell'operazione, la trasformazione introduce una nuova colonna corrispondente IDataView a ogni colonna di output specificata.

Gli input e gli output di un modello TensorFlow possono essere ottenuti usando gli GetModelSchema() strumenti o summarize_graph .

Metodi

LoadTensorFlowModel(ModelOperationsCatalog, String)

Caricare il modello TensorFlow in memoria. Questo è il metodo pratico che consente al modello di essere caricato una volta e successivamente usarlo per eseguire query sullo schema e la creazione di TensorFlowEstimator usando ScoreTensorFlowModel(String, String, Boolean). l'utilizzo di questa API richiede dipendenze NuGet aggiuntive sul redist TensorFlow, vedere il documento collegato per altre informazioni. TensorFlowModel contiene anche riferimenti a risorse non gestite che devono essere liberate con una chiamata esplicita a Dispose() o in modo implicito dichiarando la variabile con la sintassi "using" />

LoadTensorFlowModel(ModelOperationsCatalog, String, Boolean)

Caricare il modello TensorFlow in memoria. Questo è il metodo pratico che consente al modello di essere caricato una volta e successivamente usarlo per eseguire query sullo schema e la creazione di TensorFlowEstimator usando ScoreTensorFlowModel(String, String, Boolean). l'utilizzo di questa API richiede dipendenze NuGet aggiuntive sul redist TensorFlow, vedere il documento collegato per altre informazioni. TensorFlowModel contiene anche riferimenti a risorse non gestite che devono essere liberate con una chiamata esplicita a Dispose() o in modo implicito dichiarando la variabile con la sintassi "using" />

Si applica a

Vedi anche