class torch.nn.BatchNorm1d(num_features, eps=1e-05, momentum=0.1, affine=True) [source]

对小批量(mini-batch)的2d或3d输入进行批标准化(Batch Normalization)操作

在每一个小批量(mini-batch)数据中,计算输入各个维度的均值和标准差。gamma与beta是可学习的大小为C的参数向量(C为输入大小)

在训练时,该层计算每次输入的均值与方差,并进行移动平均。移动平均默认的动量值为0.1。

在验证时,训练求得的均值/方差将用于标准化验证数据。

参数:
num_features: 来自期望输入的特征数,C from an expected input of size (N,C,L) or L from input of size (N,L)
eps: 为保证数值稳定性(分母不能趋近或取0),给分母加上的值。默认为1e-5。
momentum: 动态均值和动态方差所使用的动量。默认为0.1。
affine: 一个布尔值,当设为true,给该层添加可学习的仿射变换参数。

Shape: - 输入:(N, C)或者(N, C, L) - 输出:(N, C)或者(N,C,L)(输入输出相同)

例子

m = nn.BatchNorm1d(5, affine=False)
m1 = nn.BatchNorm1d(5, affine=True)
input = autograd.Variable(torch.randn(5, 5))
output = m(input)
output1 = m1(input)
print(input, '\n',output,'\n',output1)tensor([[-0.6046, -0.8939,  1.3246,  0.2621,  1.0777],[ 0.9088, -0.6219,  0.9589,  0.7307,  0.5221],[ 1.7435,  0.6662, -0.5827,  0.3325, -0.8179],[-0.2250,  0.9930,  0.0504, -0.4509,  1.6605],[-0.5742,  1.6543,  0.6083,  0.5746, -0.3208]]) tensor([[-0.9212, -1.2920,  1.2648, -0.0680,  0.7249],[ 0.7107, -1.0117,  0.7224,  1.0842,  0.1085],[ 1.6108,  0.3161, -1.5642,  0.1049, -1.3780],[-0.5119,  0.6530, -0.6252, -1.8215,  1.3713],[-0.8885,  1.3345,  0.2022,  0.7005, -0.8266]]) tensor([[-0.9212, -1.2920,  1.2648, -0.0680,  0.7249],[ 0.7107, -1.0117,  0.7224,  1.0842,  0.1085],[ 1.6108,  0.3161, -1.5642,  0.1049, -1.3780],[-0.5119,  0.6530, -0.6252, -1.8215,  1.3713],[-0.8885,  1.3345,  0.2022,  0.7005, -0.8266]],grad_fn=<NativeBatchNormBackward>)
class torch.nn.BatchNorm2d(num_features, eps=1e-05, momentum=0.1, affine=True)[source]

对小批量(mini-batch)3d数据组成的4d输入进行批标准化(Batch Normalization)操作

在每一个小批量(mini-batch)数据中,计算输入各个维度的均值和标准差。gamma与beta是可学习的大小为C的参数向量(C为输入大小)

在训练时,该层计算每次输入的均值与方差,并进行移动平均。移动平均默认的动量值为0.1。

在验证时,训练求得的均值/方差将用于标准化验证数据。

参数:

num_features: 来自期望输入的特征数,C from an expected input of size (N,C,H,W)
eps: 为保证数值稳定性(分母不能趋近或取0),给分母加上的值。默认为1e-5。
momentum: 动态均值和动态方差所使用的动量。默认为0.1。
affine: 一个布尔值,当设为true,给该层添加可学习的仿射变换参数。

Shape: - 输入:(N, C,H, W) - 输出:(N, C, H, W)(输入输出相同)

例子

m = nn.BatchNorm2d(2, affine=False)
m1 = nn.BatchNorm2d(2, affine=True)
input = autograd.Variable(torch.randn(1,2,5, 5))
output = m(input)
output1 = m1(input)
print(input, '\n',output,'\n',output1)tensor([[[[-0.2606, -0.8874,  0.8364,  0.0184,  0.8040],[ 1.0593, -0.6811,  1.3497, -0.6840, -2.0859],[-0.5399,  1.3321, -0.6281, -0.9044,  1.7491],[ 0.7559,  0.5607, -0.0447, -0.3868,  1.2404],[ 1.2078, -0.9642,  0.3980,  0.2087, -1.3940]],[[ 0.0493,  0.7372,  1.1964,  0.3862,  0.9900],[ 0.3544,  0.1767, -1.5780,  0.1642, -2.1586],[-0.4891, -0.7272,  1.6860, -1.6091,  0.9730],[-2.4161, -2.2096,  0.4617, -0.2965, -0.5663],[-0.0222, -0.7628,  0.6404, -1.4428,  0.5750]]]]) tensor([[[[-0.3522, -0.9959,  0.7743, -0.0657,  0.7410],[ 1.0032, -0.7840,  1.3015, -0.7870, -2.2266],[-0.6390,  1.2833, -0.7296, -1.0134,  1.7116],[ 0.6917,  0.4912, -0.1305, -0.4818,  1.1892],[ 1.1557, -1.0748,  0.3242,  0.1298, -1.5161]],[[ 0.2560,  0.8743,  1.2870,  0.5588,  1.1015],[ 0.5302,  0.3705, -1.2066,  0.3593, -1.7285],[-0.2280, -0.4420,  1.7271, -1.2346,  1.0862],[-1.9599, -1.7743,  0.6266, -0.0549, -0.2974],[ 0.1917, -0.4739,  0.7873, -1.0852,  0.7285]]]]) tensor([[[[-0.3522, -0.9959,  0.7743, -0.0657,  0.7410],[ 1.0032, -0.7840,  1.3015, -0.7870, -2.2266],[-0.6390,  1.2833, -0.7296, -1.0134,  1.7116],[ 0.6917,  0.4912, -0.1305, -0.4818,  1.1892],[ 1.1557, -1.0748,  0.3242,  0.1298, -1.5161]],[[ 0.2560,  0.8743,  1.2870,  0.5588,  1.1015],[ 0.5302,  0.3705, -1.2066,  0.3593, -1.7285],[-0.2280, -0.4420,  1.7271, -1.2346,  1.0862],[-1.9599, -1.7743,  0.6266, -0.0549, -0.2974],[ 0.1917, -0.4739,  0.7873, -1.0852,  0.7285]]]],grad_fn=<NativeBatchNormBackward>)

