Keras:连接的输出没有参数?

Keras:连接的输出没有参数?,keras,deep-learning,computer-vision,conv-neural-network,tensorflow2.0,Keras,Deep Learning,Computer Vision,Conv Neural Network,Tensorflow2.0,我在方法上遇到了一个奇怪的问题。我试着做一个群体卷积。这是代码 # C2: (None, 27, 27, 96) -> (None, 27, 27, 256). # Split (None, 27, 27, 96) into x2 (None, 27, 27, 48) pool1_1 = Lambda(lambda x: x[:, :, :, :48])(pool1) pool1_2 = Lambda(lambda x: x[:, :, :, 48:])(pool1) ######

我在方法上遇到了一个奇怪的问题。我试着做一个群体卷积。这是代码

# C2: (None, 27, 27, 96) -> (None, 27, 27, 256).

# Split (None, 27, 27, 96) into x2 (None, 27, 27, 48)
pool1_1 = Lambda(lambda x: x[:, :, :, :48])(pool1)
pool1_2 = Lambda(lambda x: x[:, :, :, 48:])(pool1)  

#####################
# Grouped convolution.
#####################
conv2_1 =  Conv2D(filters=128,
                     kernel_size=(5,5),
                     activation='relu',
                     padding='same',
                     name='conv2_1')(pool1_1)

conv2_2 =  Conv2D(filters=128,
                     kernel_size=(5,5),
                     activation='relu',
                     padding='same',
                     name='conv2_2')(pool1_2)

conv2 = Concatenate(name='conv2', axis=-1)([conv2_1, conv2_2])
这是你的电话号码


如您所见,在连接之后,结果层的参数为0。我希望它有153728*2个参数。为什么会这样?

串联层没有参数,因为它们没有任何可学习的权重,操作只是串联,根本没有在该层中进行学习


因此,假设层必须有参数是错误的。

串联层没有参数,因为它们没有任何可学习的权重,操作只是串联,根本没有在该层中进行学习


因此,假设层必须有参数是错误的。

好的,谢谢!有什么解决办法吗?问题是,我真的需要为合并层设置参数。@FerdinandMom你说的变通方法是什么?参数在这个层中会做什么?我们将学到什么?我正在尝试将重量从caffe模型加载到keras模型。在caffe模型中,该层的权重为形状(5、5、48、256)。如果我进行串联,我必须为2个卷积指定128个过滤器。但是,我将无法向这两个层加载权重,因为它们将有128个过滤器,而不是256个。因此,我唯一的解决方案是将权重加载到合并层。问题:合并层没有参数。@FerdinandMom首先,这里有一个明确的XY问题,你在问你认为解决方案是什么,而不是问实际问题。其次,解决这个问题的方法不是“使连接具有参数”,而是将您拥有的权重拆分并加载到各个Conv2D层中。感谢您的解决方案。我应该把这篇文章的标题改为“Keras:concatenation的输出没有参数?”好的,谢谢!有什么解决办法吗?问题是,我真的需要为合并层设置参数。@FerdinandMom你说的变通方法是什么?参数在这个层中会做什么?我们将学到什么?我正在尝试将重量从caffe模型加载到keras模型。在caffe模型中,该层的权重为形状(5、5、48、256)。如果我进行串联,我必须为2个卷积指定128个过滤器。但是,我将无法向这两个层加载权重,因为它们将有128个过滤器,而不是256个。因此,我唯一的解决方案是将权重加载到合并层。问题:合并层没有参数。@FerdinandMom首先,这里有一个明确的XY问题,你在问你认为解决方案是什么,而不是问实际问题。其次,解决这个问题的方法不是“使连接具有参数”,而是将您拥有的权重拆分并加载到各个Conv2D层中。感谢您的解决方案。我应该把这篇文章的标题改为“Keras:concatenation的输出没有参数?”