pytorch基礎學習 1

2021-09-13 20:35:00 字數 4029 閱讀 3254

剛剛接觸了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開源機...