【问题标题】:tf.data WindowDataset flat_map gives 'dict' object has no attribute 'batch' errortf.data WindowDataset flat_map 给出 'dict' 对象没有属性 'batch' 错误
【发布时间】:2020-08-11 20:54:23
【问题描述】:

我正在尝试批量处理(batch_size, time_steps, my_data)

为什么在flat_map 步骤我得到AttributeError: 'dict' object has no attribute 'batch'

 x_train = np.random.normal(size=(60000, 768))
    token_type_ids = np.ones(shape=(len(x_train)))
    position_ids = np.random.normal(size=(x_train.shape[0], 5))

    features_ds = tf.data.Dataset.from_tensor_slices({'inputs_embeds': x_train,
                                                      'token_type_ids': token_type_ids,
                                                      'position_ids': position_ids})
    y_ds = tf.data.Dataset.from_tensor_slices(y_train)
    ds = tf.data.Dataset.zip((features_ds, y_ds))
    # result = list(ds.as_numpy_iterator())

    result_ds = ds.window(size=time_steps, shift=time_steps, stride=1, drop_remainder=True). \
        flat_map(lambda x, y: tf.data.Dataset.zip((x.batch(time_steps), y.batch(time_steps))))

知道是什么问题吗?以及如何解决?

【问题讨论】:

    标签: tensorflow tensorflow2.0 tf.data.dataset


    【解决方案1】:

    您可以将批处理添加为单独的步骤:

    x_train = np.random.normal(size=(60000, 768))
    token_type_ids = np.ones(shape=(len(x_train)))
    position_ids = np.random.normal(size=(x_train.shape[0], 5))
    
    features_ds = tf.data.Dataset.from_tensor_slices({'inputs_embeds': x_train,
                                                      'token_type_ids': token_type_ids,
                                                      'position_ids': position_ids})
    y_train = np.random.normal(size=(60000, 1))
    y_ds = tf.data.Dataset.from_tensor_slices(y_train)
    ds = tf.data.Dataset.zip((features_ds, y_ds))
    
    result_ds = ds.window(size=time_steps, shift=time_steps, stride=1, drop_remainder=True).\
        flat_map(lambda x, y: tf.data.Dataset.zip((x, y)))
    
    time_steps=3
    result_ds=result_ds.batch(time_steps)
    
    for i in result_ds.take(1):
        print(i)
    

    【讨论】:

      猜你喜欢
      • 2015-08-05
      • 1970-01-01
      • 1970-01-01
      • 2022-10-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多