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