如何使用Tensorflow Transform TFX预处理RNN的顺序特征?

时间:2019-01-25 16:17:55

标签: tensorflow tensorflow-serving tensorflow-transform

在可具有不同长度的序列上训练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:无法为张量输入形状(1、21)的值   u'transform / inputs / sequence_feature:0',其形状为'(?,100)'[while   跑步   'AnalyzeAndTransformDataset / AnalyzeDataset / RunPhase [0] / ComputeAnalyzerInputs']

最后,如果我使用VarLenFeature(),则无法执行上面的步骤(3)和I get this problem

0 个答案:

没有答案