一、概述
在PyTorch中,torch.randn()函数是一个常用的生成随机数据的函数。它可用于创建给定形状的张量,张量中的元素是从标准正态分布中抽取的随机数。
因此,本攻略将重点介绍torch.randn()函数。
二、函数定义
torch.randn(*size, out=None, dtype=None, layout=torch.strided, device=None, requires_grad=False) → Tensor
该函数返回具有正态分布(均值为0,标准差为1)的随机数的张量。张量形状由参数size指定。
三、函数参数
- *size : int 可变参数
指示期望生成的随机数的张量形状。例如,将(size1,size2,size3)传递给函数将创建一个包含size1个元素且每个元素都包含一个包含size2行和size3列的二维张量。
- out : Tensor
输出张量。如果不为None,则结果将被覆盖。size必须匹配。
- dtype: torch.dtype
输出张量的数据类型。默认值为torch.float32。
- layout: torch.layout (可选)
输出张量的内存布局。默认值为torch.strided。
- device : torch.device (可选)
将张量分配给特定的设备,如cuda或cpu。默认值是None,表示将张量分配给当前设备上的内存。
- requires_grad : bool (可选)
是否跟踪张量的梯度。默认值为False,表示不跟踪。
四、示例说明
本节将介绍两个示例,以说明torch.randn()的使用方法。
示例1:生成一个5行3列的张量
import torch
tensor = torch.randn(5, 3)
print(tensor)
输出:
tensor([[-0.8202, -0.0925, 1.0511],
[ 0.1677, -1.7473, 1.5903],
[-0.7711, 1.5926, 0.9529],
[-1.4212, -0.2928, -1.1349],
[ 0.3683, 0.3862, -0.0461]])
示例2:将生成的张量分配给GPU进行运算
import torch
device = torch.device('cuda') #将张量分配给GPU
tensor = torch.randn(5, 3, device=device)
result = tensor * 2 #对于x中的每个元素,计算它乘以2的值并将结果分配给result
print(result)
输出:
tensor([[-0.6762, 2.1078, -1.9015],
[-2.3957, -1.4453, -0.5515],
[ 1.2778, -2.5044, 1.1749],
[-2.7136, -1.4242, 0.3319],
[-0.8358, -0.6372, -0.2943]], device='cuda:0')
以上就是torch.randn()函数的用法。希望本文可以对读者有所帮助!
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:pytorch常用函数之torch.randn()解读 - Python技术站