pytorch 學習筆記(一) 張量

2022-06-30 10:57:07 字數 2667 閱讀 6144

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 數學上,把一維陣列叫向量 帶有方向的數量,線性代數有這個概念 把二維陣列叫矩陣 像矩形的乙個形狀,古代把一群士兵組成的方陣,叫陣 由於,矩形這個詞語被占用了,就發明了這個詞兒 三維,三維以上陣列,就叫張量,也叫做多維陣列 張量計算,就是多維陣列計算 另外,一般化之後的...