剛剛接觸了tensorflow,現在對pytorch也有很大的興趣,說到底,這些機器學習庫都是工具,技多不壓身,2023年到現在也不到三年的庫,發展這麼快必然有它的道理,廢話不多,開始學習吧。
包torch包含了多維張量的資料結構以及基於其上的多種數學操作。另外,它也提供了多種工具,其中一些可以有效的對張量和任意型別進行序列化。
它有cuda的對應實現,可以在nvidia gpu上進行張量計算(計算能力》2.0)。
torch.is_tensor
torch.is_tensor(obj)
如果obj是乙個pytorch張量,則返回true
torch.is_storage
torch.is_storage(obj)
如何obj是乙個pytorch storage物件,則返回true
torch.numel
torch.numel(input)
返回input張量中的元素個數
例子:
a=torch.rand(1,2,3,4,5)
torch.numel(a)
120a=torch.zeros(4,4)
torch.numel(a)
16
torch.eye
torch.eye(n,m=none,out=none)
返回乙個2維張量,對角線位置全1,其他位置全0
引數:返回值:對角線位置全為1,其他位置全0的二維張量
例子:
torch.eye(3)
1 0 0
0 1 0
0 0 1
[torch.floattensor of size 3*3]
from_numpy
torch.from_numpy(ndarray)
將numpy.ndarray轉換為pytorch的tensor。返回的張量tensor和numpy的ndarray共享同一記憶體空間。修改乙個會導致另外乙個也被修改。返回的張良不能改變大小。
例子:
a=numpy.array([1,2,3])
t=torch.from_numpy(a)
ttorch.longtensor([1,2,3])
t[0]=-1
aarray([-1,2,3])
torch.linespace
torch.linespace(start,end,step=100,out=none)
返回乙個1維張量,包含在區間start和end上均勻間隔的steps個點。輸出1維張量的長度為step。
引數:
torch.linespace(3,10,step=5)
3.0000
4.7500
6.5000
8.2500
10.0000
[torch.floattensor of size 5]
torch.logspace
torch.logspace(start,end,step=100,out=none)
返回乙個1維張量,包含在區間start,和end上對數刻度均勻間隔的steps個點,輸出一維張量的長度為steps。
torch.ones
torch.ones(*sizes,out=none)
返回乙個全為1的張量,形狀由可變引數sizes定義
例子
torch.ones(2,3)
1,1,1
1,1,1
torch.rand
torch.rand(*sizes,out=none)
返回乙個張量,包含了從區間(0,1)的均勻分布中抽取的一組隨機數,形狀由可變引數sizes定義。
引數:
torch.rand(4)
0.9193
0.3347
0.3232
0.7715
[torch.floattensor of size 4]
torch.rand(2,3)
0.5010 0.5140 0.0719
0.1435 0.5636 0.0538
torch.floattensor of size 2*3
torch.randn
torch.randn(*sizes,out=none)
返回乙個張量,包含了從標磚正態分佈(均值為0,方差為1)中抽取一組隨機數,形狀可有引數sizes定義
例子:
torch.randn(4)
-0.1145
0.0094
-1.1717
0.9846
[torch.floattensor of size 4]
torch.rand(2,3)
1.4339 0.3351,-1.0999
1.5458 -0.9643 -0.3558
[torch.floattensor of size 2*3]
torch.randperm
torch.randperm(n,out=none)
給定引數n,返回乙個從0到n-1的隨機整數排列
引數:例子:
torch.randperm21
30[torch.longtensor of size 4]
torch.arange
torch.arrange(start,end,step=1,out=none)
返回乙個1維張量,長度維floor((end-start)/step).包含從start到end,以step為步長的一組序列只(預設步長為1)。
引數例子:
torch.arrange(1,4)12
3[torch.floattensor of size 3]
torch.arrange(1,2.5,0.5)
1.0000
1.5000
2.0000
[torch.floattensor of size 3]
torch.range
torch.range(start,end,step=1,out=none)
返回乙個1維張量,有floor((end-start)/step)+1)個元素
例子:
torch.range(1, 4)1 2
34[torch.floattensor of size 4]
torch.range(1, 4, 0.5)
1.0000
1.5000
2.0000
2.5000
3.0000
3.5000
4.0000
[torch.floattensor of size 7]
torch.zeros
torch.zeros(sizes,out=none)
返回乙個全為標量0的張量,形狀由可變引數sizes定義
例子:
torch.zeros(2,3)
0 0 0
0 0 0
[torch.floattensor of size 2*3]
torch.zeros(5)00
000[torch.floattensor of size 5]
pytorch基礎學習1
1.從numpy匯入 import torch import numpy as np a np.array 2,2.3 b torch.from numpy a print a print b a np.ones 2,3 b torch.from numpy a print a print b 結果...
PyTorch學習(神經網路基礎1)
之前看的那個本深度學習書太難啃了,好多概念都不懂,真就從入門到放棄唄,於是我換了本從基礎講的,先補一補再回去看吧 笑哭 訓練集和測試集內部包含的資料型別都是相同的,即 x,y x代表輸入資料,特徵向量,是個n維的向量 y代表輸出值,標籤。當我們想把訓練集變得更緊湊是時,可以用x乙個矩陣把所有的特徵向...
Pytorch學習 1 pytorch簡介
pytorch簡介 1 pytorch簡介 1.1 pytorch的大概 pytorch不是簡單的封裝 lua torch 提供python介面,而是對當下tensor之上的模組進行重構,並增加了最先進的自動求導系統,成為當下最流行的動態圖框架。pytorch是乙個基於torch的python開源機...