TensorflowCatalog Clase

Definición

TensorFlowTransformer se usa en dos escenarios siguientes.

  1. Puntuación con el modelo tensorFlow previamente entrenado: en este modo, la transformación extrae los valores de las capas ocultas de un modelo tensorflow previamente entrenado y usa salidas como características en ML.Net canalización.
  2. Reentrenamiento del modelo de TensorFlow : en este modo, la transformación vuelve a entrenar un modelo de TensorFlow mediante los datos de usuario pasados a través de ML.Net canalización. Una vez entrenado el modelo, se pueden usar salidas como características para la puntuación.
public static class TensorflowCatalog
type TensorflowCatalog = class
Public Module TensorflowCatalog
Herencia
TensorflowCatalog

Comentarios

TensorFlowTransform extrae las salidas especificadas mediante un modelo tensorflow previamente entrenado. Opcionalmente, puede volver a entrenar el modelo de TensorFlow en los datos de usuario para ajustar los parámetros del modelo en los datos de usuario (también conocidos como "Transfer Learning").

Para la puntuación, la transformación toma como entradas el modelo tensorflow previamente entrenado, los nombres de los nodos de entrada y los nombres de los nodos de salida cuyos valores se quieren extraer. Para el reentrenamiento, la transformación también requiere parámetros relacionados con el entrenamiento, como los nombres de la operación de optimización en el gráfico de TensorFlow, el nombre de la operación de velocidad de aprendizaje en el gráfico y su valor, el nombre de las operaciones del grafo para calcular la pérdida y la métrica de rendimiento, etc.

Esta transformación requiere que se instale el nuget Microsoft.ML.TensorFlow . TensorFlowTransform tiene las siguientes suposiciones sobre la entrada, salida, procesamiento de datos y reentrenamiento.

  1. Para el modelo de entrada, actualmente TensorFlowTransform admite tanto el formato de modelo congelado como el formato SavedModel . Sin embargo, el reentrenamiento del modelo solo es posible para el formato SavedModel . El formato de punto de comprobación no se admite actualmente para la puntuación ni para el reentrenamiento debido a la falta de compatibilidad con la API de C-API de TensorFlow para cargarlo.
  2. La transformación solo admite la puntuación de un ejemplo a la vez. Sin embargo, el reentrenamiento se puede realizar en lotes.
  3. Actualmente, no es posible agregar más capas a la red, cambiar la forma de las entradas, inmovilizar las capas que no es necesario actualizar durante el proceso de reentrenamiento, etc., debido a la falta de compatibilidad con la manipulación de red o grafos dentro del modelo mediante TensorFlow C-API.
  4. El nombre de las columnas de entrada debe coincidir con el nombre de las entradas en el modelo de TensorFlow.
  5. El nombre de cada columna de salida debe coincidir con una de las operaciones del gráfico de TensorFlow.
  6. Actualmente, double, float, long, int, short, sbyte, ulong, uint, ushort, byte y bool son los tipos de datos aceptables para la entrada y salida.
  7. Tras la operación correcta, la transformación introducirá una nueva columna en IDataView correspondiente a cada columna de salida especificada.

Las entradas y salidas de un modelo de TensorFlow se pueden obtener mediante las GetModelSchema() herramientas o summarize_graph .

Métodos

LoadTensorFlowModel(ModelOperationsCatalog, String)

Cargue el modelo de TensorFlow en memoria. Este es el método de conveniencia que permite cargar el modelo una vez y usarlo posteriormente para consultar el esquema y la creación de TensorFlowEstimator mediante ScoreTensorFlowModel(String, String, Boolean). el uso de esta API requiere dependencias de NuGet adicionales en TensorFlow redist, consulte el documento vinculado para obtener más información. TensorFlowModel también contiene referencias a recursos no administrados que deben liberarse con una llamada explícita a Dispose() o implícitamente declarando la variable con la sintaxis "using" />

LoadTensorFlowModel(ModelOperationsCatalog, String, Boolean)

Cargue el modelo de TensorFlow en memoria. Este es el método de conveniencia que permite cargar el modelo una vez y usarlo posteriormente para consultar el esquema y la creación de TensorFlowEstimator mediante ScoreTensorFlowModel(String, String, Boolean). el uso de esta API requiere dependencias de NuGet adicionales en TensorFlow redist, consulte el documento vinculado para obtener más información. TensorFlowModel también contiene referencias a recursos no administrados que deben liberarse con una llamada explícita a Dispose() o implícitamente declarando la variable con la sintaxis "using" />

Se aplica a

Consulte también