关于padded_x函数细节的疑惑
来源:4-4 VGG-ResNet实战(1)
next_n
2019-01-16
老师您好,这一小节我有以下两个问题:
1.整除问题。
例如当 input_channel = 7,output_channel = 14时,即 input_channel // 2 = 3,此时,pad后的通道数本应为14 , 但是按照老师的代码,前后都pad了3个0通道,pad后的总通道数为7+32 = 13,这里是不是可能有细节上的错误?
2.pad方式问题。
我们这里的目的是让经过跳跃连接的输出与通过卷积后的输出通道数进行匹配,那么这里是否可以采用11 的卷积核(卷积核数目为 output_channel )进行卷积操作呢?如果可以,效果是不是会更好一些呢?
写回答
1回答
-
同学你好,从你的问题里可以看出你看得很仔细。赞。
第一个问题,我在使用的时候一般会把初始通道数目设为偶数,这样这个问题就不存在了,如果是奇数,确实会有你说的这个问题。可以通过把第二个[input_channel // 2, input_channel // 2] 改为 [input_channel // 2, output_channel - input_channel - input_channel // 2] 来解决。
第二个问题,使用一个卷积再加过来也是可以的,但是这样就违背了residual block的初衷了,有点类似inception block了,inception block是多分支再拼接,你的改法就变成了多分支再加起来了。你可以试试这个方法,但我觉得可能提升很有限。
祝学习愉快。
112019-01-21
相似问题