我将代码(直到迭代部分)包括在Colab笔记本here中。
我将数据这样输入到train_dataset中。
batch_size = 30
train_dataset = tf.data.Dataset.from_tensor_slices((x_train, y_train))
train_dataset = (
train_dataset.map(encode_single_sample, num_parallel_calls=tf.data.experimental.AUTOTUNE)
.batch(batch_size) #this one gives the error
.prefetch(buffer_size=tf.data.experimental.AUTOTUNE))
我得到一个 InvalidArgumentError:无法将张量添加到批处理中:元素数量不匹配。当我遍历数据集时,形状为:[张量]:[78],[批处理]:[34] :
for batch in train_dataset.take(1): #error while iterating
上面的.batch(batch_size)给出了错误。
我注意到每次我再次运行代码时,错误消息中的[tensor]和[batch]数字都会改变。
当我将batch_size更改为1时,代码将运行,但我也希望能够对其进行更改。 如果有人可以调试此部分,将不胜感激
编辑1:我正在关注Keras的OCR教程here,并且它们的代码运行得很好。