Configuración del análisis del modelo Tensorflow

Configuración

TFMA almacena su configuración en un protocolo serializado en JSON. Este prototipo consolida la configuración requerida para datos de entrada, datos de salida, especificaciones de modelo, especificaciones métricas y especificaciones de corte.

Todos los canales de TFMA están asociados con un modelo de referencia (primario) y cero o más modelos candidatos (secundarios). El usuario define la línea base y el modelo candidato al inicio del proceso y cada uno requiere un nombre único. Los siguientes son ejemplos de configuraciones típicas que un usuario puede usar:

  • Evaluación de modelo único:
    • N/A (es decir, sin nombre)
  • Evaluación basada en validación:
    • baseline
    • candidate
  • Evaluación de comparación de modelos:
    • my_model_a
    • my_model_b

Especificaciones del modelo

Las especificaciones del modelo son de tipo tfma.ModelSpec y se utilizan para definir la ubicación de un modelo, así como otros parámetros específicos del modelo. Por ejemplo, las siguientes son configuraciones típicas que deberían configurarse antes de ejecutar una evaluación:

  • name : nombre del modelo (si se utilizan varios modelos)
  • signature_name : nombre de la firma utilizada para las predicciones (el valor predeterminado es serving_default ). Utilice eval si utiliza un EvalSavedModel.
  • label_key : nombre de la característica asociada con la etiqueta.
  • example_weight_key : nombre de la característica asociada con el peso de ejemplo.

Especificaciones de métricas

Las especificaciones de métricas son de tipo tfma.MetricsSpec y se utilizan para configurar las métricas que se calcularán como parte de la evaluación. Los diferentes problemas de aprendizaje automático utilizan diferentes tipos de métricas y TFMA ofrece muchas opciones para configurar y personalizar las métricas que se calculan. Dado que las métricas son una parte muy importante de TFMA, se analizan en detalle por separado en métricas .

Especificaciones de corte

Las especificaciones de corte son de tipo tfma.SlicingSpec y se usan para configurar los criterios de corte que se usarán durante la evaluación. La división se puede realizar mediante feature_keys , feature_values ​​o ambos. Algunos ejemplos de especificaciones de corte son los siguientes:

  • {}
    • Sector que consta de datos generales.
  • { feature_keys: ["country"] }
    • Sectores para todos los valores en la función "país". Por ejemplo, podríamos obtener sectores "país:us", "país:jp", etc.
  • { feature_values: [{key: "country", value: "us"}] }
    • Sector que consta de "país:nosotros".
  • { feature_keys: ["country", "city"] }
    • Porciones de todos los valores de la característica "país" cruzadas con todos los valores de la característica "ciudad" (tenga en cuenta que esto puede resultar costoso).
  • { feature_keys: ["country"] feature_values: [{key: "age", value: "20"}] }
    • Sectores de todos los valores de la característica "país" cruzados con el valor "edad: 20"

Tenga en cuenta que las claves de funciones pueden ser funciones transformadas o funciones de entrada sin formato. Consulte tfma.SlicingSpec para obtener más información.

EvaluaciónCompartidaModelo

Además de los ajustes de configuración, TFMA también requiere que se cree una instancia de tfma.EvalSharedModel para compartir un modelo entre varios subprocesos en el mismo proceso. La instancia de modelo compartido incluye información sobre el tipo de modelo (keras, etc.) y cómo cargar y configurar el modelo desde su ubicación guardada en el disco (por ejemplo, etiquetas, etc.). La API tfma.default_eval_shared_model se puede utilizar para crear una instancia predeterminada dada una ruta y un conjunto de etiquetas.