def _shortcut(inputs, x):
# shortcut path
_, inputs_w, inputs_h, inputs_ch = K.int_shape(inputs)
_, x_w, x_h, x_ch = K.int_shape(x)
stride_w = int(round(inputs_w / x_w))
stride_h = int(round(inputs_h / x_h))
equal_ch = inputs_ch == x_ch
if stride_w>1 or stride_h>1 or not equal_ch:
shortcut = Conv2D(x_ch, (1, 1),
strides = (stride_w, stride_h),
kernel_initializer = init, padding = 'valid')(inputs)
else:
shortcut = inputs
merged = Add()([shortcut, x])
return merged
评论列表
文章目录