python batch normalization_python – Keras BatchNormalization,样本明智规范化究竟是什么?...
我想弄清楚Keras的批量标准化到底是什么.现在我有以下代码.
for i in range(8):
c = Convolution2D(128, 3, 3, border_mode = 'same', init = 'he_normal')(c)
c = LeakyReLU()(c)
c = Convolution2D(128, 3, 3, border_mode = 'same', init = 'he_normal')(c)
c = LeakyReLU()(c)
c = Convolution2D(128, 3, 3, border_mode = 'same', init = 'he_normal')(c)
c = LeakyReLU()(c)
c = merge([c, x], mode = 'sum')
c = BatchNormalization(mode = 1)(c)
x = c
我将批量标准模式设置为1,根据Keras文档1:样本标准化.此模式假定为2D输入.
我认为这应该做的只是将批次中的每个样本标准化,而不是每个其他样本.但是,当我查看调用函数的源代码时,我看到以下内容.
elif self.mode == 1:
# sample-wise normalization
m = K.mean(x, axis=-1, keepdims=True)
std = K.std(x, axis=-1, keepdims=True)
x_normed = (x - m) / (std + self.epsilon)
out = self.gamma * x_normed + self.beta
在这里,它只计算所有x的平均值,在我看来是(BATCH_SIZE,128,56,56).在模式1中,我认为它应该独立于批处理中的其他样本进行标准化.所以不应该轴= 1?在文档中还有什么“假设2D输入”?
最佳答案
In this it is just computing the mean over all of x which in my case is (BATCH_SIZE, 128, 56, 56) I think.
通过这样做,您已经违反了该图层的合同.这不是二维而是四维输入.
I thought it was supposed to normalize independent of the other samples in the batch when in mode 1
确实如此. K.mean(…,axis = -1)正在减小轴-1,它与输入的最后一个轴同义.因此,假设输入形状为(batchsz,features),轴-1将成为特征轴.
由于K.mean与numpy.mean非常相似,你可以自己测试一下:
>>> x = [[1,2,3],[4,5,6]]
>>> x
array([[1, 2, 3],
[4, 5, 6]])
>>> np.mean(x, axis=-1)
array([ 2., 5.])
您可以看到批次中每个样本的特征都减少了.
python batch normalization_python – Keras BatchNormalization,样本明智规范化究竟是什么?...相关推荐
- 基于MNIST手写体数字识别--含可直接使用代码【Python+Tensorflow+CNN+Keras】
基于MNIST手写体数字识别--[Python+Tensorflow+CNN+Keras] 1.任务 2.数据集分析 2.1 数据集总体分析 2.2 单个图片样本可视化 3. 数据处理 4. 搭建神经 ...
- Python中的类、模块和包究竟是什么?
Python培训教程:Python中的类.模块和包究竟是什么?在Python和其他编程语言中,都有类似或相同的概念,如对象.类.模块.包,名称都是一样的,只不过会有细微的一些区别,正是因为有这些存在, ...
- Python的GIL是什么鬼,多线程性能究竟如何
2019独角兽企业重金招聘Python工程师标准>>> #Python的GIL是什么鬼,多线程性能究竟如何 前言:博主在刚接触Python的时候时常听到GIL这个词,并且发现这个词经 ...
- Keras少量样本训练强大图像分类模型
原文:Building powerful image classification models using very little data 作者:Francois Chollet,2016.6.2 ...
- 盘一盘 Python 系列 10 - Keras (上)
本文含 12119 字,64图表截屏 建议阅读 62 分钟 0 引言 本文是 Python 系列的第十三篇,也是深度学习框架的第一篇 - Keras. 深度学习之 Keras 深度学习之 Tensor ...
- python batch normalization_Batch Normalization 详解
一.背景意义 本篇博文主要讲解2015年深度学习领域,非常值得学习的一篇文献:<Batch Normalization: Accelerating Deep Network Training b ...
- python机器学习库keras——CNN卷积神经网络人脸识别
全栈工程师开发手册 (作者:栾鹏) python教程全解 github地址:https://github.com/626626cdllp/kears/tree/master/Face_Recognit ...
- python机器学习库keras——AutoEncoder自编码、特征压缩
全栈工程师开发手册 (作者:栾鹏) python教程全解 keras使用深度网络实现自编码,也就是说对每个样本的n维特征,使用k为特征来表示,实现编码压缩的功能.也实现了特征选择的功能.比如手写体包含 ...
- python机器学习库keras——CNN卷积神经网络识别手写体
分享一个朋友的人工智能教程.零基础!通俗易懂!风趣幽默!还带黄段子!大家可以看看是否对自己有帮助:点击打开 全栈工程师开发手册 (作者:栾鹏) python教程全解 keras使用CNN识别手写体 其 ...
最新文章
- 前端学习(1771):前端调试之serverworkers的概念和方法
- LeetCode 1064. 不动点(二分查找)
- .Net Core 开发成长路线图
- sqlite3使用简介
- php前台提交后台刷新,用js post数据后到后台,处理后如何实现前台页面刷新?...
- Python_微信开发
- Spring MVC(三) 数据转换、格式化、校验
- 马哥运维学习作业(九)
- jquery基本过滤选择器:first :last :not(.myclass) :even :odd :eq(1) :gt(5) :lt(1) :header :animated :focus
- 读完了csapp(中文名:深入理解计算机系统)
- 小米路由器能搭建虚拟服务器吗,【教程】如何通过小米路由器构建文件共享服务...
- 【人脸姿态】2D人脸姿态估计的两种方式:solvePnP与3DMM参数
- MultiDesk远程桌面连接
- pagefile.sys从C盘移到其他盘
- SpringBoot集成SpringSecurity(二) 个性化登录配置(remember-me mongodb)
- 【Hive任务优化】—— Map、Reduce数量调整
- 安全多方计算之BGW算法
- 接招吧,最强“高并发”系统设计 46 连问,分分钟秒杀一众面试者
- 孢子框架-互联网金融平台微服务架构设计(转)
- Mac 使用终端关机的命令
热门文章
- 惠普计算机电源怎么设置充电,惠普电脑怎么用外接电源时不用电池怎样设置的...
- 修改 jar 的一些体会
- 生命科学领域颠覆性技术——基因测序
- 不用在读长和准确性之间做选择题,PacBio发表新方法
- 计算机丢失mfc120u.dll,mfc120u.dll丢失怎么修好
- laravel php跨域请求,laravel开发中跨域的解决方案
- librosa.stft() 短时傅里叶变换
- vue element-ui Notification 挤在一起,重叠问题 解决办法
- add函数 pytorch_Pytorch学习记录-Pytorch可视化使用tensorboardX
- 计算机管理信息系统大作业,管理信息系统期末大作业