2017-02-22 77 views
2

我正在keras中實現ApesNet。它有一個有跳過連接的ApesBlock。我如何將這添加到keras的順序模型中? ApesBlock有兩個平行層,最後通過逐元相加合併。 enter image description here在keras中實現跳過連接

回答

8

最簡單的答案是不使用順序模型這一點,使用功能API代替,實施跳過連接(也稱爲殘留連接)然後很容易,如從functional API guide這個例子:

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') 
+0

所以,這不會是backprop期間的問題,因爲y有卷積的權重和z有新的張量? –

+1

@Siddhartharao不,因爲這是所有符號的梯度可以由TF/Theano直接計算。 –