pytorch 是乙個基於 python 的科學計算包,主要定位兩類人群:
tensors 類似於 numpy 的 ndarrays ,同時 tensors 可以使用 gpu 進行計算。
1.匯入
from __future__ import print_function
import torch
2.構造乙個5x3矩陣,不初始化。
x=torch.empty(5,3)
print(x)
3.輸出
tensor([[0., 0., 0.],
[0., 0., 0.],
[0., 0., 0.],
[0., 0., 0.],
[0., 0., 0.]])
x=torch.rand(5,3)
print(x)
構造乙個矩陣全為 0,而且資料型別是 long.
construct a matrix filled zeros and of dtype long:
from __future__ import print_function
import torch
x = torch.zeros(5, 3, dtype=torch.long)
print(x)
x=torch.tensor([5.5,3])
print(x)
tensor([5.5000, 3.0000])
x=torch.tensor([5.5,3])
print(x)
x=x.new_ones(5,3,dtype=torch.double)
print(x)
# 覆蓋型別
x=torch.rand_like(x,dtype=torch.float)
# 結果具有相同的大小
print(x)
#輸出自己的維度
print(x.size())
結果
tensor([[1., 1., 1.],
[1., 1., 1.],
[1., 1., 1.],
[1., 1., 1.],
[1., 1., 1.]], dtype=torch.float64)
tensor([[0.6122, 0.4650, 0.7017],
[0.6148, 0.9167, 0.0879],
[0.2891, 0.5855, 0.1947],
[0.3554, 0.2678, 0.5296],
[0.6527, 0.9537, 0.3847]])
torch.size([5, 3])
方式一
y=torch.rand(5,3);
print(x+y)
tensor([[0.7509, 1.1579, 0.1261],
[0.6551, 1.0985, 0.4284],
[1.4595, 0.9757, 1.2582],
[1.0690, 0.7405, 1.7367],
[0.6201, 1.3876, 0.8193]])
方式二
print(torch.add(x,y))
tensor([[0.8122, 1.0697, 0.8380],
[1.4668, 0.2371, 1.0734],
[0.9489, 1.3252, 1.2579],
[0.7728, 1.4361, 1.5713],
[0.7098, 0.9440, 0.4296]])
方式三
print(y.add_(x))
注意
注意 任何使張量會發生變化的操作都有乙個字首 '_'。例如:
x.copy_(y)
, x.t_()
, 將會改變
x
print(x[:,1])
tensor([0.1733, 0.5943, 0.9015, 0.1385, 0.2001])
import torch
x=torch.rand(4,4)
y=x.view(16)
z=x.view(-1,8)#-1是不用填從其他的維度推測的
print(x.size(),y.size(),z.size())
torch.size([4, 4]) torch.size([16]) torch.size([2, 8])
import torch
x=torch.rand(1)
print(x)
print(x.item())
tensor([0.5210])
0.5209894180297852
學習自 PyTorch學習筆記1 張量
pytorch中資料集用tensor來表示,tensor與python中的list類似,但是其內部儲存時以連續記憶體單元儲存,可以通過下標計算出記憶體位址,然後直接讀出數值,因此訪問效率很高,同時由於與numpy的記憶體儲存基本相同,所以numpy的ndarray與tensor之間轉換,不論有多少元...
PyTorch入門(二) 張量的建立
張量的建立 2.依據數值建立 依據概率分布 張量是乙個多維陣列,它是標量 向量 矩陣的高維拓展。特殊的張量 標量 0維張量 向量 1維張量 矩陣 2維張量 variable是torch.autograd中的資料型別主要用於封裝tensor,進行自動求導。variable的屬性有 data 被包裝的t...
深度學習準備(1) 張量
中文 張量 英文 tensor 數學上,把一維陣列叫向量 帶有方向的數量,線性代數有這個概念 把二維陣列叫矩陣 像矩形的乙個形狀,古代把一群士兵組成的方陣,叫陣 由於,矩形這個詞語被占用了,就發明了這個詞兒 三維,三維以上陣列,就叫張量,也叫做多維陣列 張量計算,就是多維陣列計算 另外,一般化之後的...