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

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

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