TFX предназначен для предварительной обработки данных
Я хотел бы получить некоторую информацию о том, как использовать TFX, если мой подход был правильным. Моя конечная цель состояла в том, чтобы сделать некоторые прогнозы для необработанного потока последовательных данных, которые требовали некоторой предварительной обработки.
Обычно у нас есть текущие задания, выполняющие базовый анализ, такой как управление окнами, группировка и вычислительная статистика. Однако мысль состояла в том, чтобы переместить эти конвейеры в луч и заставить TFX использовать эти компоненты луча для дальнейших вычислений.
Это оказалось довольно сложной задачей, поскольку компоненты TFX имеют строгий API и ожидают, что все промежуточные данные будут TFRecords.
Поэтому мой вопрос заключается в том, стремится ли TFX обрабатывать всю логику предварительной обработки (группирование, управление окнами и т. Д.) Или это больше для инженерии данных?
0 ответов
TFX предназначен для обработки всей логики предварительной обработки. Ваше требование может быть выполнено встроенными функциями Tensorflow Transform. Некоторые из них показаны ниже:
tft.bucketize, tft.compute_and_apply_vocabulary, tft.pca, tft.scale_to_z_score, etc..
Да, компоненты TFX (особенно TF Transform) ожидают, что все промежуточные данные будут TF.Example
формат. И есть простые способы конвертировать наш набор данных в этот формат.
Код для преобразования данных CSV в TF.Example
показано ниже:
from tfx.utils.dsl_utils import csv_input
from tfx.components.example_gen.csv_example_gen.component import CsvExampleGen
examples = csv_input(os.path.join(base_dir, 'data/simple'))
example_gen = CsvExampleGen(input_base=examples)
Другой способ преобразования данных, которые могут быть приняты TF Transform:
converter = tft.coders.CsvCoder(ordered_columns, RAW_DATA_METADATA.schema)
Для получения дополнительной информации обратитесь по ссылкам,