python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > 关于nn.BatchNorm1d()用法

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

作者: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就可以了。

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

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

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

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

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

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

使用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])

总结

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

您可能感兴趣的文章:
阅读全文