我有一个使用 Keras Function API 的模型,有 2 个输出:(CNN 和回归)
尝试使用预测但得到 ValueError: 无法将输入数组从形状 (75,11) 广播到形状 (75,)
这是训练过程的代码:
fold_no = 1
kfold = KFold(n_splits=num_folds, shuffle=True)
for tr, valid in kfold.split(train_images, train_labels):
print('------------------------------------------------------------------------')
print(f'Training for fold {fold_no} ...')
# Train the model
history= model.fit(data_images[tr], data_vector[tr],
batch_size=batch_size,
epochs=80,
verbose=verbosity,
validation_split=0.2)
scores = model.evaluate(data_images[valid], data_vector[valid], verbose=0)
print(data_labels[valid])
print(np.argmax(model.predict(data_images[valid]), axis=-1))
fold_no += 1
打印的形状:
请任何解决此问题的建议都会有所帮助,我需要一种方法来从训练后的模型中获取结果。 预先感谢
我找到了错误原因: 预测 2 个输出模型返回一个数组,其中包含两个模型输出的预测结果 要到达其中之一可以使用索引,在我的示例中:
model.predict(data_images)[0]
用于分类
和 model.predict(data_images)[1]
用于回归