快捷方式

torch.as_tensor

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

data 轉換為 tensor,如果可能,共享資料並保留自動求導歷史。

如果 data 已是具有所需資料型別 (dtype) 和裝置 (device) 的 tensor,則直接返回 data 本身;但如果 data 是具有不同資料型別或裝置的 tensor,則會像使用 data.to(dtype=dtype, device=device) 一樣進行復制。

如果 data 是具有相同資料型別 (dtype) 和裝置的 NumPy 陣列(ndarray),則使用 torch.from_numpy() 構造一個 tensor。

如果 data 是 CuPy 陣列,則返回的 tensor 將位於與 CuPy 陣列相同的裝置上,除非被 device 或預設裝置明確覆蓋。

另請參閱

torch.tensor() 從不共享其資料,而是建立一個新的“葉子 tensor”(參見自動求導機制)。

引數
  • data (array_like) – tensor 的初始資料。可以是 list、tuple、NumPy ndarray、標量及其他型別。

  • dtype (torch.dtype, 可選) – 返回 tensor 的所需資料型別。預設值:如果為 None,則從 data 推斷資料型別。

  • device (torch.device, 可選) – 構造的 tensor 所在的裝置。如果為 None 且 data 是一個 tensor,則使用 data 的裝置。如果為 None 且 data 不是一個 tensor,則結果 tensor 將在當前裝置上構造。

示例

>>> 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 的全面開發者文件

檢視文件

教程

獲取面向初學者和高階開發者的深度教程

檢視教程

資源

查詢開發資源並獲得問題解答

檢視資源