我是靠谱客的博主 激动啤酒,最近开发中收集的这篇文章主要介绍pytorch中的批量归一化BatchNorm1d和BatchNorm2d的用法、原理记录,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1.对2d或3d数据进行批标准化(Batch Normlization)操作:

原类定义:

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

参数释义:

num_features:特征的维度 (N,L) -> L ;(N,C,L) -> C

eps:在分母上添加一个定值,不能趋近于0

momentum:动态均值和动态方差所使用的动量,这里的momentum是对均值和方差进行的滑动平均。
即 μ1 = (1 - momentum)* μ_last + momentum * μ,这里μ1为输出值,μ_last为上一次的计算值,μ为真实计算的值

affine:布尔变量,是否为该层添加可学习的仿设变换,仿射变换的系数即为下式的gamma和beta

原理:计算各个维度均值和标准差。

2.对由3d数据组成的4d数据(N,C,X,Y)进行Batch Normlization; 

类定义:

class torch.nn.BatchNorm2d(num_features, eps=1e-05, momentum=0.1, affine=True):

参数释义:

num_features:特征的维度 (N,C,X,Y) -> C

eps:在分母上添加一个定值,不能趋近于0

momentum:动态均值和动态方差所使用的动量,原理同上

affine:布尔变量,是否为该层添加可学习的仿设变换,原理同上

原理:计算各个维度均值和标准差。

3.调用:

import torch
import torch.nn as nn
import torch.nn.function as F


self.batch_norm = nn.BatchNorm1d(num_features)#默认参数可以不填

self.batch_norm1 = nn.BatchNorm2d(num_features) #默认参数可以不填

最后

以上就是激动啤酒为你收集整理的pytorch中的批量归一化BatchNorm1d和BatchNorm2d的用法、原理记录的全部内容,希望文章能够帮你解决pytorch中的批量归一化BatchNorm1d和BatchNorm2d的用法、原理记录所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(36)

评论列表共有 0 条评论

立即
投稿
返回
顶部