pytorch方法测试详解——归一化(BatchNorm2d)


Posted in Python onJanuary 15, 2020

测试代码:

import torch

import torch.nn as nn

m = nn.BatchNorm2d(2,affine=True) #权重w和偏重将被使用
input = torch.randn(1,2,3,4)
output = m(input)

print("输入图片:")
print(input)
print("归一化权重:")
print(m.weight)
print("归一化的偏重:")
print(m.bias)

print("归一化的输出:")
print(output)
print("输出的尺度:")
print(output.size())

# i = torch.randn(1,1,2)
print("输入的第一个维度:")
print(input[0][0])
firstDimenMean = torch.Tensor.mean(input[0][0])
firstDimenVar= torch.Tensor.var(input[0][0],False) #Bessel's Correction贝塞尔校正不会被使用

print(m.eps)
print("输入的第一个维度平均值:")
print(firstDimenMean)
print("输入的第一个维度方差:")
print(firstDimenVar)

bacthnormone = \
  ((input[0][0][0][0] - firstDimenMean)/(torch.pow(firstDimenVar+m.eps,0.5) ))\
        * m.weight[0] + m.bias[0]
print(bacthnormone)

输出为:

输入图片:

tensor([[[[-2.4308, -1.0281, -1.1322, 0.9819],
     [-0.4069, 0.7973, 1.6296, 1.6797],
     [ 0.2802, -0.8285, 2.0101, 0.1286]],


     [[-0.5740, 0.1970, -0.7209, -0.7231],
     [-0.1489, 0.4993, 0.4159, 1.4238],
     [ 0.0334, -0.6333, 0.1308, -0.2180]]]])

归一化权重:

Parameter containing:
tensor([ 0.5653, 0.0322])

归一化的偏重:

Parameter containing:
tensor([ 0., 0.])

归一化的输出:

tensor([[[[-1.1237, -0.5106, -0.5561, 0.3679],
     [-0.2391, 0.2873, 0.6510, 0.6729],
     [ 0.0612, -0.4233, 0.8173, -0.0050]],


     [[-0.0293, 0.0120, -0.0372, -0.0373],
     [-0.0066, 0.0282, 0.0237, 0.0777],
     [ 0.0032, -0.0325, 0.0084, -0.0103]]]])

输出的尺度:

torch.Size([1, 2, 3, 4])

输入的第一个维度:

tensor([[-2.4308, -1.0281, -1.1322, 0.9819],
    [-0.4069, 0.7973, 1.6296, 1.6797],
    [ 0.2802, -0.8285, 2.0101, 0.1286]])
1e-05

输入的第一个维度平均值:

tensor(0.1401)

输入的第一个维度方差:

tensor(1.6730)
tensor(-1.1237)

结论:

输出的计算公式如下

pytorch方法测试详解——归一化(BatchNorm2d)

注意torch中方差实现的方法是没有使用Bessel's correction 贝塞尔校正的方差,所以在自己写的方差中不要用错了。(贝塞尔校正,即样本方差和总体方差之间区别和校正。)

以上这篇pytorch方法测试详解——归一化(BatchNorm2d)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Scrapy框架CrawlSpiders的介绍以及使用详解
Nov 29 Python
利用Python如何批量更新服务器文件
Jul 29 Python
python TKinter获取文本框内容的方法
Oct 11 Python
Django添加KindEditor富文本编辑器的使用
Oct 24 Python
python 删除字符串中连续多个空格并保留一个的方法
Dec 22 Python
Python正则匹配判断手机号是否合法的方法
Dec 09 Python
Python面向对象总结及类与正则表达式详解
Apr 18 Python
django中的图片验证码功能
Sep 18 Python
python模块导入的方法
Oct 24 Python
使用Python来做一个屏幕录制工具的操作代码
Jan 18 Python
Windows系统下pycharm中的pip换源
Feb 23 Python
全网最全python库selenium自动化使用详细教程
Jan 12 Python
Python 中@property的用法详解
Jan 15 #Python
Python字符串中删除特定字符的方法
Jan 15 #Python
计算pytorch标准化(Normalize)所需要数据集的均值和方差实例
Jan 15 #Python
pytorch 图像中的数据预处理和批标准化实例
Jan 15 #Python
pytorch实现特殊的Module--Sqeuential三种写法
Jan 15 #Python
python实现删除列表中某个元素的3种方法
Jan 15 #Python
python opencv根据颜色进行目标检测的方法示例
Jan 15 #Python
You might like
php jsonp单引号转义
2014/11/23 PHP
php防止CC攻击代码 php防止网页频繁刷新
2015/12/21 PHP
Android AsyncTack 异步任务实例详解
2016/11/02 PHP
Thinkphp 中 distinct 的用法解析
2016/12/14 PHP
Laravel服务容器绑定的几种方法总结
2020/06/14 PHP
用JavaScript和注册表脚本实现右键收藏Web页选中文本
2007/01/28 Javascript
由document.body和document.documentElement想到的
2009/04/13 Javascript
js正则表达式匹配数字字母下划线等
2015/04/14 Javascript
详解js跨域原理以及2种解决方案
2015/12/09 Javascript
js阻止浏览器默认行为的简单实例
2016/05/15 Javascript
使用jquery提交form表单并自定义action的实现代码
2016/05/25 Javascript
利用JQuery阻止事件冒泡
2016/12/01 Javascript
利用JS轻松实现获取表单数据
2016/12/06 Javascript
基于jQuery实现的查看全文功能【实用】
2016/12/11 Javascript
几行js代码实现自适应
2017/02/24 Javascript
Angular.JS中的指令引用template与指令当做属性详解
2017/03/30 Javascript
Vue cli构建及项目打包以及出现的问题解决
2018/08/27 Javascript
mock.js模拟数据实现前后端分离
2019/07/24 Javascript
关于vue路由缓存清除在main.js中的设置
2019/11/06 Javascript
es6 super关键字的理解与应用实例分析
2020/02/15 Javascript
Element实现表格嵌套、多个表格共用一个表头的方法
2020/05/09 Javascript
浅析微信小程序自定义日历组件及flex布局最后一行对齐问题
2020/10/29 Javascript
Python实现把json格式转换成文本或sql文件
2015/07/10 Python
实例讲解Python中global语句下全局变量的值的修改
2016/06/16 Python
python的staticmethod与classmethod实现实例代码
2018/02/11 Python
python批量查询、汉字去重处理CSV文件
2018/05/31 Python
Python selenium键盘鼠标事件实现过程详解
2020/07/28 Python
HTML5 embed标签定义和用法详解
2014/05/09 HTML / CSS
html5调用app分享功能示例(WebViewJavascriptBridge)
2018/03/21 HTML / CSS
莫斯科的韩国化妆品店:Sifo
2019/12/04 全球购物
暑期培训随笔感言
2014/03/10 职场文书
2014年体育工作总结
2014/11/24 职场文书
管理失职检讨书范文
2015/05/05 职场文书
Python的这些库,你知道多少?
2021/06/09 Python
windows11怎么查看wifi密码? win11查看wifi密码的技巧
2021/11/21 数码科技
《战锤40K:暗潮》跳票至9月 公布新宣传片
2022/04/03 其他游戏