Конфигурация
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
можно использовать для создания экземпляра по умолчанию с учетом пути и набора тегов.