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 具有与当前张量相同的 torch.dtypetorch.device

警告

new_tensor() 总是会复制 data。如果你已经有一个 Tensor 变量,并且希望避免数据被复制,可以使用torch.Tensor.requires_grad_() 或者 torch.Tensor.detach()。如果你有一个 numpy 数组,并且希望避免复制,可以使用torch.from_numpy()

警告

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

参数

data (array_like) – 返回的张量将复制data

关键字参数

示例:

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