通常学习keras和cnn,因此尝试实现我在论文中发现的网络,其中有3个conv的并行卷积层,其中每个conv在输入上应用不同的过滤器,在这里我尝试解决它:
inp = Input(shape=(32,32,192))
conv2d_1 = Conv2D(
filters = 32,
kernel_size = (1, 1),
strides =(1, 1),
activation = 'relu')(inp)
conv2d_2 = Conv2D(
filters = 64,
kernel_size = (3, 3),
strides =(1, 1),
activation = 'relu')(inp)
conv2d_3 = Conv2D(
filters = 128,
kernel_size = (5, 5),
strides =(1, 1),
activation = 'relu')(inp)
out = Concatenate([conv2d_1, conv2d_2, conv2d_3])
model.add(Model(inp, out))
-这给我以下错误:A Concatenate layer requires inputs with matching shapes except for the concat axis....etc
。
input_shape = inp
来解决它,现在它给了我Cannot iterate over a tensor with unknown first dimension.
ps:论文作者使用caffe实现了该网络,该层的输入为(32,32,192),合并后的输出为(32,32,224)。
除非添加填充以匹配数组形状,否则Concatenate
将无法匹配它们。尝试运行此