如何正确使用形状未知的TensorFlow数据集API?

Tomergt45

我已经尝试了几个小时才能成功完成此任务。

我有一个非常大的数据集,它由以下结构组成: 在此处输入图片说明

我想tf.to_categorical使用tf.data.DatasetAPI将数据拆分为X和Y(然后将Y传递给,但是不幸的是,我每次尝试使用它的尝试都以某种错误告终。

如何使用tf.data.Dataset

  1. 将每一行拆分为x和y。
  2. 用将Y转换为分类tf.to_categorical
  3. 将数据集分成批次。
  4. 向我的模型提供数据集。

我目前的尝试:

def map_sequence():
    for sequence in input_sequences:
        yield sequence[:-1], keras.utils.to_categorical(sequence[-1], total_words)

dataset = tf.data.Dataset.from_generator(map_sequence,
                                        (tf.int32, tf.int32),
                                        (tf.TensorShape(title_length-1), tf.TensorShape(total_words)))

但是,当我尝试使用以下代码训练模型时:

inputs = keras.layers.Input(shape=(title_length-1, ))

x = keras.layers.Embedding(total_words, 32)(inputs)
x = keras.layers.Bidirectional(keras.layers.LSTM(64, return_sequences=True))(x)
x = keras.layers.Bidirectional(keras.layers.LSTM(64))(x)
predictions = keras.layers.Dense(total_words, activation='softmax')(x)

model = keras.Model(inputs=inputs, outputs=predictions)
model.compile('Adam', 'categorical_crossentropy', metrics=['acc'])
model.fit(dataset)

我收到此错误: ValueError: Shapes (32954, 1) and (65, 32954) are incompatible

Jdehesa

我认为您有一个与此问题类似的问题Keras期望您给出的用于生产批次的数据集,而不是单个示例。由于您一次给它两个一维向量,因此Keras解释说,每个向量都是一批具有一个特征的示例。因此,X具有65个元素的数据将被解释为一批具有单个特征(65x1张量)的65个示例。这样可以将批量大小固定为65。模型的输出将具有65x32,954的形状(我假设是的值total_words)。但是Y,具有32,954个元素的向量再次被解释为一批具有一个特征(32,954x1张量)的32,954。这两件事不匹配,因此出现错误。您只需通过使用batch在传递给之前fit

无论如何,如果您input_sequences似乎是一个NumPy数组,则生成数据集的方法并不是很好,因为使用生成器会非常慢。这是执行此操作的更好方法:

def map_sequence(sequence):
    # Using tf.one_hot instead of keras.utils.to_categorical
    # because we are working with TensorFlow tensors now
    return sequence[:-1], tf.one_hot(sequence[-1], total_words)

dataset = tf.data.Dataset.from_tensor_slices(input_sequences)
dataset = dataset.map(map_sequence)
dataset = dataset.batch(batch_size)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类常见问题

如何正确组合TensorFlow的数据集API和Keras?

来自分类Dev

如何使用Patsy的API准备大型数据集?

来自分类Dev

查询Tensorflow数据集的结构-行,列,形状

来自分类Dev

tf.data.dataset:如何为保证输出某些形状的数据集(形状未定义)分配形状?

来自分类Dev

如何使用Tensorflow数据集进行CNN模型训练

来自分类Dev

如何使用Tensorflow数据集进行CNN模型训练

来自分类Dev

无法使用Tensorflow数据集拆分疟疾数据集

来自分类Dev

如何使用TensorFlow确定未知数组到数组函数?

来自分类Dev

如何在TensorFlow中使用我自己的数据将图像分为测试集和训练集

来自分类Dev

如何使用Torchvision的导入数据集访问MNIST数据的各个数据点并从火车组对象检查其大小,形状等

来自分类Dev

如何正确批处理图像的张量流数据集形状

来自分类Dev

如何在C ++中正确使用并集?

来自分类Dev

如何在tensorflow2中制作这样的数据集:<PrefetchDataset形状:((),()),类型:(tf.string,tf.string)>

来自分类Dev

如何使用INRIA数据集正确测试我的准确性

来自分类Dev

如何使用Patsy的API准备大型数据集?

来自分类Dev

如何正确通知数据网格其数据集已过时?

来自分类Dev

如何使用数据集的列

来自分类Dev

Tensorflow-如何使用全批次的 MNIST 数据集?

来自分类Dev

Tensorflow 形状不正确

来自分类Dev

每次使用 TensorFlow 训练 CNN(MNIST 数据集)时,如何获得相同的损失值?

来自分类Dev

在 Tensorflow 中获取未知张量的形状

来自分类Dev

TensorFlow 数据集 API 解析错误

来自分类Dev

使用 UCI 数据集处理 Tensorflow 数据

来自分类Dev

Tensorflow 数据集 api 问题

来自分类Dev

如何从 npy 文件中读取数据作为 TensorFlow 数据集

来自分类Dev

如何获得 Tensorflow 形状

来自分类Dev

Tensorflow 数据集使用

来自分类Dev

如何在 Tensorflow 中使用张量生成数据集

来自分类Dev

如何使用 Chart.js 在图表上正确显示数据集

Related 相关文章

  1. 1

    如何正确组合TensorFlow的数据集API和Keras?

  2. 2

    如何使用Patsy的API准备大型数据集?

  3. 3

    查询Tensorflow数据集的结构-行,列,形状

  4. 4

    tf.data.dataset:如何为保证输出某些形状的数据集(形状未定义)分配形状?

  5. 5

    如何使用Tensorflow数据集进行CNN模型训练

  6. 6

    如何使用Tensorflow数据集进行CNN模型训练

  7. 7

    无法使用Tensorflow数据集拆分疟疾数据集

  8. 8

    如何使用TensorFlow确定未知数组到数组函数?

  9. 9

    如何在TensorFlow中使用我自己的数据将图像分为测试集和训练集

  10. 10

    如何使用Torchvision的导入数据集访问MNIST数据的各个数据点并从火车组对象检查其大小,形状等

  11. 11

    如何正确批处理图像的张量流数据集形状

  12. 12

    如何在C ++中正确使用并集?

  13. 13

    如何在tensorflow2中制作这样的数据集:<PrefetchDataset形状:((),()),类型:(tf.string,tf.string)>

  14. 14

    如何使用INRIA数据集正确测试我的准确性

  15. 15

    如何使用Patsy的API准备大型数据集?

  16. 16

    如何正确通知数据网格其数据集已过时?

  17. 17

    如何使用数据集的列

  18. 18

    Tensorflow-如何使用全批次的 MNIST 数据集?

  19. 19

    Tensorflow 形状不正确

  20. 20

    每次使用 TensorFlow 训练 CNN(MNIST 数据集)时,如何获得相同的损失值?

  21. 21

    在 Tensorflow 中获取未知张量的形状

  22. 22

    TensorFlow 数据集 API 解析错误

  23. 23

    使用 UCI 数据集处理 Tensorflow 数据

  24. 24

    Tensorflow 数据集 api 问题

  25. 25

    如何从 npy 文件中读取数据作为 TensorFlow 数据集

  26. 26

    如何获得 Tensorflow 形状

  27. 27

    Tensorflow 数据集使用

  28. 28

    如何在 Tensorflow 中使用张量生成数据集

  29. 29

    如何使用 Chart.js 在图表上正确显示数据集

热门标签

归档