关于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字符串的字符转换、字符串劈分、字符串合并问题分析
这篇文章主要介绍了Python字符串的字符转换、字符串劈分、字符串合并,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2023-03-03
PyQt5.6+pycharm配置以及pyinstaller生成exe(小白教程)
这篇文章主要介绍了PyQt5.6+pycharm配置以及pyinstaller生成exe,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2020-06-06


最新评论