Pytorch中rand(),randn(),randint(),normal(),full()随机生成数据方法对比及运用 您所在的位置:网站首页 rand产生的随机数范围 Pytorch中rand(),randn(),randint(),normal(),full()随机生成数据方法对比及运用

Pytorch中rand(),randn(),randint(),normal(),full()随机生成数据方法对比及运用

2024-06-10 19:19| 来源: 网络整理| 查看: 265

@TOC 这些方法的共同点是都可以用来创建一个张量,并且都可以指定输出张量的数据类型、形状、设备类型等参数。它们的不同之处如下:

rand()方法用于生成在 [ 0 , 1 ) [0,1) [0,1) 区间内的均匀分布随机数。randn()方法用于生成标准正态分布随机数,即均值为0,方差为1的正态分布。randint()方法用于生成指定范围内的随机整数。normal()方法用于生成从均值为 mean ,标准差为 std 的正态分布中生成随机数。full()方法用于创建一个指定形状的张量,并用指定固定值填充。

因此,在实际应用中需要根据具体情况选择不同的方法,以满足数据的需要。以下为几个方法的介绍及运用。

1.rand()方法

rand()方法是生成大小在[0,1)区间的size大小的张量

torch.rand(size, out=None, dtype=None, layout=torch.strided, device=None, requires_grad=False) 参数详解 参数意义size要生成张量的形状,可以是整数也可以是元组。唯一必要参数,调用方法时必须给出。out输出张量。非必要参数dtype输出张量的数据类型layout输出张量的布局形式device输出张量的设备类型requires_grad是否需要计算梯度,默认为 False 代码演示 import torch print(torch.rand(2,3)) print(torch.rand(5)) 输出 tensor([[0.7151, 0.7481, 0.6143], [0.3310, 0.0784, 0.4184]]) tensor([0.2428, 0.4320, 0.2535, 0.9386, 0.5276]) 2.randn()方法

与rand()方法返回[0,1)区间数据不同,randn()方法是返回一个包含了从标准正态分布(均值为0,方差为1)中抽取的随机数张量。

torch.randn(size, out=None, dtype=None, layout=torch.strided, device=None, requires_grad=False) 参数详解

参数与rand()方法一样

参数意义size要生成张量的形状,可以是整数也可以是元组。唯一必要参数,调用方法时必须给出。out输出张量。非必要参数dtype输出张量的数据类型layout输出张量的布局形式device输出张量的设备类型requires_grad是否需要计算梯度,默认为 False 代码演示 import torch print(torch.randn(2,3)) print(torch.randn(5)) 演示输出 tensor([[ 1.9817, -0.6548, 0.3505], [-0.5065, -0.7093, 0.6304]]) tensor([ 0.6409, -0.1716, -1.0290, 2.5210, -1.2670]) 3.randint()方法

返回一个包含了从区间 [low, high) 的离散均匀分布中抽取的随机整数的张量

torch.randint(low=0, high, size, out=None, dtype=None, layout=torch.strided, device=None, requires_grad=False) 参数详解 参数意义low生成的整数下界,也就是说最小值。必要参数high生成的整数上界,即最大值。非必要参数size要生成张量的形状,可以是整数也可以是元组。唯一必要参数,调用方法时必须给出。out输出张量。非必要参数dtype输出张量的数据类型layout输出张量的布局形式device输出张量的设备类型requires_grad是否需要计算梯度,默认为 False 代码示例 import torch print(torch.randint(1,10,(2,3))) 演示结果 tensor([[2, 4, 3], [9, 7, 9]]) 4.normal()方法

用于从均值为 mean ,标准差为 std 的正态分布中生成随机数。

torch.normal(mean, std, size, out=None, dtype=None, layout=torch.strided, device=None, requires_grad=False) 参数详解 参数意义mean正态分布的均值。std正态分布的标准差。size输出张量的形状,可以是整数或元组类型。out输出张量。dtype输出张量的数据类型。layout输出张量的布局类型。device输出张量的设备类型。requires_grad是否需要计算梯度,默认为 False 代码演示

均值为10,标准差为1,形状为(2,3)的张量

print(torch.normal(10,1,(2,3))) 演示结果 tensor([[10.1562, 9.1040, 8.8467], [ 9.8670, 10.7527, 9.2519]]) 5.full()方法

于创建一个指定形状的张量,并用 fill_value 填充,即指定形状固定数值的一个张量

torch.full(size, fill_value, dtype=None, layout=torch.strided, device=None, requires_grad=False 参数详解 参数意义size要生成张量的形状,可以是整数也可以是元组。唯一必要参数,调用方法时必须给出。fill_value要填充的数值。必要参数dtype输出张量的数据类型layout输出张量的布局形式device输出张量的设备类型requires_grad是否需要计算梯度,默认为 False 代码演示 import torch print(torch.full((2,3),5)) 演示结果 tensor([[5, 5, 5], [5, 5, 5]])


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有