Компонент конвейера SchemaGen TFX

Некоторые компоненты TFX используют описание входных данных, называемое схемой . Схема является экземпляром Schema.proto . Он может указывать типы данных для значений признаков, должен ли признак присутствовать во всех примерах, допустимые диапазоны значений и другие свойства. Компонент конвейера SchemaGen автоматически генерирует схему, выявляя типы, категории и диапазоны на основе обучающих данных.

  • Потребляет: статистику из компонентаStatisticsGen.
  • Выдает: прототип схемы данных

Вот выдержка из прототипа схемы:

...
feature {
  name: "age"
  value_count {
    min: 1
    max: 1
  }
  type: FLOAT
  presence {
    min_fraction: 1
    min_count: 1
  }
}
feature {
  name: "capital-gain"
  value_count {
    min: 1
    max: 1
  }
  type: FLOAT
  presence {
    min_fraction: 1
    min_count: 1
  }
}
...

Следующие библиотеки TFX используют эту схему:

  • Проверка данных TensorFlow
  • Преобразование TensorFlow
  • Анализ модели TensorFlow

В типичном конвейере TFX SchemaGen генерирует схему, которая используется другими компонентами конвейера. Однако автоматически созданная схема является максимально эффективной и пытается определить только основные свойства данных. Ожидается, что разработчики проверят и изменят его по мере необходимости.

Измененную схему можно вернуть обратно в конвейер с помощью компонента ImportSchemaGen. Компонент SchemaGen для первоначального создания схемы можно удалить, и все последующие компоненты смогут использовать выходные данные ImportSchemaGen. Также рекомендуется добавить SampleValidator, используя импортированную схему, для непрерывной проверки данных обучения.

Проверка данных SchemaGen и TensorFlow

SchemaGen широко использует проверку данных TensorFlow для вывода схемы.

Использование компонента SchemaGen

Для первоначальной генерации схемы

Компонент конвейера SchemaGen обычно очень прост в развертывании и требует незначительной настройки. Типичный код выглядит так:

schema_gen = tfx.components.SchemaGen(
    statistics=stats_gen.outputs['statistics'])

Более подробная информация доступна в справочнике по API SchemaGen .

Для рассмотренного импорта схемы

Добавьте компонент ImportSchemaGen в конвейер, чтобы перенести в конвейер проверенное определение схемы.

schema_gen = tfx.components.ImportSchemaGen(
    schema_file='/some/path/schema.pbtxt')

schema_file должен представлять собой полный путь к текстовому файлу protobuf.

Более подробная информация доступна в справочнике по API ImportSchemaGen .