在语义分割中,卷积1x1
通常用于替换完全连接的层以维护空间信息。我应该使用更大的内核大小,例如3x3
,而不是1x1
。因为3x3
内核大小将具有更大的视图信息来做出最终决定。谢谢
答案 0 :(得分:2)
在深度学习中,t.cpp:8: error: conflicting declaration ‘typedef struct abc* abc’
t.cpp:5: error: ‘struct abc’ has a previous declaration as ‘struct abc’
t.cpp: In function ‘void fun(abc)’:
t.cpp:11: error: base operand of ‘->’ has non-pointer type ‘abc’
和1x1
卷积用于不同的目的。 3x3
对应一个方便的卷积,将一些过滤器应用于输入数据。 3x3
类似于Network in Network。从概念上讲,它接近于应用于每个像素的通道值的MLP(无隐藏层)。它通常用于缩小或扩展要素地图的通道数量(降维或扩展),因此可能对以下1x1
卷积起到辅助作用:What does 1x1 convolution mean in a neural network?
3x3
卷积的另一个著名用法是将来自不同卷积组或它们的极端版本(深度方向可分离卷积:MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications
总而言之,1x1
卷积通常与1x1
卷积具有不同的含义。在原始模型中,它们可能用于特定目的,切换到3x3
将变为概念。这并不一定意味着精度会变差,实际上可能会提高或保持不变。
这肯定会导致更长的计算时间。但是,如果您负担得起,请继续尝试。