Как предварительно обработать последовательные функции для RNN с помощью Tensorflow Transform TFX? - PullRequest
0 голосов
/ 25 января 2019

RNN обучаются на последовательностях, которые могут быть различной длины.Размерность одного последовательного элемента составляет (batch_size, time_steps, 1).

В рамках предварительной обработки иногда мне требуется масштабировать эту функцию.Например, я хотел бы нормализовать его, используя tft.scale_to_z_score.

Моя цель заключается в следующем:

  1. Чтение словарей с переменной длиной, например, d = { 'sequential_feature' : [1,2,3,4,5] }, d = { 'sequential_feature' : [15, 4] }, и предварительная обработка их с использованием preprocessing_fn.

  2. Анализировать и преобразовывать данные для записи transform_fn и записывать записи TF.

  3. Преобразовать необработанные словари, например, d = { 'sequential_feature' : [20,40] }, применяя это transform_fn при обслуживании, в режиме реального времени, производственных данных.


Я попытался определить схему, используя:

RAW_DATA_FEATURE_SPEC['sequential_feature'] = tf.FixedLenFeature(shape=[1], dtype=tf.float32)
RAW_DATA_METADATA = dataset_metadata.DatasetMetadata(
                      dataset_schema.from_feature_spec(RAW_DATA_FEATURE_SPEC))

Однако я получаюошибка, связанная с тем, что `DatasetSchema еще не поддерживает 'FixedLenSequenceFeature.'

Я пытался использовать FixedLenFeature() вместо FixedLenSequenceFeature(), и я получаю сообщение об ошибке:

ValueError: Cannotзначение подачи формы (1, 21) для Tensor u'transform / input / sequence_feature: 0 ', которая имеет форму' (?, 100) '[во время выполнения AnalyzeAndTransformDataset / AnalyzeDataset / RunPhase [0] / ComputeAnalyzerInputs']

И, наконец, если я использую VarLenFeature(), я не могу выполнить шаг (3) выше, и я получаю эту проблему .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...