快捷方式

torch.Tensor.new_tensor

Tensor.new_tensor(data, *, dtype=None, device=None, requires_grad=False, layout=torch.strided, pin_memory=False) Tensor

返回一个新的 Tensor,其中 data 作为 Tensor 数据。默认情况下,返回的 Tensor 具有与此 Tensor 相同的 torch.dtypetorch.device

警告

new_tensor() 始终复制 data。如果您有一个 Tensor data 并想避免复制,请使用 torch.Tensor.requires_grad_()torch.Tensor.detach()。如果您有一个 numpy 数组并想避免复制,请使用 torch.from_numpy()

警告

当 data 是一个 tensor x 时,new_tensor() 从传入的任何数据中读取“数据”,并构造一个叶变量。因此,tensor.new_tensor(x) 等同于 x.detach().clone(),而 tensor.new_tensor(x, requires_grad=True) 等同于 x.detach().clone().requires_grad_(True)。建议使用 detach()clone() 的等价形式。

参数

data (array_like) – 返回的 Tensor 复制 data

关键字参数
  • dtype (torch.dtype, 可选) – 返回 Tensor 期望的数据类型。默认值:如果为 None,则与此 Tensor 具有相同的 torch.dtype

  • device (torch.device, 可选) – 返回 Tensor 期望的设备。默认值:如果为 None,则与此 Tensor 具有相同的 torch.device

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

  • layout (torch.layout, 可选) – 返回 Tensor 期望的布局。默认值:torch.strided

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

示例

>>> tensor = torch.ones((2,), dtype=torch.int8)
>>> data = [[0, 1], [2, 3]]
>>> tensor.new_tensor(data)
tensor([[ 0,  1],
        [ 2,  3]], dtype=torch.int8)

文档

查阅 PyTorch 的全面开发者文档

查看文档

教程

获取针对初学者和高级开发者的深入教程

查看教程

资源

查找开发资源并解答疑问

查看资源