Конфигурация
TFMA сохраняет свою конфигурацию в прото , что сериализации в JSON. Этот протокол объединяет конфигурацию, необходимую для входных данных, выходных данных, спецификаций модели, метрических спецификаций и спецификаций срезов.
Все конвейеры TFMA связаны с базовой (первичной) моделью и нулевым или несколькими кандидатами (вторичными) моделями. Базовая модель и модель-кандидат определяются пользователем в начале конвейера, и для каждой требуется уникальное имя. Ниже приведены примеры типичных настроек конфигурации, которые может использовать пользователь:
- Оценка единой модели:
- N / A (т.е. без названия)
- Оценка на основе валидации:
-
baseline
-
candidate
-
- Оценка сравнения моделей:
-
my_model_a
-
my_model_b
-
Характеристики модели
Модель спецификации типа tfma.ModelSpec
и используются для определения местоположения модели, а также другие параметры модели конкретных. Например, следующие типичные параметры должны быть настроены перед запуском оценки:
-
name
- название модели (если несколько моделей используются) -
signature_name
- имя подписи , используемой для предсказания ( по умолчаниюserving_default
). Использованиеeval
при использовании EvalSavedModel. -
label_key
- имя функции , связанной с этикеткой. -
example_weight_key
- имя функции assocated с примерном весом.
Характеристики показателей
Метрики спецификация типа tfma.MetricsSpec
и используется для настройки метрики , которые будут рассчитаны как часть оценки. В различных задачах машинного обучения используются разные типы метрик, и TFMA предлагает множество вариантов для настройки и настройки вычисляемых метрик. Поскольку показатели являются очень большой частью TFMA, они подробно обсуждаются отдельно в метриках .
Характеристики нарезки
Нарезные спецификации типа tfma.SlicingSpec
и используются для настройки критериев срезов , которые будут использоваться в процессе оценки. Нарезка может быть сделано либо feature_keys
, feature_values
, или обоих. Вот некоторые примеры спецификаций нарезки:
-
{}
- Срез, состоящий из общих данных.
-
{ feature_keys: ["country"] }
- Срезы для всех значений признака "страна". Например, мы можем получить фрагменты «country: us», «country: jp» и т. Д.
-
{ feature_values: [{key: "country", value: "us"}] }
- Срез, состоящий из «страна: нас».
-
{ feature_keys: ["country", "city"] }
- Срезы для всех значений в объекте «страна» пересекаются со всеми значениями в объекте «город» (обратите внимание, что это может быть дорого).
-
{ feature_keys: ["country"] feature_values: [{key: "age", value: "20"}] }
- Срезы для всех значений в объекте "страна" пересекаются со значением "возраст: 20".
Обратите внимание, что функциональные ключи могут быть либо преобразованными, либо необработанными входными объектами. См tfma.SlicingSpec
для получения дополнительной информации.
EvalSharedModel
В дополнении к настройке конфигурации, TFMA также требует , чтобы экземпляр tfma.EvalSharedModel
быть создан для совместного использования модели между несколькими потоками в одном процессе. Экземпляр совместно используемой модели включает в себя информацию о типе модели (керасы и т. Д.), А также о том, как загрузить и настроить модель из ее сохраненного места на диске (например, тегов и т. Д.). tfma.default_eval_shared_model
API может быть использован для создания экземпляра по умолчанию заданного пути и набору тегов.