pytroch 基礎 1-5

迴歸問題:

計算loss

更新w,b1

迭代

--------------------------------------------------------------------------------------------

minst

d1,d2,d3就是  層H1,H2,H3的維度

 

預測值的計算公式

激活函數

 

 

argmax最大值索引

____________________第四章:pytorch基礎--------------------------

數據類型:

 

1.標量:維度=0(不用[]創建的就是標量)

-----------------------------------1維的張量 =======

張量:

不使用 [] 創建,隨機初始化:

使用numpy創建:

_______________________dimension=2   維度爲2-------------------------------

__________dimension=3   維度爲3---------------

__________dimension=4   維度爲4---------------

常用方法  :         dim:維度

 

創建張量-----------------

 

未給初始值的創建方法  接口開頭大T,注意區分   

問題:會出現非常大  或非常小的數

隨機初始化

 

正態分佈

全部賦值爲x

等差數列  不包含最後一個數

 

linspace:包含最後一個數   steps切成多少份

 

其他: eye對角矩陣

 

隨機種子

------------------------切片------------------------------------------------------

索引

切片

注意:[:2]表示0,1   不包含2

 

三個點:代表取所有

masked_select()

注意:會拉成一維  長度取決於篩選出多少

 

--------------------------------------維度變換------------------

1.view和reshape   在torch中作用一樣

2.squeeze壓縮維度   unsqueeze展開維度

 

 

unsqueeze:增加維度

取值範圍【-dim-1,dim+1)

正索引在之前插入   負索引在之後插入

例子:

 

squeeze:參數:要刪減的維度   (省略:在維度上是1的全刪掉)

注:只能刪掉1的維度,不是1的刪不掉

 

-----------------------------------------------------------------------------------------------------------------------------------

3.擴張:expand或repeat

區別:repeat複製了數據

 

expand:

expend_as(A)擴成跟A一樣的維度

只能擴張原來是1的維度位置

-1表示跟原來一致

 

repeat:參數意義:每個維度要拷貝的次數

-------------------------------------------------------------------------

4.轉置

.t   只能用於2維

 

transpose   交換兩個維度

permute把原來維度按索引的形式重排列

-------------------------------------------------------------------------------------------------------------------------------------------------------

pytroch的自帶功能  Broadcasting:自動擴展

原理圖:

 

--------------------------合併----------------------------------------------

cat

非cat的維度上必須一致

 

stack:插入一個新的維度(相當於插入了一個新的語義)

所有維度必須相同

 

--------------------------------分割-------------------------------------------------

 

split

第一種:直接給一個數     表示拆分成n塊 ,每一份長度1,其中n=2/1=2

第二種:給一個列表   表示每一份佔多少

【1,1】:第一個長1   第二個長1

【3,2】:

 

 

chunk:拆分成n塊

 

-----------------------------------------運算-------------------

根據broadcasting自動填充,把【4】填充爲【3,4】

a-b

a*b(相同位置乘)

a/b

 

-----------矩陣相乘

 

.mm只適合2d的矩陣相乘(推薦還是使用matmul)

@符號   同.matmul

''

 

4維矩陣相乘:乘的是最後的維度

前面維度不同的情況,使用broadcasting填充

【4,1,64,32】填充爲【4,3,64,32】

pow次方運算------------------------

使用full創建全是3的矩陣,再做平方

開方sqrt()------------------

exp和log-------------------------

exp()對矩陣做以e爲底的運算

近似值運算------

floor下取整,ceil上取整  ,trunc取整數部分,frac取小數部分

round()四捨五入

clamp限制範圍-------------------------------

生成0~15的矩陣,找出最大值和中值

max  、median

大於10 的替換爲10

-------------------------------統計屬性-----------------------------------

norm範數

 

最小   最大   平均   累乘

累加

argmin,argmax

最大最小索引:不帶參數先拉成一維    再找索引

添加dim屬性

max()argmax()  添加dim屬性

添加keepdim屬性

topk最大的n個,largest=False:反向

kthvalue  第n小

比較符-----------------------------------------------------------------------

torch中沒有ture flase使用0,1代替  類型uint8

 

eq()和equal()

eq返回每個位置是否相等

equal返回整個矩陣是否相等

where-------------------------------------------------------------------------

根據condition的值決定取A矩陣還是B矩陣的相應元素

1的話取A的值

gather======================================

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章