文章目录
前言
这几天学习pytorch过程中,碰到一个torch.normal()函数,本来以为很简单,不就是一个生成正态分布的函数吗?但是一看官方文档,整个人都不好了,官方文档里面均值和标准差都能输入的是张量,这和我想的不一样,然后我就看了半天官方文档,然后我就骂人了,写的什么屁东西,一句话都没说清楚。后来我有去博客上搜索别人是怎么解释的,好家伙,清一色的不说人话。至此我觉得我自己有必要写一篇博客记录一下这个函数,避免下次在碰到又是全网找资料,还都是一些不说人话的。
一、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 的值来生成不同形状、不同均值和标准差的正态分布随机数。
相信看完过后还是不明白在说什么,放心举几个例子你肯定就能明白了。
1 示例一:均值、标准差都输入标量
y = torch.normal(0,1,size=(2,2))
print(y)
输出:
解释:<

本文详细介绍了PyTorch中的torch.normal()函数,包括参数解释和多个示例,如均值、标准差为标量、张量的情况。通过实例帮助理解如何生成服从正态分布的随机张量,并展示了如何使用该函数创建二分类的二维正态分布数据集及可视化。
最低0.47元/天 解锁文章
1590





