Tensorflow中的标签形状不匹配

Tensorflow中的标签形状不匹配,tensorflow,machine-learning,keras,label,reshape,Tensorflow,Machine Learning,Keras,Label,Reshape,我是tensorflow的初学者。我想建立一个简单的模型,但我得到了这个错误。 我想这是因为我不知道如何修复它。 我使用tf.data.dataset从目录文件创建数据集 这是一个数据集: 访问: 资料 --------类别1:[x.jpeg…] --------类别2:[y.png….] --------类别10:[z.jpg…] 错误: 当我想要适合模型时,这是一个错误 Train for 20943 steps Epoch 1/3 1/20943 [...........

我是tensorflow的初学者。我想建立一个简单的模型,但我得到了这个错误。 我想这是因为我不知道如何修复它。 我使用tf.data.dataset从目录文件创建数据集

这是一个数据集:

访问:

资料

  • --------类别1:[x.jpeg…]
  • --------类别2:[y.png….]
  • --------类别10:[z.jpg…]
错误: 当我想要适合模型时,这是一个错误

Train for 20943 steps
Epoch 1/3
    1/20943 [..............................] - ETA: 1:14:41
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-38-c408313d0649> in <module>
      1 model.fit(
      2   train_ds,
----> 3   epochs=3
      4 )

    
.
.
.
.

ValueError: Shape mismatch: The shape of labels (received (320,)) should equal the shape of logits except for the last dimension (received (32, 10)).
20943步的列车
纪元1/3
1/20943[……]-预计到达时间:1:14:41
---------------------------------------------------------------------------
ValueError回溯(最近一次调用上次)
在里面
1.1模型拟合(
2列火车,
---->三个时代=3
4 )
.
.
.
.
ValueError:形状不匹配:标签的形状(已接收(320,))应与Logit的形状相等,但最后一个尺寸除外(已接收(32,10))。

使用批量大小和每历元步长变量解决问题

train_ds = train_ds.map(parse_image, num_parallel_calls=AUTOTUNE)
train_ds = train_ds.cache()
train_ds = train_ds.batch(BATCH_SIZE, drop_remainder=True).repeat()
train_ds = train_ds.prefetch(buffer_size=AUTOTUNE)
训练

history = model.fit(train_ds, steps_per_epoch = train_size // BATCH_SIZE,
        epochs = EPOCHS, batch_size = BATCH_SIZE,
        validation_data = val_ds, validation_steps = val_size // BATCH_SIZE)

并已解决。

请包括您制作标签的文件名类型(它们的外观以及您希望如何使它们看起来像标签),以便我们检查哪里出了问题。非常感谢。我编辑了这个问题
history = model.fit(train_ds, steps_per_epoch = train_size // BATCH_SIZE,
        epochs = EPOCHS, batch_size = BATCH_SIZE,
        validation_data = val_ds, validation_steps = val_size // BATCH_SIZE)