torch.tensor#
- torch.tensor(data, *, dtype=None, device=None, requires_grad=False, pin_memory=False) Tensor#
透過複製
data來構造一個沒有自動求導歷史(也稱為“葉子張量”,參見 自動求導機制)的張量。警告
在使用張量時,為了提高可讀性,優先使用
torch.Tensor.clone()、torch.Tensor.detach()和torch.Tensor.requires_grad_()。令 t 為一個張量,torch.tensor(t)等同於t.detach().clone(),而torch.tensor(t, requires_grad=True)等同於t.detach().clone().requires_grad_(True)。另請參閱
torch.as_tensor()會保留自動求導歷史,並在可能的情況下避免複製。torch.from_numpy()建立一個與 NumPy 陣列共享儲存的張量。- 引數
data (array_like) – 張量的初始資料。可以是列表、元組、NumPy
ndarray、標量以及其他型別。- 關鍵字引數
dtype (
torch.dtype, optional) – 返回張量所需的資料型別。預設為:如果為None,則從data推斷資料型別。device (
torch.device, optional) – 所構造張量的裝置。如果為 None 且 data 是一個張量,則使用 data 的裝置。如果為 None 且 data 不是張量,則結果張量將在當前裝置上構造。requires_grad (bool, optional) – 如果 autograd 應記錄在返回的張量上的操作。預設值:
False。pin_memory (bool, optional) – 如果設定為 True,則返回的張量將被分配到固定記憶體中。僅適用於 CPU 張量。預設值:
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([])