Keras简单前馈网络输入形状错误

我正在尝试在Keras中训练一个非常简单的前馈网络。我希望给网络输入1800个数字,并让它激活6个输出中的一个。

我的模型设置如下:

model = keras.Sequential([    keras.layers.Dense(256, input_dim = 1800, activation=tf.nn.relu),    keras.layers.Dense(48, activation=tf.nn.relu),    keras.layers.Dense(6, activation=tf.nn.softmax)])

我的数据设置如下:

数据被分成两个Python列表training_datatraining_labels

training_labels中的一个元素是一个包含6个数字的Python列表,像这样:

[0, 0, 0, 0, 1, 0]

training_data中的一个元素是一个包含1800个数字的Python列表,像这样:

[15, 155, 1200, 1, ... ]

总共有1500个样本。

为了拟合模型,我正在做如下操作:

model.fit(training_data, training_labels, batch_size=1)

但我得到了以下错误:

ValueError: Error when checking input: expected dense_1_input to have shape (None, 1800) but got array with shape (150, 1)

回答:

除了我已经提到的之外,我建议在将数据输入到网络之前添加一行代码:

import numpy as nptraining_data = np.asarray(training_data)assert(training_data.shape = (1500,1800)) 

Related Posts

在使用k近邻算法时,有没有办法获取被使用的“邻居”?

我想找到一种方法来确定在我的knn算法中实际使用了哪些…

Theano在Google Colab上无法启用GPU支持

我在尝试使用Theano库训练一个模型。由于我的电脑内…

准确性评分似乎有误

这里是代码: from sklearn.metrics…

Keras Functional API: “错误检查输入时:期望input_1具有4个维度,但得到形状为(X, Y)的数组”

我在尝试使用Keras的fit_generator来训…

如何使用sklearn.datasets.make_classification在指定范围内生成合成数据?

我想为分类问题创建合成数据。我使用了sklearn.d…

如何处理预测时不在训练集中的标签

已关闭。 此问题与编程或软件开发无关。目前不接受回答。…

发表回复

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