神经网络- receptive field

记录一下感受野的理解:

在神经网络中,感受野的定义是: 
神经网络的每一层输出的特征图(Feature ap)上的像素点在原图像上映射的区域大小。 

1. 神经网络中,第一个卷积层的 感受野大小,就等于filter,滤波器的大小。

2. 深层卷积层的感受野大小和它之前所有层的滤波器大小和步长有关系。

3.计算感受野大小时,忽略了图像边缘的影响,即不考虑padding的大小。

 

首先说strides = 之前的神经网络层的步长乘积,也就是:strides(i) = stride(1) * stride(2) * ...* stride(i-1) 

感受野的计算,是从(最深层-1)的神经网络,迭代到第一层,来计算的, 公式简单表达为:

RF{i} =  (RF{i-1} - 1) * stride + ConvSize

 

RCNN论文中有一段描述,Alexnet网络pool5输出的特征图上的像素在输入图像上有很大的感受野(have very large receptive fields (195 × 195 pixels))和步长(strides (32×32 pixels) ), 这两个变量的数值是如何得出的呢?

用python代码表达:

#!/usr/bin/env python

net_struct = {'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']},'vgg16': {'net':[[3,1,1],[3,1,1],[2,2,0],[3,1,1],[3,1,1],[2,2,0],[3,1,1],[3,1,1],[3,1,1],[2,2,0],[3,1,1],[3,1,1],[3,1,1],[2,2,0],[3,1,1],[3,1,1],[3,1,1],[2,2,0]],'name':['conv1_1','conv1_2','pool1','conv2_1','conv2_2','pool2','conv3_1','conv3_2','conv3_3', 'pool3','conv4_1','conv4_2','conv4_3','pool4','conv5_1','conv5_2','conv5_3','pool5']},'zf-5':{'net': [[7,2,3],[3,2,1],[5,2,2],[3,2,1],[3,1,1],[3,1,1],[3,1,1]],'name': ['conv1','pool1','conv2','pool2','conv3','conv4','conv5']}}imsize = 224def outFromIn(isz, net, layernum):totstride = 1insize = iszfor layer in range(layernum):fsize, stride, pad = net[layer]outsize = (insize - fsize + 2*pad) / stride + 1insize = outsizetotstride = totstride * stridereturn outsize, totstridedef inFromOut(net, layernum):RF = 1for layer in reversed(range(layernum)):fsize, stride, pad = net[layer]RF = ((RF -1)* stride) + fsizereturn RFif __name__ == '__main__':print "layer output sizes given image = %dx%d" % (imsize, imsize)for net in net_struct.keys():print '************net structrue name is %s**************'% netfor i in range(len(net_struct[net]['net'])):p = outFromIn(imsize,net_struct[net]['net'], i+1)rf = inFromOut(net_struct[net]['net'], i+1)print "Layer Name = %s, Output size = %3d, Stride = % 3d, RF size = %3d" % (net_struct[net]['name'][i], p[0], p[1], rf)

 

转载于:https://www.cnblogs.com/ChrisInsistPy/p/9508689.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/282374.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

734. [网络流24题] 方格取数问题 二分图点权最大独立集/最小割/最大流

问题描述:在一个有m*n 个方格的棋盘中,每个方格中有一个正整数。现要从方格中取数,使任意2 个数所在方格没有公共边,且取出的数的总和最大。试设计一个满足要求的取数算法。编程任务:对于给定的方格棋盘,按…

Nginx 基础 ( 二)

一、HTTP请求 http请求包括客户端请求服务端 以及 服务端响应数据回客户端,如下 请求:包括请求行、请求头部、请求数据 响应:包括状态行、消息报头、响应正文 比如在Linux中curl请求网站获取请求信息和响应信息 curl -v http://www.kugou.com…

《金融行业应用解决方案白皮书》发布,金融自主创新未来可期!

日前,以“聚势赋能 行业共创”为主题的金融行业解决方案发布会在线上举行。麒麟软件发布《金融行业应用解决方案白皮书》,并发起成立“金融机具生态圈俱乐部”,助力金融行业用户高质量发展。金融信息系统曾经被国外厂商垄断金融信息系统作为国…

leetcode53 Maximum Subarray 最大连续子数组

题目要求 Find the contiguous subarray within an array (containing at least one number) which has the largest sum.For example, given the array [-2,1,-3,4,-1,2,1,-5,4], the contiguous subarray [4,-1,2,1] has the largest sum 6.即:寻找数列中的一个子…

黑马程序员-WEB前端与移动开发就业班

Web前端 — IT互联网的“门面”有人的地方就有江湖,有网站的地方就有Web前端,无所不用,互联网大势所在。课程循序渐进,技术小白课快速上手课程结构由浅入深,基础课程讲解充分,了解网页的结构组成、分析页面…

详解go语言的array和slice 【二】

