关于nn.BatchNorm1d()用法及说明

 更新时间:2023年08月03日 16:27:35   作者:Code_demon  
这篇文章主要介绍了关于nn.BatchNorm1d()用法及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

nn.BatchNorm1d()用法

torch.nn.BatchNorm1d(num_features, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
  • num_features – 特征维度
  • eps – 为数值稳定性而加到分母上的值。
  • momentum– 移动平均的动量值。
  • affine –一个布尔值,当设置为真时,此模块具有可学习的仿射参数。

这里其他几个参数都不重要,只需要看num_features就可以了。

num_features就是你需要归一化的那一维的维度。

nn.BatchNorm1d本身不是给定输入矩阵,输出归一化结果的函数,而是定义了一个方法,再用这个方法去做归一化。

BN = nn.BatchNorm1d(100)
input = torch.randn(20, 100)
output = m(input)

我们首先定义了一个归一化的函数BN,需要归一化的维度为100,其他参数为默认。

然后随机初始化一个20×100的矩阵input,再用BN对这个矩阵归一化。

函数的input可以是二维或者三维。

  • 当input的维度为(N, C)时,BN将对C维归一化;
  • 当input的维度为(N, C, L) 时,归一化的维度同样为C维。

使用nn.BatchNorm1d出现RuntimeError

pytorch模型中添加batchnorm过程中出现错误

RuntimeError: running_mean should contain 1 elements not 512

错误来自于nn.BatchNorm1d(N),其中N=channels

解决办法

将输入重新排列

video = video.view(-1, video.shape[-1])

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Python使用pydub模块转换音频格式以及对音频进行剪辑

    Python使用pydub模块转换音频格式以及对音频进行剪辑

    这篇文章主要给大家介绍了关于Python使用pydub模块转换音频格式以及对音频进行剪辑的相关资料pydub是python的高级一个音频处理库,可以让你以一种不那么蠢的方法处理音频。需要的朋友可以参考下
    2021-06-06
  • Python实现的简单万年历例子分享

    Python实现的简单万年历例子分享

    这篇文章主要介绍了Python实现的简单万年历例子分享,需要的朋友可以参考下
    2014-04-04
  • socket连接关闭问题分析

    socket连接关闭问题分析

    socket建立连接的时候是三次握手,这个大家都很清楚,但是socket关闭连接的时候,需要进行四次挥手,但很多人对于这四次挥手的具体流程不清楚,吃了很多亏,本文来为大家进行分析
    2022-01-01
  • python+opencv实现论文插图局部放大并拼接效果

    python+opencv实现论文插图局部放大并拼接效果

    在做图像数据标注时,很难一次就做到精准标注,如果目标比较小,即使微调也难以做到精准,所以就需要另外一个窗口对标注区域进行局部放大以方便微调,这篇文章主要给大家介绍了关于python+opencv实现论文插图局部放大并拼接效果的相关资料,需要的朋友可以参考下
    2021-10-10
  • 对django的User模型和四种扩展/重写方法小结

    对django的User模型和四种扩展/重写方法小结

    今天小编就为大家分享一篇对django的User模型和四种扩展/重写方法小结,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-08-08
  • 重构Python代码的六个实例

    重构Python代码的六个实例

    这篇文章主要给大家介绍了关于重构Python代码的六个实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11
  • 如何使用python-opencv批量生成带噪点噪线的数字验证码

    如何使用python-opencv批量生成带噪点噪线的数字验证码

    这篇文章主要介绍了如何使用python-opencv批量生成带噪点噪线的数字验证码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • 教你如何使用Python实现二叉树结构及三种遍历

    教你如何使用Python实现二叉树结构及三种遍历

    什么是二叉树:每个节点最多有两个子树的树结构,通常子树被称作“左子树”(left subtree)和“右子树”(right subtree) 二叉树由两个对象组成,一个是节点对象,一个是树对象,需要的朋友可以参考下
    2021-06-06
  • Python time模块之时间戳与结构化时间的使用

    Python time模块之时间戳与结构化时间的使用

    这篇文章主要为大家详细介绍了Python中的time模块以及如何利用time模块实现时间戳与结构化时间,文中的示例代码讲解详细,需要的可以参考一下
    2022-06-06
  • Django 简单实现分页与搜索功能的示例代码

    Django 简单实现分页与搜索功能的示例代码

    这篇文章主要介绍了Django 简单实现分页与搜索功能的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-11-11

最新评论