Python 3.x 使用Tensorflow训练模型的输入数组形状应该是什么

Python 3.x 使用Tensorflow训练模型的输入数组形状应该是什么,python-3.x,tensorflow,Python 3.x,Tensorflow,我按照教程中的步骤使用Tensorflow训练神经网络,如上所示 在训练数据值上运行拟合函数时,遇到输入形状有问题的错误 模型架构: NUM_WORDS = 10000 baseline_model = keras.Sequential([ keras.layers.Dense(16, activation = 'relu',input_shape(NUM_WORDS,)), keras.layers.Dense(16, activation = 'relu'), ker

我按照教程中的步骤使用Tensorflow训练神经网络,如上所示

在训练数据值上运行拟合函数时,遇到输入形状有问题的错误

模型架构:

NUM_WORDS = 10000
baseline_model = keras.Sequential([
    keras.layers.Dense(16, activation = 'relu',input_shape(NUM_WORDS,)),
    keras.layers.Dense(16, activation = 'relu'),
    keras.layers.Dense(1, activation = 'sigmoid')
])

baseline_model.compile(optimizer='adam', 
                       loss='binary_crossentropy', 
                       metrics=['accuracy', 'binary_crossentropy'])
baseline_model.summary()

---------------------------------------------------------------------------ValueError回溯(最近的调用 最后)在 4批次大小=512, 5验证数据=(测试数据、测试标签), ---->6详细=2)

~/env_tensorflow2_alpha/lib/python3.6/site-packages/tensorflow/python/keras/engine/training.py 适合(自我、x、y、批量大小、时代、详细、回调、, 验证分割、验证数据、洗牌、等级权重、, 样本重量、初始历元、每历元步骤、验证步骤、, 验证频率、最大队列大小、工人、使用多处理、, **kwargs) 816批次大小=批次大小, 817步骤=验证步骤, -->818个步骤(name='validation') 819 elif验证和0验证_分割<1: 820如果培训实用程序具有符号张量(x):

~/env_tensorflow2_alpha/lib/python3.6/site-packages/tensorflow/python/keras/engine/training.py 标准化用户数据(自身、x、y、样本重量、类别重量、, 批量大小、检查步骤、步骤名称、步骤、验证、拆分、洗牌、, 从数据集中提取张量)2594馈送输入形状,
2595检查_批次_轴=错误,#不强制执行批次 尺寸。 ->2596异常_prefix='input')2597 2598如果y不是None:

~/env_tensorflow2_alpha/lib/python3.6/site-packages/tensorflow/python/keras/engine/training_utils.py 在标准化输入数据(数据、名称、形状、检查批处理轴、, 例外情况(前缀) 347':预期“+名称[i]+”具有形状”+ 348 str(shape)+“但是得到了具有shape的数组”+ -->349街(数据_形)) 350返回数据 351

ValueError:检查输入时出错:预期密集\u 21\u输入具有 形状(10000),但获得了形状为(1,)的数组

列车组数据和列车组标签具有以下形状:

print("Train data shape: ", train_data.shape)
print("Train label shape: ", train_labels.shape)
列车数据形状:(2500010000) 列车标签形状:(25000,)

为什么这里会出现错误,我是否需要为输入数组中的批处理大小提供另一个维度

我正在使用Tensorflow版本:2.0.0-alpha0
提前谢谢

代码在我看来非常好,除了行中的一个小错误

keras.layers.Dense(16,激活='relu',输入形状(NUM\u WORDS),)

你错过了一个
=
,所以它应该是

keras.layers.Dense(16,激活='relu',输入形状=(NUM\u WORDS,)

我能够在GoogleColab空间中毫无错误地运行相同的代码


希望这有帮助

代码在我看来非常好,除了行中的一个小错误

keras.layers.Dense(16,激活='relu',输入形状(NUM\u WORDS),)

你错过了一个
=
,所以它应该是

keras.layers.Dense(16,激活='relu',输入形状=(NUM\u WORDS,)

我能够在GoogleColab空间中毫无错误地运行相同的代码


希望这有帮助

谢谢。我花了很长时间才发现。谢谢。我花了很长时间才发现这一点。
print("Train data shape: ", train_data.shape)
print("Train label shape: ", train_labels.shape)