📅  最后修改于: 2023-12-03 15:34:06.646000             🧑  作者: Mango
randn()
是 PyTorch 中的一种随机数生成方法,用于从一个标准正态分布中生成指定形状的随机数张量。
randn(*size, out=None, dtype=None, layout=torch.strided, device=None, requires_grad=False) -> Tensor
*size
:指定随机张量的形状。必须是整数或整数序列,用于表示张量的形状。out
:输出张量。如果它是 None,则会新创建一个张量并返回给用户。否则,它应该有正确的形状和类型以接收结果。dtype
:输出张量的数据类型。如果未指定,则默认为默认浮点类型。layout
:输出张量的布局。如果未指定,则默认为 strided 布局。device
:输出张量所在的设备。如果未指定,则默认使用当前设备。requires_grad
:是否需要求导。默认为 False。如果 out
是 None,则返回一个新的张量。否则,返回 out
。
在此示例中,我们创建了一个形状为 (2, 3) 的随机数张量。
import torch
# 创建一个形状为 (2, 3) 的随机数张量
x = torch.randn(2, 3)
print(x)
输出:
tensor([[ 0.9181, 0.5635, 0.9327],
[-0.0460, -0.8463, -0.5313]])
在此示例中,我们在指定设备上创建了一个形状为 (3, 3) 的随机数张量。
import torch
# 在指定设备上创建一个形状为 (3, 3) 的随机数张量
device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')
x = torch.randn(3, 3, device=device)
print(x)
输出:
tensor([[-0.3150, 1.5656, 0.4756],
[ 1.2054, -0.1953, 0.6677],
[ 0.0145, 1.1197, 2.1065]], device='cuda:0')
这就是 PyTorch 中的 randn()
方法的简单介绍。使用此方法生成随机数张量可帮助我们在编写深度学习模型时进行初始化参数或者增加噪声。