我训练了线性回归模型(具有线性回归输出的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。我使用正确的例行程序吗?
不确定要回去寻找错误还有多远。
编辑:图像的直方图。
答案 0 :(得分:0)
原来我正在得到我需要的东西。该预测是基于由于现在不是问题的障碍(3D环境中的物理障碍)而使得网络正在变得可能的取向变化。起初,我以为我试图找到类似的预测值,但事实证明这更好。
学习:这种结构的方式对于使用keras找到线性预测是正确的。