pytorch中批量归一化BatchNorm1d和BatchNorm2d函数相关推荐

  1. pytorch 批量归一化BatchNorm1d和BatchNorm2d的用法、BN层参数 running_mean running_var变量计算 验证

    前提知识 BN层包括mean var gamma beta四个参数,.对于图像来说(4,3,2,2),一组特征图,一个通道的特征图对应一组参数,即四个参数均为维度为通道数的一维向量,图中gamma.b ...

  2. pytorch中的批量归一化BatchNorm1d和BatchNorm2d的用法、原理记录

    1.对2d或3d数据进行批标准化(Batch Normlization)操作: 原类定义: class torch.nn.BatchNorm1d(num_features, eps=1e-05, mo ...

  3. Pytorch中tensor维度和torch.max()函数中dim参数的理解

    Pytorch中tensor维度和torch.max()函数中dim参数的理解 维度 参考了 https://blog.csdn.net/qq_41375609/article/details/106 ...

  4. python中numpy函数fft_如何在PyTorch中正确使用Numpy的FFT函数?

    我最近被介绍给Pythorch,开始浏览图书馆的文档和教程. 在"使用numpy和scipy创建扩展"教程中( http://pytorch.org/tutorials/advan ...

  5. Pytorch中tensor.expand()和tensor.expand_as()函数

    Pytorch中tensor.expand函数 Tensor.expand()函数详解 Tensor.expand_as()函数 Tensor.expand()函数详解 函数语法: # 官方解释: D ...

  6. python怎么批量移动文件_python中批量移动目录所有文件函数

    #encoding:utf-8 import os,sys import shutil from shutil import Error from shutil import copystat fro ...

  7. 【Torch API】pytorch 中torch.ones_like和torch.zeros_like函数详解

    torch.ones_like函数和torch.zeros_like函数的基本功能是根据给定张量,生成与其形状相同的全1张量或全0张量,示例如下: input = torch.rand(2, 3) p ...

  8. Pytorch中torch.unsqueeze()和torch.squeeze()函数解析

    一. torch.squeeze()函数解析 1. 官网链接 torch.squeeze(),如下图所示: 2. torch.squeeze()函数解析 torch.squeeze(input, di ...

  9. PyTorch中 nn.Conv2d与nn.ConvTranspose2d函数的用法

    原文链接 1. 通道数问题 : 描述一个像素点,如果是灰度,那么只需要一个数值来描述它,就是单通道.如果有RGB三种颜色来描述它,就是三通道.最初输入的图片样本的 channels ,取决于图片类型: ...

最新文章

  1. 技术 | 入门机器学习必须知道的6件事,你可未必都了然于心了
  2. Flask之请求钩子
  3. 关闭防火墙命令 500 OOPS: cannot change directory:
  4. LeetCode 13. Roman to Integer
  5. 前端学习(3046):vue+element今日头条管理-页面布局和面包屑筛选
  6. js如何获取计算机当前时间,js获取当前系统时间
  7. Kotlin 学习笔记08
  8. 如何用算法预测世界杯?
  9. LabVIEW两种方法实现Excel数据(含汉字)读取
  10. 「津津乐道播客」#342 编码人声:跟「老」程序员们聊聊编程的历史与未来
  11. 内核tty框架_串口_tty_shell的关系
  12. ElasticSearch中的分片(shards)是什么
  13. 购物车的制作 与注册表单验证
  14. DVB数字电视系统简介(DVB-C,DVB-S,DVB-T)
  15. 初始化mysql报错
  16. Calcite CBO 分析1
  17. 联合概率数据互联(JPDA) ----多假设跟踪(MHT)
  18. 到底怎么买保险?附保险配置实战
  19. 基于Seq2Seq的GRU时间序列预测Python程序
  20. 嫦娥探月数据公布:高清真彩色月面图像首公开

热门文章

  1. 小程序转 App 帮助企业打开营销局面
  2. Python带你面向对象爬取网易云音乐
  3. DOH(DNS-over-HTTPs)服务器搭建
  4. 微型计算机字,小型微型计算机系统
  5. HNU--计算机网络实验2
  6. 分享Linux 机器 CPU 毛刺问题排查经历
  7. hp微型计算机装打印机,hp打印机如何安装 hp打印机安装步骤及注意事项【详解】...
  8. 程序员常用十大算法(四):KMP算法 与 暴力匹配算法 解决字符串匹配问题
  9. 【超级干huo】用c语言制作游戏地图【可自定义】
  10. C语言简单直观打印二叉树