pytorch中的批量归一化BatchNorm1d和BatchNorm2d的用法、原理记录
生活随笔
收集整理的這篇文章主要介紹了
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 Fself.batch_norm = nn.BatchNorm1d(num_features)#默認參數可以不填self.batch_norm1 = nn.BatchNorm2d(num_features) #默認參數可以不填總結
以上是生活随笔為你收集整理的pytorch中的批量归一化BatchNorm1d和BatchNorm2d的用法、原理记录的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python生成随机数总结
- 下一篇: ValueError: slice in