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.dtype和torch.device。警告
new_tensor()始終複製data。如果您有一個 Tensordata並想避免複製,請使用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)