我的caffe学习之路<第八天>

本文探讨了Caffe框架中卷积层的工作原理,重点解释了num_output参数的意义及其与输出通道数的关系,并通过具体例子说明了卷积过程。

        今天本来想看看图卷积,但看环境难配就又转头看caffe去了。我差不多是个废人了。。。

        前几天把caffe每一层的输出都弄出来了,但有个地方我一直不理解,就是卷积层的num_output这个参数,官方文档上的解释是:卷积核的数量。

        我根据前天的博客把每一层的结果shape输出出来后发现,这东西和卷积后输出的通道数是一样的,就是说有几个卷积核最后就有几个通道。而参数的shape则是:(output_channels, input_channels, filter_height, filter_width),即是说有这个4维矩阵这么多的参数(难怪cnn参数动辄几百上千万)。结合这篇文章,看看卷积的具体过程其实挺好理解的。

        假如输入是n*c*h*w,卷积核的size为k,则二维卷积核为k*k,三维卷积核为c*k*k(本来有张图能很好的解释cnn的三维卷积核,但突然找不到了)。num_output的数量应该是值三维卷积核的数量,这样的话,原来的c*h*w的数据通过卷积后就变成了一个通道的特征了,其大小为((h+2*pad_h-k_h)/stride_h+1)*((w+2*pad_w-k_w)/stide_w+1),pad是填充值,stride是步长,就是说c通道的数据经过一个三维卷积核变成一通道的特征了,所以最后共有num_ouput维特征。即输出为num_output*h_new*w_new。即Cout维新特征。

        结合上面的博客从卷积的具体过程来理解也是可以的,卷积的参数矩阵:Cout*(Cin*k*k),乘以输入的特征矩阵:(Cin*k*k)*(h_new*w_new),结果就是Cout*(h_new*w_new)了。

        上面博客的最后一张图字母有点问题,建议看这篇博客的图。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值