Некоторые компоненты 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 .