Настройка анализа модели Tensorflow

Конфигурация

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