检查目标时出错:期望dense_1的形状为(1,),但得到的数组形状为(256,)

我正在学习TensorFlow,并且在按照一个演示教程进行学习(https://www.tensorflow.org/tutorials/keras/basic_text_classification

错误报告告诉我

“检查目标时出错:期望dense_1的形状为(1,),但得到的数组形状为(256,)”

有人能解释一下为什么这不起作用吗?

train_data = keras.preprocessing.sequence.pad_sequences(train_data,                                                    value=word_index["<PAD>"],                                                    padding='post',                                                    maxlen=256) #最大长度test_data = keras.preprocessing.sequence.pad_sequences(test_data,                                                   value=word_index["<PAD>"],                                                   padding='post',                                                   maxlen=256)vocal_size = 10000model = 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)

回答:

错误出现在这些行中

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

但教程中说应该是

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

train_data代表每个书面评论,而train_labels代表评论是正面还是负面。你希望你的模型学会判断一个书面评论是正面还是负面的。

Related Posts

Keras Dense层输入未被展平

这是我的测试代码: from keras import…

无法将分类变量输入随机森林

我有10个分类变量和3个数值变量。我在分割后直接将它们…

如何在Keras中对每个输出应用Sigmoid函数?

这是我代码的一部分。 model = Sequenti…

如何选择类概率的最佳阈值?

我的神经网络输出是一个用于多标签分类的预测类概率表: …

在Keras中使用深度学习得到不同的结果

我按照一个教程使用Keras中的深度神经网络进行文本分…

‘MatMul’操作的输入’b’类型为float32,与参数’a’的类型float64不匹配

我写了一个简单的TensorFlow代码,但不断遇到T…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注