感受野receptive fields计算

方法1

top to down
在这里插入图片描述
从最顶层往底层算:

RF=1 //最顶层一个1x1feature map
for layer in (top layer To down layer): 
    RF = (RF -1)* stride + kernelSize
//这里还有一个步长:
strides(i) = stride(1) * stride(2) ** stride(i-1)

例如:[kernelSize,stride,padding]
{‘alexnet’: {‘net’:[[11,4,0],[3,2,0],[5,1,2],[3,2,0],[3,1,1],[3,1,1],[3,1,1],[3,2,0]],
‘name’:[‘conv1’,‘pool1’,‘conv2’,‘pool2’,‘conv3’,‘conv4’,‘conv5’,‘pool5’]},

//计算conv2 RF
RF=1//最顶层一个1x1feature map
RF=(RF-1)*1+5=(1-1)*1+5=5
RF=(RF-1)*2+3=(5-1)*2+3=11
RF=(RF-1)*4+11=(11-1)*4+11=51
所以conv2感受野是51,strides=4*2*1=8

方法2

down to top
从底层往顶层算:

RF=第一个conv的kernelSize
for layer in (down layer To top layer): 
strides(i) = stride(1) * stride(2) ** stride(i-1)
    RF = (kernelSize-1)* strides + RF //strides同方法1
    strides(i) = stride(1) * stride(2) ** stride(i-1)

例如:[kernelSize,stride,padding]
{‘alexnet’: {‘net’:[[11,4,0],[3,2,0],[5,1,2],[3,2,0],[3,1,1],[3,1,1],[3,1,1],[3,2,0]],
‘name’:[‘conv1’,‘pool1’,‘conv2’,‘pool2’,‘conv3’,‘conv4’,‘conv5’,‘pool5’]}

           kernelSize(stride)           RF(strides)
conv1            11(4)                    11(4)
pool1            3(2)                 (3-1)*4+11=19(8)
conv2            5(1)                 (5-1)*8+19=51(8)
pool2            3(2)                 (3-1)*8+51=67(8)
 ............

工具

https://fomoro.com/projects/project/receptive-field-calculator#

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值