我在Caffe的网站上阅读了关于Concat层的介绍。然而,我不确定自己是否正确理解了它。
假设我有两个输入层,可以描述为W1 x H1 x D1和W2 x H2 x D2,其中W是宽度,H是高度,D是深度。
因此,我理解当Axis设置为0时,输出将是(W1 + W2) x (H1 + H2) x D,其中D = D1 = D2。
当Axis设置为1时,输出将是W x H x (D1 + D2),其中H = H1 = H2和W = W1 = W2。
我的理解正确吗?如果不对,我将非常感激您的解释。
回答:
恐怕你的理解有些偏差…
请查看这个caffe.help页面。
通常,Caffe中的数据是以4D的“blob”形式存储的:B
xC
xH
xW
(即批次大小乘以通道/特征/深度乘以高度乘以宽度)。
现在如果你有两个blob B1
xC1
xH1
xW1
和B2
xC2
xH2
xW2
,你可以沿着axis: 1
(通道维度)将它们连接起来,形成一个输出blob,其中C=C1+C2
。这只有在B1==B2
、H1==H2
和W1==W2
都相等时才可能,结果是B1
x(C1+C2)
xH1
xW1
。