keras多输入(图像)不起作用

时间:2017-12-06 09:08:03

标签: deep-learning keras

我是Keras的新手,但据我了解,可以使用2输入和1输出制作网络。我正在尝试比较两个图像并在输出层中获取相机移动。这是我的代码

model1 = Sequential()
model1.add(Conv2D(64, (3, 3), activation='softmax', input_shape=(64, 64, 3)))
model1.add(Conv2D(64, (3, 3), activation='softmax'))
model1.add(MaxPooling2D(pool_size=(2, 2)))
model1.add(Dropout(0.5))
model1.add(Flatten())
model1.add(Dense(64))

model2 = Sequential()
model2.add(Conv2D(64, (3, 3), activation='softmax', input_shape=(64, 64, 3)))
model2.add(Conv2D(64, (3, 3), activation='softmax'))
model2.add(MaxPooling2D(pool_size=(2, 2)))
model2.add(Dropout(0.5))
model2.add(Flatten())
model2.add(Dense(64))

merged = Merge([model1, model2], mode='concat', concat_axis=-1)
model = Sequential()
model.add(merged)

model.add(Dropout(0.5))
model.add(Dense(1024, activation='softmax'))
model.add(Dropout(0.5))
model.add(Dense(3, activation='softmax'))

sgd = SGD(lr=0.001, decay=1e-6, momentum=0.5, nesterov=True)
model.compile(loss='mean_squared_error', optimizer=sgd)

model.fit([X1, X2], Y, batch_size=32, epochs=100,callbacks=[callback])

X1和X2是两个图像列表。我希望找到从X1 [i]到X2 [i]

的移动

Y是这样的:

Y = np.array([[0.12, 0, 0.6],
              [0.4, 0, 0.6],
              [0.6, 0.17, 0],...

它训练得很好,但结果对所有输入数据都是固定的 ,例如:

[[ 0.26296708  0.38299543  0.35403749]
 [ 0.26296708  0.38299543  0.35403746]
 [ 0.26296708  0.38299543  0.35403746],...]

任何想法?

0 个答案:

没有答案