用keras寻找线性回归预测

用keras寻找线性回归预测,keras,linear-regression,predict,Keras,Linear Regression,Predict,我训练了一个线性回归模型(带有线性回归输出的CNN)。我的输入是图像,输出是概率。现在,我想拍摄另一张图像(与我的测试集不同),并将其推送到我的网络中以获得概率 我加载模型、权重和图像,并将其重塑为4D张量,然后按如下方式运行预测: json_file = open('/home/model.json', 'r') loaded_model_json = json_file.read() json_file.close() loaded_model = model_from_json(load

我训练了一个线性回归模型(带有线性回归输出的CNN)。我的输入是图像,输出是概率。现在,我想拍摄另一张图像(与我的测试集不同),并将其推送到我的网络中以获得概率

我加载模型、权重和图像,并将其重塑为4D张量,然后按如下方式运行预测:

json_file = open('/home/model.json', 'r')
loaded_model_json = json_file.read()
json_file.close()

loaded_model = model_from_json(loaded_model_json)
loaded_model.load_weights("/home/weights.h5")
loaded_model.compile(loss='mean_squared_error', optimizer=OPTIMISER, metrics=['mean_absolute_error'])

img = (ndimage.imread(img).astype(float) - pixel_depth / 2) / pixel_depth
img = img.reshape(1, 128, 128, 1).astype('float32')
out = loaded_model.predict(img)
我得到的值为7.35-但我的网络在测试集上的执行范围为0.4(这对于我所需要的很好)。我期望值为~1。我是否使用了正确的程序

不知道要回去多远才能找到bug

编辑:图像的直方图图


事实证明,我得到了我所需要的东西。该预测是基于网络正在拾取的方向变化,因为现在不是问题的障碍物(3D环境中的物理障碍物)使其成为可能。起初,我以为我在试图找到一个类似的预测值,但结果证明这更好


学习:这种结构方式对于使用keras寻找线性预测是正确的

结果是我得到了我所需要的东西。该预测是基于网络正在拾取的方向变化,因为现在不是问题的障碍物(3D环境中的物理障碍物)使其成为可能。起初,我以为我在试图找到一个类似的预测值,但结果证明这更好


学习:这种结构方式对于使用keras寻找线性预测是正确的

您是否在训练时对图像进行了标准化?@MarcinMożejko YesAnd while prediction-您是否使用相同的函数对其进行了标准化?@MarcinMożejko Yes。您是否可以绘制测试集和训练集的扁平示例的直方图?您是否在训练时对图像进行了标准化?@MarcinMożejko YesAnd while prediction-您是否对其进行了标准化使用相同的函数?@MarcinMożejko是的。你能从测试集和训练集绘制扁平化示例的直方图吗?