赞
踩
这几天学习pytorch过程中,碰到一个torch.normal()函数,本来以为很简单,不就是一个生成正态分布的函数吗?但是一看官方文档,整个人都不好了,官方文档里面均值和标准差都能输入的是张量,这和我想的不一样,然后我就看了半天官方文档,然后我就骂人了,写的什么屁东西,一句话都没说清楚。后来我有去博客上搜索别人是怎么解释的,好家伙,清一色的不说人话。至此我觉得我自己有必要写一篇博客记录一下这个函数,避免下次在碰到又是全网找资料,还都是一些不说人话的。
torch.normal()
函数用于生成服从正态分布(高斯分布)的随机数张量。其语法如下:
torch.normal(mean, std, *, generator=None, out=None)
参数说明:
mean
:表示正态分布的均值。可以是一个标量,也可以是一个张量,如果是张量,其形状必须与 std
相容。如果 mean
是一个张量,那么函数将生成与 mean
相同形状的随机数张量,并以 mean
中的值作为各个维度的均值。std
:表示正态分布的标准差。可以是一个标量,也可以是一个张量,如果是张量,其形状必须与 mean
相容。如果 std
是一个张量,那么函数将生成与 std
相同形状的随机数张量,并以 std
中的值作为各个维度的标准差。generator
:(可选)用于生成随机数的生成器。如果不指定,将使用默认的生成器。out
:(可选)输出张量,用于保存结果。如果不指定,将会创建一个新的张量来保存结果。返回值:
mean
和 std
相同,其中的元素服从均值为 mean
,标准差为 std
的正态分布。这是 torch.normal()
函数的基本用法。你可以根据具体需求调整 mean
和 std
的值来生成不同形状、不同均值和标准差的正态分布随机数。
相信看完过后还是不明白在说什么,放心举几个例子你肯定就能明白了。
y = torch.normal(0,1,size=(2,2))
print
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。