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 相关文章推荐
详解Python中的装饰器、闭包和functools的教程
Apr 02 Python
python登录豆瓣并发帖的方法
Jul 08 Python
tensorflow识别自己手写数字
Mar 14 Python
python unittest实现api自动化测试
Apr 04 Python
Python 使用类写装饰器的小技巧
Sep 30 Python
Pycharm配置远程调试的方法步骤
Dec 17 Python
解决在Python编辑器pycharm中程序run正常debug错误的问题
Jan 17 Python
Python3 实现文件批量重命名示例代码
Jun 03 Python
PyQt5实现让QScrollArea支持鼠标拖动的操作方法
Jun 19 Python
python函数修饰符@的使用方法解析
Sep 02 Python
python 实现Requests发送带cookies的请求
Feb 08 Python
python 使用tkinter与messagebox写界面和弹窗
Mar 20 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内核之php in array
2015/11/10 PHP
如何在Laravel之外使用illuminate组件详解
2020/09/20 PHP
namespace.js Javascript的命名空间库
2011/10/11 Javascript
原生js实现查找/添加/删除/指定元素的class
2013/04/12 Javascript
JavaScript中instanceof运算符的用法总结
2013/11/19 Javascript
js菜单点击显示或隐藏效果的简单实例
2014/01/13 Javascript
jQuery实现延迟跳转的方法
2015/06/05 Javascript
JavaScript创建闭包的两种方式的优劣与区别分析
2015/06/22 Javascript
JavaScript设计模式经典之工厂模式
2016/02/24 Javascript
分享JS代码实现鼠标放在输入框上输入框和图片同时更换样式
2016/09/01 Javascript
深入理解Node.js的HTTP模块
2016/10/12 Javascript
IE8利用自带的setCapture和releaseCapture解决iframe的拖拽事件方法
2016/10/25 Javascript
微信小程序通过api接口将json数据展现到小程序示例
2017/01/20 Javascript
js+html制作简单日历的方法
2017/06/27 Javascript
基于nodejs+express4.X实现文件下载的实例代码
2017/07/13 NodeJs
详解如何webpack使用DllPlugin
2018/09/30 Javascript
详解vue2.0模拟后台json数据
2019/05/16 Javascript
弱类型语言javascript开发中的一些坑实例小结【变量、函数、数组、对象、作用域等】
2019/08/07 Javascript
Node中对非阻塞I/O、事件循环的知识点总结
2020/01/05 Javascript
easyUI 实现的后台分页与前台显示功能示例
2020/06/01 Javascript
原生js实现自定义难度的扫雷游戏
2021/01/22 Javascript
[03:41]2018完美盛典-《Fight With Us》
2018/12/16 DOTA
Python模块学习 re 正则表达式
2011/05/19 Python
python 抓包保存为pcap文件并解析的实例
2019/07/23 Python
Python3使用PySynth制作音乐的方法
2019/09/09 Python
python创建ArcGIS shape文件的实现
2019/12/06 Python
Python如何在DataFrame增加数值
2020/02/14 Python
Python如何把Spark数据写入ElasticSearch
2020/04/18 Python
魅力教师事迹材料
2014/01/10 职场文书
简历上的自我评价
2014/02/03 职场文书
廉政承诺书
2015/01/19 职场文书
施工安全保证书
2015/05/09 职场文书
债务纠纷代理词
2015/05/25 职场文书
导盲犬小Q观后感
2015/06/11 职场文书
使用kubeadm命令行工具创建kubernetes集群
2022/03/31 Servers
Python内置包对JSON文件数据进行编码和解码
2022/04/12 Python