| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> (Pytorch)BatchNorm中的track_running_stats参数 -> 正文阅读 |
|
[人工智能](Pytorch)BatchNorm中的track_running_stats参数 |
torch.nn.BatchNorm2d 类: torch.nn.BatchNorm2d(num_features,?eps=1e-05,?momentum=0.1,?affine=True,?track_running_stats=True,?device=None,?dtype=None) 参数: Num_features:输入 (N,C,H,W) Eps: 为保证数值稳定性在分母上加入的一个极小的数,默认为:1e-5 Momentum:用于计算running_mean和running_var,默认为0.1 Affine:一个布尔值,当设置为True时,模型有可学习的参数,默认为True track_running_stats:一个布尔值,当设置为True时,模型追踪running_mean和running_variance,当设置为False时,模型不跟踪统计信息,并在训练和测试时都使用测试数据的均值和方差来代替,默认为True 《 Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift?》中描述了对一个4维输入(一小批有额外通道维度的2维输入)使用Batch Normalization。 ? 在mini-batch上计算每个维度的均值和标准差, γ??和 β?是大小为C的可学习参数向量(C是输入大小),?γ??默认设置为1, β?默认设置为0 。其中,标准差是通过有偏估计来计算的。等同于torch.var(input,unbiased=False) 。 通常在默认情况下,训练过程中BatchNorm层会保持对其计算的均值和方差的估计,然后在测试时使用这个均值和方差进行标准化。Running estimates保持默认动量为0.1 。 如果参数track_running_stats被设置为False,BatchNorm层将不会进行running estimates,Batch统计的均值和方差将会使用测试数据的均值和方差来代替。 NOTE: BatchNorm中的momentum参数与优化器中的momentum和传统概念中的momentum不同。 在BatchNorm中,Running statistics的更新规则是: X_new = ( 1 - momentum ) * X_old + momentum * X_current X是估计量的统计;X_current是新估计的值。 因为Batch Normalization是在Channel维度上进行的,在(N,H,W)的切片上计算统计信息, 所以通常称为空间批归一化。 BatchNorm: 输入:(N,C,H,W) 输出:(N,C,H,W) 输入输出形状相同 训练阶段:
测试阶段:
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/27 0:16:57- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |