Numpy 检查目标时出错:预期密集_1具有形状(1),但获得具有形状(256,)的数组

Numpy 检查目标时出错:预期密集_1具有形状(1),但获得具有形状(256,)的数组,numpy,machine-learning,neural-network,keras,Numpy,Machine Learning,Neural Network,Keras,我正在尝试学习tensorflow,我正在学习演示教程() 错误报告告诉我 检查目标时出错:预期密集_1具有形状(1,),但获得具有形状(256,)的数组 有人能给我解释一下为什么这行不通吗 train_data = keras.preprocessing.sequence.pad_sequences(train_data, value=word_index["<PAD>"],

我正在尝试学习tensorflow,我正在学习演示教程()

错误报告告诉我

检查目标时出错:预期密集_1具有形状(1,),但获得具有形状(256,)的数组

有人能给我解释一下为什么这行不通吗

train_data = keras.preprocessing.sequence.pad_sequences(train_data,
                                                    value=word_index["<PAD>"],
                                                    padding='post',
                                                    maxlen=256) #max length
test_data = keras.preprocessing.sequence.pad_sequences(test_data,
                                                   value=word_index["<PAD>"],
                                                   padding='post',
                                                   maxlen=256)
vocal_size = 10000
model = keras.Sequential()
model.add(keras.layers.Embedding(vocal_size,16))
model.add(keras.layers.GlobalAveragePooling1D())
model.add(keras.layers.Dense(16,activation=tf.nn.relu))
model.add(keras.layers.Dense(1,activation=tf.nn.sigmoid))

model.compile(optimizer=tf.train.AdamOptimizer(),
          loss='binary_crossentropy',
          metrics=['accuracy'])


x_val = train_data[:10000]
partial_x_train = train_data[10000:]
y_val = train_data[:10000]
partial_y_train = train_data[10000:]


history = model.fit(partial_x_train, partial_y_train, epochs=40, batch_size=512, validation_data=(x_val, y_val), verbose=1)
train\u data=keras.preprocessing.sequence.pad\u序列(train\u数据,
值=单词索引[“”],
"后",,
最大长度=256)#最大长度
测试数据=keras.preprocessing.sequence.pad_序列(测试数据,
值=单词索引[“”],
"后",,
maxlen=256)
声音大小=10000
模型=keras.Sequential()
模型.添加(keras.层.嵌入(人声大小,16))
model.add(keras.layers.globalaveragepoolg1d())
添加(keras.layers.Dense(16,激活=tf.nn.relu))
添加(keras.layers.Dense(1,激活=tf.nn.sigmoid))
model.compile(optimizer=tf.train.AdamOptimizer(),
损失='binary\u交叉熵',
指标=[‘准确度’])
x_val=列车数据[:10000]
部分列车=列车数据[10000:]
y_val=列车数据[:10000]
部分列车=列车数据[10000:]
历史=模型.fit(部分x_序列,部分y_序列,历代=40,批量大小=512,验证数据=(x_val,y_val),详细=1)

错误在这些行中

y_val = train_data[:10000]
partial_y_train = train_data[10000:]
但是教程说应该是这样的

y_val = train_labels[:10000]
partial_y_train = train_labels[10000:]

train\u data
表示每次书面审查,而
train\u标签
表示审查是积极的还是消极的。你想让你的模型知道书面评论是正面的还是负面的。

这就解决了问题。Thanks@KevinG很高兴听到。如果答案对你合适,请接受。