当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python PyTorch tensor用法及代码示例


本文简要介绍python语言中 torch.tensor 的用法。

用法:

torch.tensor(data, *, dtype=None, device=None, requires_grad=False, pin_memory=False) → Tensor

参数

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

关键字参数

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

  • device(torch.device, 可选的) -返回张量的所需设备。默认值:如果 None ,使用当前设备作为默认张量类型(参见 torch.set_default_tensor_type() )。 device 将是 CPU 张量类型的 CPU 和 CUDA 张量类型的当前 CUDA 设备。

  • requires_grad(bool,可选的) -如果 autograd 应该在返回的张量上记录操作。默认值:False

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

data 构造一个张量。

警告

torch.tensor() 始终复制 data 。如果您有张量 data 并希望避免复制,请使用 torch.Tensor.requires_grad_() torch.Tensor.detach() 。如果您有 NumPy ndarray 并希望避免复制,请使用 torch.as_tensor()

警告

当 data 是张量 x 时,torch.tensor() 从传递的任何内容中读取“数据”,并构造一个叶变量。因此 torch.tensor(x) 等效于 x.clone().detach()torch.tensor(x, requires_grad=True) 等效于 x.clone().detach().requires_grad_(True) 。建议使用 clone()detach() 的等效项。

例子:

>>> 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])  # Type inference on data
tensor([ 0,  1])

>>> torch.tensor([[0.11111, 0.222222, 0.3333333]],
...              dtype=torch.float64,
...              device=torch.device('cuda:0'))  # creates a torch.cuda.DoubleTensor
tensor([[ 0.1111,  0.2222,  0.3333]], dtype=torch.float64, device='cuda:0')

>>> torch.tensor(3.14159)  # Create a scalar (zero-dimensional tensor)
tensor(3.1416)

>>> torch.tensor([])  # Create an empty tensor (of size (0,))
tensor([])

相关用法


注:本文由纯净天空筛选整理自pytorch.org大神的英文原创作品 torch.tensor。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。