LRN在caffe和tensorflow中的不同实现
来源:互联网 发布:aws 阿里云 价格 编辑:程序博客网 时间:2024/05/16 09:38
Local Response Normalization,其作用是实现“侧抑制”。
在channel维度上进行抑制,从公式中可以看出
在tensorflow和caffe中由不同的实现公式
tensorflow中的实现方式就是上述公式的实现,文档中是这样解释的:
sqr_sum[a, b, c, d] =sum(input[a, b, c, d - depth_radius : d + depth_radius + 1] ** 2)output = input / (bias + alpha * sqr_sum) ** betalocal_response_normalization( input, depth_radius=5, bias=1, alpha=1, beta=0.5, name=None)
其参数depth_radius为公式中的r,bias为b。
而caffe中略有不同,其实现公式为:
其中的m对应第一个公式中的2*r+1
caffe参数中的local_size对应m,所以这个参数是和tensorflow的depth_radius是不同的,其关系为local_size = 2*depth_radius + 1,因此local_size必须为奇数。
而且实际上平方和项的系数是不同的,tensorflow的系数就是函数的参数alpha,而caffe的系数实际上要将定义的alpha参数除以local_size的大小
总结一下tensorfow和caffe的两点不同
1.local_size和depth_radius不是对应的,其关系为local_size = 2*depth_radius + 1
2.alpha的定义caffe要在实际的系数上乘以local_size
因此caffe中的模型不能轻易得将参数直接拿过来用,需要做一下转换。当然如果用caffe-tensorflow的话参数关系会自动转换。
阅读全文
0 0
- LRN在caffe和tensorflow中的不同实现
- tensorflow中的lrn函数详解
- caffe中LRN的实现
- tensorflow 实现AlexNet(附lrn API介绍)
- caffe LRN层作用 和源码分析
- Caffe源码导读(7):LRN层的实现
- Caffe源码导读(7):LRN层的实现
- Caffe源码导读(7):LRN层的实现
- Caffe源码导读(1):LRN层的实现
- Caffe源码导读(7):LRN层的实现
- caffe的LRN层粗解
- caffe中, type: "LRN"
- caffe的LRN层粗解
- caffe用python设置网络的Convolution层Pooling层和LRN--caffe学习(4))
- LRN层的实现
- replace 语句 在OceanBase 和 mysql 中的不同实现
- HashMap在Android和Java中的不同实现
- LeNet在caffe中的实现分析
- Aonroid
- TCP拥塞控制
- 转:Scikit-learn:模型评估Model evaluation
- 正则表达式
- Leetcode Implement strStr()解题报告
- LRN在caffe和tensorflow中的不同实现
- 自学笔记:安卓,手指滑动事件示例
- 2017年总结
- 重新理解JS的6种继承方式
- 数据结构实验之查找四:二分查找
- MySQL基础教程15-Mysql数据类型-整形
- spring-data-redis连接操作redis
- 小程序问世一周年,你知道流量怎么变现吗??
- 四种生成和解析XML文档的方法详解