torch.tensor¶
- torch.tensor(data, *, dtype=None, device=None, requires_grad=False, pin_memory=False) Tensor¶
透過複製
data,構造一個沒有 autograd 歷史的 tensor(也稱為“葉子 tensor”,參見 Autograd 機制)。警告
使用 tensor 時,為提高可讀性,優先使用
torch.Tensor.clone()、torch.Tensor.detach()和torch.Tensor.requires_grad_()。假設 t 是一個 tensor,則torch.tensor(t)等價於t.detach().clone(),而torch.tensor(t, requires_grad=True)等價於t.detach().clone().requires_grad_(True)。另請參見
torch.as_tensor()會保留 autograd 歷史,並儘可能避免複製。torch.from_numpy()會建立一個與 NumPy 陣列共享儲存的 tensor。- 引數
data (array_like) – tensor 的初始資料。可以是列表、元組、NumPy
ndarray、標量或其他型別。- 關鍵字引數
dtype (
torch.dtype, 可選) – 返回 tensor 期望的資料型別。預設值:如果為None,則從data推斷資料型別。device (
torch.device, 可選) – 構造的 tensor 所在的裝置。如果為 None 且 data 是 tensor,則使用 data 的裝置。如果為 None 且 data 不是 tensor,則在當前裝置上構造結果 tensor。requires_grad (bool, 可選) – 如果 autograd 應記錄返回 tensor 上的操作。預設值:
False。pin_memory (bool, 可選) – 如果設定為 True,返回的 tensor 將分配在 pinned memory 中。僅適用於 CPU tensor。預設值:
False。
示例
>>> 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 double tensor on a CUDA device tensor([[ 0.1111, 0.2222, 0.3333]], dtype=torch.float64, device='cuda:0') >>> torch.tensor(3.14159) # Create a zero-dimensional (scalar) tensor tensor(3.1416) >>> torch.tensor([]) # Create an empty tensor (of size (0,)) tensor([])