當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。