📜  Python PyTorch zeros() 方法(1)

📅  最后修改于: 2023-12-03 14:46:03.361000             🧑  作者: Mango

Python PyTorch zeros() 方法

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 可以用于矩阵运算、神经网络模型等场景。