📅  最后修改于: 2023-12-03 14:46:03.361000             🧑  作者: Mango
zeros()
方法是 PyTorch 用于创建全零 tensor 的方法。它可以帮助我们快速创建指定大小的 tensor。
torch.zeros(*sizes, out=None, dtype=None, layout=torch.strided, device=None, requires_grad=False) → Tensor
zeros()
方法接受以下参数:
sizes
(int...):用于指定 tensor 的形状,可以是一个整数或者一个元组。例如,2 表示一个 2x1 的 tensor,(2, 3) 表示一个 2x3 的 tensor。out
(Tensor, optional):输出 tensor。dtype
(torch.dtype, optional):输出 tensor 的数据类型。默认是 torch.float32
。layout
(torch.layout, optional):输出 tensor 的布局。默认是 torch.strided
。device
(torch.device, optional):输出 tensor 的设备。默认是当前设备。requires_grad
(bool, optional):输出 tensor 是否需要反向传播梯度。默认为 False
。zeros()
方法返回一个全零 tensor,数据类型由 dtype
参数指定,形状由 sizes
参数指定,如果传递了 out
参数则返回 out
。
我们可以创建一个形状为 2x3 的 tensor:
import torch
x = torch.zeros(2, 3)
print(x)
输出:
tensor([[0., 0., 0.],
[0., 0., 0.]])
如果我们传递 dtype=torch.int32
,则输出的数据类型为整型:
import torch
x = torch.zeros(2, 3, dtype=torch.int32)
print(x)
输出:
tensor([[0, 0, 0],
[0, 0, 0]], dtype=torch.int32)
如果我们希望在 GPU 上创建 tensor,则可以传递 device="cuda"
参数,前提是我们有可用的 GPU:
import torch
if torch.cuda.is_available():
x = torch.zeros(2, 3, device="cuda")
print(x)
else:
print("No available GPUs!")
输出:
tensor([[0., 0., 0.],
[0., 0., 0.]], device='cuda:0')
zeros()
方法是 PyTorch 用于创建全零 tensor 的方法。它可以帮助我们快速创建指定大小的 tensor,支持设置数据类型、布局、设备等参数。通过 zeros()
方法创建的 tensor 可以用于矩阵运算、神经网络模型等场景。