Shortcuts

torch.tensor

torch.tensor(data, *, dtype=None, device=None, requires_grad=False, pin_memory=False) 张量

构建一个没有自动求导历史记录的张量(也称为“叶子张量”,参见自动求导机制),通过复制data

警告

在使用张量时,建议使用 torch.Tensor.clone(), torch.Tensor.detach(), 和 torch.Tensor.requires_grad_() 以提高可读性。设 t 为一个张量,torch.tensor(t) 等价于 t.clone().detach(),而 torch.tensor(t, requires_grad=True) 等价于 t.clone().detach().requires_grad_(True)

另请参阅

torch.as_tensor() 保留自动求导历史记录并在可能的情况下避免复制。 torch.from_numpy() 创建一个与NumPy数组共享存储的张量。

Parameters

data (array_like) – 张量的初始数据。可以是列表、元组、 NumPy ndarray、标量和其他类型。

Keyword Arguments
  • dtype (torch.dtype, 可选) – 返回张量的所需数据类型。 默认值:如果 None,则从 data 推断数据类型。

  • 设备 (torch.device, 可选) – 构造张量的设备。如果为 None 且数据是一个张量,则使用数据的设备。如果为 None 且数据不是一个张量,则结果张量在当前设备上构造。

  • requires_grad (布尔值, 可选) – 如果 autograd 应该记录对返回张量的操作。默认值:False

  • pin_memory (bool, 可选) – 如果设置,返回的张量将分配在固定内存中。仅适用于CPU张量。默认值:False

示例:

>>> torch.tensor([[0.1, 1.2], [2.2, 3.1], [4.9, 5.2]])
tensor([[ 0.1000,  1.2000],
        [ 2.2000,  3.1000],
        [ 4.9000,  5.2000]])

>>> torch.tensor([0, 1])  # 数据类型推断
tensor([ 0,  1])

>>> torch.tensor([[0.11111, 0.222222, 0.3333333]],
...              dtype=torch.float64,
...              device=torch.device('cuda:0'))  # 在CUDA设备上创建一个双精度张量
tensor([[ 0.1111,  0.2222,  0.3333]], dtype=torch.float64, device='cuda:0')

>>> torch.tensor(3.14159)  # 创建一个零维(标量)张量
tensor(3.1416)

>>> torch.tensor([])  # 创建一个空张量(大小为(0,))
tensor([])