ValueError: 检查目标时出错:期望activation_17具有2个维度,但得到的数组形状为(1, 256, 256, 3)

我正在构建一个基于VGG-16的卷积神经网络,用于根据两张RGB图像(文件类型:jpg)预测人的年龄。我使用的是Anaconda环境中的TensorFlow后端,Python版本为2.7。

然而,总是会引发一个错误:

Traceback (most recent call last):

File “train2.py”, line 167, in shuffle=True)

File “/Users/name/anaconda/lib/python2.7/sitepackages/keras/models.py”,line 973, in fit validation_steps=validation_steps)

File “/Users/name/anaconda/lib/python2.7/sitepackages/keras/engine/training.py”, line 1581, in fit batch_size=batch_size)

File “/Users/name/anaconda/lib/python2.7/sitepackages/keras/engine/training.py”, line 1418, in _standardize_user_data exception_prefix=’target’)

File “/Users/name/anaconda/lib/python2.7/sitepackages/keras/engine/training.py”, line 141, in _standardize_input_data str(array.shape))

ValueError: Error when checking target: expected activation_17 to

have 2 dimensions, but got array with shape (1, 256, 256, 3)

如何解决这个错误?这是我的代码:


回答:

我认为“activation_17”指的是最后一个激活层,即“softmax”层。由于图像在各层之间传播没有问题,我认为问题出在标签的维度上。

在查看了sklearn.model_selection.train_test_split文档后,似乎你在分配train_test_split()的返回值时犯了一个错误。

试试这样做:

train_data, test_data, train_label, test_label= train_test_split(X, y, test_size=0.5, random_state=4)

Related Posts

Keras Dense层输入未被展平

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

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

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

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

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

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

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

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

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

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

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

发表回复

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