在其中实现卷积神经网络(CNN)时,会遇到两种conv2d
运算符变体:
和最大池化的实现:
我的问题是:
conv2d
?使用of的subsample
参数conv2d
与应用max_pool_2d
after之后的二次采样有什么区别conv2d
?
那是什么之间的区别:
conv2d( ..., subsample=(2,2) )
和
a = conv2d( ..., subsample = (1,1) )
max_pool_2d( a, ds = (2,2) )
为了回答您的第一个问题,以下是Theano文档中解决该问题的部分:
conv2d存在两个类似的实现:
signal.conv2d and nnet.conv2d.
前者实现了传统的2D卷积,而后者实现了在卷积神经网络中存在的卷积层(其中过滤器是3D并汇集在多个输入通道上)。
他们都在后台调用了相同的功能,因此唯一的区别是用户界面。
关于第二个问题,结果是不同的。等效调用:
conv2(..., subsample=(2,2))
将会:
conv2d(...,subsample=(1,1))[:,:,::2,::2]
换句话说conv2d
,不是整个池区域的最大值,而是池区域索引[0,0]
处的元素。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句