【发布时间】:2020-03-04 08:00:50
【问题描述】:
值错误
我有 5722 张图片用于训练,在处理时显示错误:ValueError:输入数组应具有与目标数组相同数量的样本。找到 5722 个输入样本和 312 个目标样本。
- 5722 张图像属于训练集中的 12 个类别。
- 312 张图片属于验证集中的 12 个类别。
start = datetime.datetime.now()
model = Sequential()
model.add(Flatten(input_shape=train_data.shape[1:]))
model.add(Dense(100, activation=keras.layers.LeakyReLU(alpha=0.3)))
model.add(Dropout(0.5))
model.add(Dense(50, activation=keras.layers.LeakyReLU(alpha=0.3)))
model.add(Dropout(0.3))
model.add(Dense(num_classes, activation='softmax'))
model.compile(loss='categorical_crossentropy',
optimizer=optimizers.RMSprop(lr=1e-4),
metrics=['acc'])
history = model.fit(train_data, train_labels,
epochs=7,
batch_size=batch_size,
validation_data=(validation_data, validation_labels))
model.save_weights(top_model_weights_path)
(eval_loss, eval_accuracy) = model.evaluate(
validation_data, validation_labels, batch_size=batch_size, verbose=1)
数值错误
找到 5722 个输入样本和 312 个目标样本。
/usr/local/lib/python3.6/dist-packages/keras/activations.py:235: UserWarning: Do not pass a layer instance (such as LeakyReLU) as the activation argument of another layer. Instead, advanced activation layers should be used just like any other layer in a model.
identifier=identifier.__class__.__name__))
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-22-9fbdd01293a7> in <module>()
13 epochs=7,
14 batch_size=batch_size,
---> 15 validation_data=(validation_data, validation_labels))
16 model.save_weights(top_model_weights_path)
17 (eval_loss, eval_accuracy) = model.evaluate(
2 frames
/usr/local/lib/python3.6/dist-packages/keras/engine/training_utils.py in check_array_length_consistency(inputs, targets, weights)
242 'the same number of samples as target arrays. '
243 'Found ' + str(list(set_x)[0]) + ' input samples '
--> 244 'and ' + str(list(set_y)[0]) + ' target samples.')
245 if len(set_w) > 1:
246 raise ValueError('All sample_weight arrays should have '
ValueError: Input arrays should have the same number of samples as target arrays. Found 5722 input samples and 312 target samples.
【问题讨论】:
-
您能展示一下您是如何加载验证数据的吗?或者至少是
np.shape(validation_data)、np.shape(validation_labels)的输出 -
VGG16验证标签导入和预训练的文本数据和验证数据包含类名
-
没有更多细节很难判断,但您似乎混合了训练和验证数据
标签: python tensorflow keras conv-neural-network