python - 机器学习回归模型为每个图像预测相同的值

标签 python machine-learning keras regression

我目前正在开展一个项目,该项目涉及训练回归模型、保存并加载它以使用该模型进行进一步预测。但是我遇到了问题。每次我对图像进行 model.predict 时,它都会给出相同的预测。我不完全确定问题是什么,也许是在训练阶段,或者我只是做错了什么。
我在关注 this tutorial

所有文件都在这个 github repo

以下是代码中的一些内容:
(这部分是训练模型并保存)

model = create_cnn(400, 400, 3, regress=True)
opt = Adam(lr=1e-3, decay=1e-3 / 200)
model.compile(loss="mean_absolute_percentage_error", optimizer=opt)

model.fit(X, Y, epochs=70, batch_size=8)
model.save("D:/statispic2/final-statispic_model.hdf5")

下一个代码部分来自加载模型和进行预测。
model = load_model("D:/statispic2/statispic_model.hdf5")  # Loading the model
prediction = model.predict(images_ready_for_prediction) #images ready for prediction include a numpy array 
#that is loaded with the images just like I loaded them for the training stage.
print(prediction_list)

试用后,这是模型的输出预测:
[[0.05169942]  # I gave it 5 images as parameters 
[0.05169942]
[0.05169942]
[0.05169942]
[0.05169942]]

如果有任何不清楚的地方,或者您想查看更多代码,请告诉我。

最佳答案

人们说回归和 CNN 是两种完全不同的东西,显然他们在 ML 类(class)中遗漏了一些基本知识。是的,它们完全不同!但不应该比较;)
CNN 是一种深度神经网络,通常因其在图像上的使用而闻名。因此它是一个解决问题的框架,可以同时解决回归和分类问题。
回归是指您预测的输出类型。所以说实话,直接比较两者是很愚蠢的。
我无法评论本节中误导您的特定人员,因为我需要特定数量的点才能这样做。
然而,回到问题。您是在保存之前还是之后遇到这个问题?如果您之前遇到过,我会尝试将您的输出值缩放到更简单的分布。如果它在您保存后发生,我会查看您的框架版本以及它们如何保存它的文档。
也可能只是图片中没有信息。

关于python - 机器学习回归模型为每个图像预测相同的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61698373/

相关文章:

python - 添加约束 CPLEX Python API

machine-learning - Tensorflow Slim - 模型训练但在评估时始终预测相同

tensorflow - Keras 在 epoch 结束前评估验证数据

python - Keras 您正在尝试将包含 2 层的权重文件加载到具有 1 层的模型中

python - 如何根据第一个元素从嵌套列表中删除重复项,同时优先考虑列表的长度?

用于简单纸牌游戏的 Python 网络库

r - "survivalsvm"预测什么?

machine-learning - 图像和视频的 RGB 深度数据集

tensorflow - 使用 albumentations 增强 keras 中的数据

python OpenAI健身房监视器在录制目录中创建json文件