2017-02-22 5 views
2

Я реализую ApesNet в keras. У него есть 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, потому что у имеет вес свертки, а z имеет новый тензор? –

+1

@Siddhartharao Нет, поскольку это все символично, градиенты могут быть вычислены непосредственно TF/Theano. –

Смежные вопросы