您好,登錄后才能下訂單哦!
這篇文章主要介紹PyTorch基本操作的示例分析,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
創建一個空張量矩陣.
格式:
torch.empty(*size, *, out=None, dtype=None, layout=torch.strided, device=None, requires_grad=False, pin_memory=False, memory_format=torch.contiguous_format) → Tensor
參數:
size: 生成矩陣的形狀, 必選
dtype: 數據類型, 默認為 None
例子:
# 創建一個形狀為[2, 2]的矩陣 a = torch.empty(2, 2) print(a) # 創建一個形狀為[3, 3]的矩陣 b = torch.empty(3, 3) print(b)
輸出結果:
tensor([[0., 0.],
[0., 0.]])
tensor([[0., 0., 0.],
[0., 0., 0.],
[0., 0., 0.]])
創建一個全零矩陣.
格式:
torch.zeros(*size, *, out=None, dtype=None, layout=torch.strided, device=None, requires_grad=False) → Tensor
參數:
size: 生成矩陣的形狀, 必選
dtype: 數據類型, 默認為 None
例子:
# 創建一個形狀為[2, 2]的全零數組 a = torch.zeros([2, 2], dtype=torch.float32) print(a) # 創建一個形狀為[3, 3]的全零數組 b = torch.zeros([3, 3], dtype=torch.float32) print(b)
輸出結果:
tensor([[0., 0.],
[0., 0.]])
tensor([[0., 0., 0.],
[0., 0., 0.],
[0., 0., 0.]])
創建一個全一矩陣.
格式:
torch.ones(*size, *, out=None, dtype=None, layout=torch.strided, device=None, requires_grad=False) → Tensor
參數:
size: 生成矩陣的形狀, 必選
dtype: 數據類型, 默認為 None
例子:
# 創建一個形狀為[2, 2]的全一數組 a = torch.ones([2, 2], dtype=torch.float32) print(a) # 創建一個形狀為[3, 3]的全一數組 b = torch.ones([3, 3], dtype=torch.float32) print(b)
輸出結果:
tensor([[1., 1.],
[1., 1.]])
tensor([[1., 1., 1.],
[1., 1., 1.],
[1., 1., 1.]])
通過數據創建張量.
格式:
torch.tensor(data, *, dtype=None, device=None, requires_grad=False, pin_memory=False) → Tensor
參數:
data: 數據 (數組, 元組, ndarray, scalar)
dtype: 數據類型, 默認為 None
例子:
# 通過數據創建張量 array = np.arange(1, 10).reshape(3, 3) print(array) print(type(array)) tensor = torch.tensor(array) print(tensor) print(type(tensor))
輸出結果:
[[1 2 3]
[4 5 6]
[7 8 9]]
<class 'numpy.ndarray'>
tensor([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]], dtype=torch.int32)
<class 'torch.Tensor'>
創建一個 0~1 隨機數的張量矩陣.
格式:
torch.rand(*size, *, out=None, dtype=None, layout=torch.strided, device=None, requires_grad=False) → Tensor
參數:
size: 生成矩陣的形狀, 必選
dtype: 數據類型, 默認為 None
例子:
# 創建形狀為[2, 2]的隨機數矩陣 rand = torch.rand(2, 2) print(rand)
輸出結果:
tensor([[0.6209, 0.3424],
[0.3506, 0.7986]])
返回相加的張量.
格式:
torch.add(input, other, *, out=None) → Tensor
例子:
# 張量相加 input1 = torch.tensor([[1, 2], [3, 4]]) print(input1) input2 = torch.tensor([[4, 3], [2, 1]]) print(input2) output = torch.add(input1, input2) print(output)
輸出結果:
tensor([[1, 2],
[3, 4]])
tensor([[4, 3],
[2, 1]])
tensor([[5, 5],
[5, 5]])
注: 相加的張量形狀必須一致, 否則會報錯.
返回相減的張量.
例子:
# 張量相減 input1 = torch.tensor([[1, 2], [3, 4]]) print(input1) input2 = torch.tensor([[4, 3], [2, 1]]) print(input2) output = torch.sub(input1, input2) print(output)
輸出結果:
tensor([[1, 2],
[3, 4]])
tensor([[4, 3],
[2, 1]])
tensor([[-3, -1],
[ 1, 3]])
例子:
# 張量矩陣相乘 input1 = torch.tensor([[1, 1, 1]]) print(input1) input2 = torch.tensor([[3], [3], [3]]) print(input2) output = torch.matmul(input1, input2) print(output)
輸出結果:
tensor([[1, 1, 1]])
tensor([[3],
[3],
[3]])
tensor([[9]])
索引 (index) 可以幫助我們快速的找到張量中的特定信息.
例子:
# 簡單的索引操作 ones = torch.ones([3, 3]) print(ones[: 2]) print(ones[:, : 2])
調試輸出:
tensor([[1., 1., 1.],
[1., 1., 1.]])
tensor([[1., 1.],
[1., 1.],
[1., 1.]])
以上是“PyTorch基本操作的示例分析”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。