Keras 功能 API:ValueError:无法将输入数组从形状 (75,11) 广播到形状 (75,)

问题描述 投票:0回答:1

我有一个使用 Keras Function API 的模型,有 2 个输出:(CNN 和回归) model with 2 outputs:

尝试使用预测但得到 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

打印的形状:

  • 数据图像[有效]:(75,5,28,3)
  • 数据向量[有效]: (75, 11)

请任何解决此问题的建议都会有所帮助,我需要一种方法来从训练后的模型中获取结果。 预先感谢

keras conv-neural-network regression valueerror functional-api
1个回答
0
投票

我找到了错误原因: 预测 2 个输出模型返回一个数组,其中包含两个模型输出的预测结果 要到达其中之一可以使用索引,在我的示例中:

model.predict(data_images)[0]
用于分类 和
model.predict(data_images)[1]
用于回归

© www.soinside.com 2019 - 2024. All rights reserved.