上一篇 详解go语言的array和slice 【一】已经讲解过,array和slice的一些基本用法,使用array和slice时需要注意的地方,特别是slice需要注意的地方比较多。上一篇的最后讲解到创建新的slice时使用第三个索引来限制slice的容量,在操作新slice时…

详解Objective-C的meta-class

2019独角兽企业重金招聘Python工程师标准>>> 比较简单的一篇英文,重点是讲解meta-class。翻译下,加深理解。 原文标题:What is a meta-class in Objective-C? 原文地址:http://www.cocoawithlove.com/2010/01/what-is…

Nginx 模块的使用

Nginx模块的使用,就是在Nginx配置文件中的http、server、location中添加参数,进行多一项或几项处理一、 实现响应内容替换 1、sub_module二、Nginx的请求限制 1、连接频率限制 limit_conn_module 2、请求频率限制 limit_req_module 注: HTTP请求建立在一次…

Question | 网站被黑客扫描撞库该怎么应对防范?

本文来自网易云社区在安全领域向来是先知道如何攻,其次才是防。针对题主的问题,在介绍如何防范网站被黑客扫描撞库之前,先简单介绍一下什么是撞库。撞库是黑客通过收集互联网已泄露的用户和密码信息,生成对于的字典表,…

十倍程序员 | 使用 Source Generator 将 JSON 转换成 C# 类

前言有时候,我们需要将通过 WebAPI 接收 JSON 字符串转换成 C# 代码。Visual Studio 提供了一个功能菜单可以轻松实现:执行完成后,它会将生成的代码放在打开的的代码窗口中。但是,如果有多个 JSON 字符串需要转换,这个…

Delphi对话框初始地址InitialDir

我的电脑:SaveDialog1.InitialDir : ::{20D04FE0-3AEA-1069-A2D8-08002B30309D};// My Computer {20D04FE0-3AEA-1069-A2D8-08002B30309D}// Network Neighborhood {208D2C60-3AEA-1069-A2D7-08002B30309D}// Recycled {645FF040-5081-101B-9F08-00AA002F954E} 另外…

[python] 解决pip install download速度过慢问题 更换豆瓣源

""" python建立pip.ini.py 2016年4月30日 03:35:11 codegay """import osini"""[global] index-url https://pypi.doubanio.com/simple/ [install] trusted-hostpypi.doubanio.com """ pippathos.environ["…

Maven组件通过命令上传本地和私有仓库

安装本地包到本地仓库:mvn install:install-file -DgroupIdcom.xxx -DartifactIdmqtt-server-client -Dversion1.0.1 -Dpackagingjar -DfileE:\__vdt\MVVP\mqtt-server-client-1.0.1.jar -DpomFileE:\__vdt\MVVP\pom.xml安装本地包到私有仓库:mvn deploy…

Nginx -静态资源Web服务

一、静态资源类型 注:非服务器动态生成的文件 1、浏览器端渲染 HTML、css、js 2、图片 jpeg、gif、png 3、视频 flv、MPEG 4、文件 TXT、等任意下载文件二、静态资源服务配置1、配置语法-文件读取 syntax:sendfile on|off default:sendfi…

微软Microsoft Azure 机器学习工作室的案例之Image Classification using DenseNet

点击上方蓝字关注我们(本文阅读时间:10分钟)Microsoft Azure Machine Learning Studio是微软强大的机器学习平台,在设计器中,微软内置了15个场景案例,但网上似乎没有对这15个案例深度刨析的分析资料,所以我…

java小基础之instanceof运算符

instanceof主要用来判断一个类是否实现了某个接口,或者判断一个实例对象是否属于一个类。 1. 判断一个对象是否属于一个类 boolean result p instanceof Student; 2. 对象类型强制转换前的判断 Person p new Student(); //判断对象p是否为Student类的实例 if(p in…

音乐分类

代码: 1 import numpy as np2 from scipy import fft3 from scipy.io import wavfile4 from sklearn.linear_model import LogisticRegression5 import random6 """7 使用logistic regression处理音乐数据,音乐数据训练样本的获得是使…

Problem C: 类的初体验(III)

Description 定义一个类Data,只有一个double类型的属性和如下4个方法: 1. 缺省构造函数,将属性初始化为0,并输出“Initialize a data 0”。 2. 带参构造函数,将属性初始化为指定参数,并输出“Initialize…

Nginx- 实现跨域访问

一、什么是跨域 跨域:由于浏览器的同源策略,即属于不同域的页面之间不能相互访问各自的页面内容。详细见下表: 注:同源策略,单说来就是同协议,同域名,同端口 URL说明是否允许通信http://www.a…

不管对不对,先把闹钟关了再说

小榆提前关闭早上闹钟,几乎工作日的早晨都是被这魔怔的铃声给拉扯醒,无论有多么不愿还是痛苦,可对这闹钟也无可奈何,就算一时果断掐掉接下来是另一回麻烦事。最后一天,已经顾不得多少,没什么令人惧怕的人或…