当前位置:   article > 正文

torch.normal()函数详解

torch.normal


前言

这几天学习pytorch过程中,碰到一个torch.normal()函数,本来以为很简单,不就是一个生成正态分布的函数吗?但是一看官方文档,整个人都不好了,官方文档里面均值和标准差都能输入的是张量,这和我想的不一样,然后我就看了半天官方文档,然后我就骂人了,写的什么屁东西,一句话都没说清楚。后来我有去博客上搜索别人是怎么解释的,好家伙,清一色的不说人话。至此我觉得我自己有必要写一篇博客记录一下这个函数,避免下次在碰到又是全网找资料,还都是一些不说人话的。

一、torch.normal()参数解释

torch.normal() 函数用于生成服从正态分布(高斯分布)的随机数张量。其语法如下:

torch.normal(mean, std, *, generator=None, out=None)
  • 1

参数说明:

  • mean:表示正态分布的均值。可以是一个标量,也可以是一个张量,如果是张量,其形状必须与 std 相容。如果 mean 是一个张量,那么函数将生成与 mean 相同形状的随机数张量,并以 mean 中的值作为各个维度的均值。
  • std:表示正态分布的标准差。可以是一个标量,也可以是一个张量,如果是张量,其形状必须与 mean 相容。如果 std 是一个张量,那么函数将生成与 std 相同形状的随机数张量,并以 std 中的值作为各个维度的标准差。
  • generator:(可选)用于生成随机数的生成器。如果不指定,将使用默认的生成器。
  • out:(可选)输出张量,用于保存结果。如果不指定,将会创建一个新的张量来保存结果。

返回值:

  • 返回一个张量,其形状与 meanstd 相同,其中的元素服从均值为 mean,标准差为 std 的正态分布。

这是 torch.normal() 函数的基本用法。你可以根据具体需求调整 meanstd 的值来生成不同形状、不同均值和标准差的正态分布随机数。
相信看完过后还是不明白在说什么,放心举几个例子你肯定就能明白了。

1 示例一:均值、标准差都输入标量

y = torch.normal(0,1,size=(2,2))
print
  • 1
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/832125
推荐阅读
相关标签
  

闽ICP备14008679号