Configuración
TFMA almacena su configuración en un proto que se serializa a 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). El modelo de línea de base y candidato los define 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
Especificaciones de modelos son de tipo tfma.ModelSpec
y se utilizan para definir la ubicación de un modelo, así como otros parámetros de modelo específicos. Por ejemplo, las siguientes son configuraciones típicas que deberían configurarse antes de ejecutar una evaluación:
-
name
- nombre del modelo (si hay varios modelos utilizados) -
signature_name
- nombre de la firma utilizada para las predicciones (por defecto esserving_default
). Utilizareval
si se utiliza un EvalSavedModel. -
label_key
- nombre de la característica asociada con la etiqueta. -
example_weight_key
- nombre de la característica assocated con el peso ejemplo.
Especificaciones de métricas
Especificaciones métricas son de tipo tfma.MetricsSpec
y se utilizan para configurar las métricas que se calculará 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 grande de TFMA, que se discuten en detalle por separado en las métricas .
Especificaciones de rebanado
Especificaciones de cortado son de tipo tfma.SlicingSpec
y se utilizan para configurar los criterios de rebanadas que se utilizarán durante la evaluación. Rebanar puede hacerse ya sea por 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 costoso).
-
{ 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. Ver tfma.SlicingSpec
para más información.
EvalSharedModel
Además de los ajustes de configuración, TFMA también requiere que una instancia de un tfma.EvalSharedModel
ser creado para compartir un modelo entre múltiples hilos 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.). El tfma.default_eval_shared_model
API se puede utilizar para crear una instancia predeterminada dada una trayectoria y un conjunto de etiquetas.