我的CNN架构如下: click here to see it 其中存在一个层,其输入等于它之前16层输出的总和(见图)。如何创建此图层?
答案 0 :(得分:0)
我想这是你想要实现的架构的一部分:
| RELU | -- > | RELU | --> | RELU | --> | RELU |
| | | |
| | | |
----------------> | RELU | <-----------------
假设你有一个(32,32)张量来自前一层。 并且您正在使用功能API。
# no non-linearity in the Dense layers
# so you can apply it in the next node in the graph.
d1 = Dense(32, 32, activation='linear'))(previous-layer)
r1 = LeakyReLU((32,)))(d1)
d2 = Dense(32, 32, activation='linear'))(r1)
r2 = LeakyReLU((32,)))(d2)
d3 = Dense(32, 32, activation='linear'))(r2)
r3 = LeakyReLU((32,)))(d3)
d4 = Dense(32, 32, activation='linear'))(r3)
r4 = LeakyReLU((32,)))(r4)
假设你真的想要添加张量,那么keras.layers.add()
会做
adder = add([r1, r2, r3, r4])
d5 = Dense((32, 32), activation="linear")(adder)
r5 = SReLu((32,))(d5)
如果您想要连接沿着列使用的图层
keras.layers.concatenate()
concat = concatenate([r1, r2, r3, r4])
d5 = Dense((32, 32), activation="linear")(concat)
r5 = SReLu((32,))(d5)
尝试两者并看到哪种方法更适合您的问题,没有错。