1. torch.randint
torch.randint (low=0, high, size, *, generator=None, out=None, dtype=None, layout=torch.strided, device=None, requires_grad=False)
函数作用:
返回一个填充了随机整数的张量,这些整数在low(inclusive) 和high(exclusive) 之间均匀生成。张量的shape由变量参数size定义
参数说明:
常用参数:
low ( int , optional ) – 要从分布中提取的最小整数。默认值:0。
high ( int ) – 高于要从分布中提取的最高整数。
size ( tuple ) – 定义输出张量形状的元组。
generator ( torch.Generator, optional) – 用于采样的伪随机数生成器
out ( Tensor , optional ) – 输出张量。
dtype ( torch.dtype , optional) – 如果是None,这个函数返回一个带有 dtype 的张量torch.int64。
layout ( torch.layout, optional) – 返回张量的所需布局。默认值:torch.strided。
device ( torch.device, optional) – 返回张量的所需设备。默认值:如果None,则使用当前设备作为默认张量类型(请参阅torch.set_default_tensor_type())。device将是 CPU 张量类型的 CPU 和 CUDA 张量类型的当前 CUDA 设备。
requires_grad ( bool , optional ) – 如果 autograd 应该在返回的张量上记录操作。默认值:False。
torch.tensor 共有三种属性,其中,torch.dtype 是 tensor 的数据类型,torch.device 表明计算设备是 CPU 还是 GPU,torch.layout 表明内存布局(memory layout),即 tensor 在物理设备中的储存结构。学过数据结构的都知道储存结构(物理结构)简单可以分为:顺序储存、链式储存。torch.layout 可选torch.stried或torch.sparse_coo。分别对应顺序储存、离散储存。一般说,稠密张量适用torch.stried,稀疏张量(0 比较多)适用torch.sparse_coo。
2.torch.randn()
torch.randn(*size, *, out=None, dtype=None, layout=torch.strided,
device=None, requires_grad=False) → Tensor
返回一个符合均值为0,方差为1的标准正态分布中填充随机数的张量
Parameters:
size(int…) --定义输出张量形状的整数序列。可以是数量可变的参数,也可以是列表或元组之类的集合。
out(Tensor, optional) --输出张量
requires_grad(bool, optional) –autograd是否应该记录对返回张量的操作(说明当前量是否需要在计算中保留对应的梯度信息)。默认值:False。
用例
>>> torch.randn(4)
tensor([-2.1436, 0.9966, 2.3426, -0.6366])
>>> torch.randn(2, 3)
tensor([[ 1.5954, 2.8929, -1.0923],
[ 1.1719, -0.4709, -0.1996]])
3.其他