捷徑

torch.as_tensor

torch.as_tensor(data: Any, dtype: Optional[dtype] = None, device: Optional[DeviceLikeType]) Tensor

data 轉換為張量,盡可能共享資料並保留 autograd 歷史記錄。

如果 data 已經是具有請求的 dtype 和 device 的張量,則返回 data 本身,但如果 data 是具有不同 dtype 或 device 的張量,則會像使用 data.to(dtype=dtype, device=device) 一樣複製它。

如果 data 是具有相同 dtype 和 device 的 NumPy 陣列 (ndarray),則使用 torch.from_numpy() 建立張量。

如果 data 是一個 CuPy 陣列,除非被 device 或預設裝置覆寫,否則回傳的張量將位於與 CuPy 陣列相同的裝置上。

另請參閱

torch.tensor() 永遠不會共享其資料,並會建立一個新的「葉張量」(參見自動微分機制)。

參數
  • data (array_like) – 張量的初始資料。可以是列表、元組、NumPy ndarray、純量和其他類型。

  • dtype (torch.dtype, optional) – 回傳張量的期望資料類型。預設值:如果 None,則從 data 推斷資料類型。

  • device (torch.device, optional) – 建構張量的裝置。如果為 None 且 data 是一個張量,則使用 data 的裝置。如果為 None 且 data 不是張量,則在當前裝置上建構結果張量。

範例

>>> a = numpy.array([1, 2, 3])
>>> t = torch.as_tensor(a)
>>> t
tensor([ 1,  2,  3])
>>> t[0] = -1
>>> a
array([-1,  2,  3])

>>> a = numpy.array([1, 2, 3])
>>> t = torch.as_tensor(a, device=torch.device('cuda'))
>>> t
tensor([ 1,  2,  3])
>>> t[0] = -1
>>> a
array([1,  2,  3])

文件

存取 PyTorch 的全面開發者文件

檢視文件

教學課程

取得適合初學者和進階開發人員的深入教學課程

檢視教學課程

資源

尋找開發資源並取得問題解答

檢視資源