Numpy 实验Tensorflow数据集的形状问题

Numpy 实验Tensorflow数据集的形状问题,numpy,tensorflow,dataset,reshape,Numpy,Tensorflow,Dataset,Reshape,我正在尝试将numpy数组存储在Tensorflow数据集中。当使用numpy数组作为训练和测试数据时,该模型能够正确拟合,但当我将numpy数组存储在单个Tensorflow数据集中时,该模型就不能正确拟合。问题在于数据集的维度。尽管形状乍一看似乎还不错,但还是有问题 在尝试了多种方法来重塑Tensorflow数据集之后,我仍然无法让它正常工作。我的代码如下: train_x.shape Out[54]: (7200, 40) train_y.shape Out[55]: (7200,) d

我正在尝试将numpy数组存储在Tensorflow数据集中。当使用numpy数组作为训练和测试数据时,该模型能够正确拟合,但当我将numpy数组存储在单个Tensorflow数据集中时,该模型就不能正确拟合。问题在于数据集的维度。尽管形状乍一看似乎还不错,但还是有问题

在尝试了多种方法来重塑Tensorflow数据集之后,我仍然无法让它正常工作。我的代码如下:

train_x.shape 
Out[54]: (7200, 40)
train_y.shape
Out[55]: (7200,)
dataset = tf.data.Dataset.from_tensor_slices((x,y))
print(dataset)
Out[56]: <TensorSliceDataset shapes: ((40,), ()), types: (tf.int32, tf.int32)>
model.compile(optimizer=optimizer, loss='sparse_categorical_crossentropy')
history = model.fit(dataset, epochs=EPOCHS, batch_size=256)

    sparse_softmax_cross_entropy_with_logits
        logits.get_shape()))
    ValueError: Shape mismatch: The shape of labels (received (1,)) should equal the shape of logits except for the last dimension (received (40, 1351)).
train_x.shape
Out[54]:(7200,40)
列车y形
Out[55]:(7200,)
dataset=tf.data.dataset.from_张量_切片((x,y))
打印(数据集)
出[56]:
compile(优化器=优化器,loss='sparse\u categorical\u crossentropy')
历史=模型.fit(数据集,历代=历代,批量大小=256)
稀疏\u softmax\u交叉\u熵\u与逻辑
logits.get_shape())
ValueError:形状不匹配:标签的形状(已接收(1,))应与Logit的形状相等,但最后一个尺寸除外(已接收(401351))。

我见过,但我肯定这不适用于这里。我必须使用稀疏的分类熵。我希望将列车和测试数据存储在Tensorflow数据集中,这启发了我自己。我还想将数组存储在数据集中,因为我以后将不得不使用它。

在使用
tf.data.dataset
时,不能将
batch\u size
model.fit()一起使用。而是使用
tf.data.Dataset.batch()
。您必须按如下方式更改代码才能使其正常工作

import numpy as np
import tensorflow as tf

# Some toy data
train_x = np.random.normal(size=(7200, 40))
train_y = np.random.choice([0,1,2], size=(7200))

dataset = tf.data.Dataset.from_tensor_slices((train_x,train_y))
dataset = dataset.batch(256)

#### - Define your model here - ####

model.compile(optimizer=optimizer, loss='sparse_categorical_crossentropy')
history = model.fit(dataset, epochs=EPOCHS)

好吧,这就是诀窍。。。