¡El Día de la Comunidad de ML es el 9 de noviembre! Únase a nosotros para recibir actualizaciones de TensorFlow, JAX, y más Más información

Configuración del análisis del modelo de Tensorflow

Configuración

TFMA almacena su configuración en un proto que se serializa en JSON. Este protocolo consolida la configuración requerida para los datos de entrada, los datos de salida, las especificaciones del modelo, las especificaciones métricas y las especificaciones de corte.

Todas las tuberías de TFMA están asociadas con un modelo de línea de base (primario) y cero o más modelos candidatos (secundarios). La línea de base y el modelo candidato son definidos por el usuario al comienzo de la canalización y cada uno requiere un nombre único. Los siguientes son ejemplos de configuraciones típicas que puede usar un usuario:

  • 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, los siguientes son ajustes típicos 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 que se utiliza para las predicciones (el valor predeterminado es serving_default ). Use eval si usa un EvalSavedModel.
  • label_key : nombre de la característica asociada con la etiqueta.
  • example_weight_key : nombre de la función 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 las métricas .

Especificaciones de rebanado

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

  • {}
    • Rebanada que consta de datos generales.
  • { feature_keys: ["country"] }
    • Rebanadas para todos los valores en la característica "país". Por ejemplo, podríamos obtener segmentos "country: us", "country: jp", etc.
  • { feature_values: [{key: "country", value: "us"}] }
    • Rebanada que consta de "país: nosotros".
  • { feature_keys: ["country", "city"] }
    • Rebanadas 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 ser caro).
  • { feature_keys: ["country"] feature_values: [{key: "age", value: "20"}] }
    • Sectores de todos los valores del elemento "país" cruzados con el valor "edad: 20"

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

EvalSharedModel

Además de los valores 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 puede usarse para crear una instancia predeterminada dada una ruta y un conjunto de etiquetas.