我在keras中实现ApesNet。它有一个跳过连接的ApesBlock。如何将其添加到keras中的顺序模型? ApesBlock有两个并行的层,最后通过元素添加进行合并。
答案 0 :(得分:24)
简单的答案是不要使用顺序模型,而是使用功能API,实现跳过连接(也称为剩余连接)非常容易,如{{3}中的示例所示}:
from keras.layers import merge, Convolution2D, Input
# input tensor for a 3-channel 256x256 image
x = Input(shape=(3, 256, 256))
# 3x3 conv with 3 output channels (same as input channels)
y = Convolution2D(3, 3, 3, border_mode='same')(x)
# this returns x + y.
z = merge([x, y], mode='sum')
答案 1 :(得分:1)
万一仍然有相同的问题,而merge
层不起作用。
我在Snoopy博士所写的Keras文档中找不到merge
。我收到类型错误'module' object is not callable
。
相反,我添加了Add
层。
因此,与史努比博士的答案相同的例子是:
from keras.layers import Add, Convolution2D, Input
# input tensor for a 3-channel 256x256 image
x = Input(shape=(3, 256, 256))
# 3x3 conv with 3 output channels (same as input channels)
y = Convolution2D(3, 3, 3, border_mode='same')(x)
# this returns x + y.
z = Add()([x, y])