我想比较两个类似性质的图像与Keras模型。所以,我正在考虑建立这样的东西
同时,我虽然在两个分支中分享卷积权重,所以我写了
input1 = Input((resample_size[0], resample_size[1], image_channels))
input2 = Input((resample_size[0], resample_size[1], image_channels))
# VGG-like layer sequence
conv_layers = [
Conv2D(32, (3, 3), activation='relu'),
Conv2D(32, (3, 3), activation='relu'),
MaxPool2D(pool_size=(2, 2)),
Dropout(0.25),
...
]
prev = input1
for layer in conv_layers:
prev = layer(prev)
out1 = prev
prev = input2
for layer in conv_layers:
prev = layer(prev)
out2 = prev
final_layers = [
Flatten(),
Dense(512, activation='relu'),
...
]
concat = Concatenate()
prev = concat([out1, out2])
...
我在想这会给我两个分支,它们将学习相同的功能,最后会对它们进行比较。
不幸的是,Keras策划的东西吸引了我
即。不明显的是,我的网络有两个分支。
问题是:我的网络真的有两个分支吗?或者结构以某种方式被破坏了?