pytorch教程龙曲良21-25
21合并與分割2
split
按照長度/單元長度拆分
chunk 要拆分幾個單位,split是拆分的單位多長
22數(shù)學(xué)運算
Math operation
? Add/minus/multiply/divide
? Matmul
? Pow
? Sqrt/rsqrt
? Round
basic
加減乘數(shù)可以直接用±*/ 其中//表示整除
也可用add sub mul div
matmul
矩陣乘法中
.*是相同位置相乘
.matmul是矩陣乘法
可以用@或者.matmul,.mm只用在2d
例子
(4,784)降維成(4,512) 所以(4,784)@(784,512),但是一般用于變換的矩陣w是寫成(ch-out,ch-in)所以784是in,512是out,所以要乘以w的轉(zhuǎn)置,w.t(),.t只用于二維的,其他要用transpose
大于2d的均值乘法
power
求冪運算
a.pow(2)#平方
a2#平方
aa.sqrt()#平方根
aa.rsqrt()#平方根的導(dǎo)數(shù)
a(0.5)#開方
exp log
log默認(rèn)以e為底,e=2.7183
改變底直接寫log2.(a)或者log10.(a)
Approximation
近似值
? .floor() #下限 往小的取
? .ceil()#上限 天花板 往大的取
? .round()#四舍五入
? .trunc()#裁剪成整數(shù)部分
? .frac()#裁剪成小數(shù)部分
clamp
裁剪梯度
梯度離散 梯度很小趨近于0
梯度爆炸 梯度很大大于10,可以打印w.grad.norm(2)看這個數(shù)值
23統(tǒng)計屬性1
statistics
? norm
? mean sum
? prod
? max, min, argmin, argmax
? kthvalue, topk
norm
這里的norm是范數(shù)的意思,不是normalize正則化
norm-p
b.norm(1,dim=1)#在dim=1上進(jìn)行1的norm,是第二行的求和 shape是[2] 維度是1
b.norm(2,dim=0)#在dim=0上進(jìn)行2的norm,是第二行的求和結(jié)果再開方 shape是[2] 維度是1
對于c而言 dim=0是最外層的維度,取哪個維度的范數(shù)那個維度就消掉
mean, sum, min, max, prod(累乘)
argmax就是將整個tensor打平后max的索引值
argmin就是將整個tensor打平后min的索引值
a.argmax(dim=1)在每一行中找最大值的索引,可以理解為在手寫數(shù)字中找每張圖片中概率最大的那個label,dim=1是在10上做索引,返回的shape是[4]
如果在dim=0是在4上做索引,返回的shape是[10]
24屬性統(tǒng)計2
dim keepdim
keepdim是讓max之后的索引維度(本來是1維度 只有一行就是每張圖片最大值的索引值)和原來a的維度(本來是2維度 4行10列)保持一致
top-k k-th
top-k默認(rèn)返回最大的k個,找最小的k個largest設(shè)置為false
k-th返回第k小的value
compare
equal就是整體比
eq就是比每個內(nèi)容單獨比
25高階操作
where
適用于分布采樣,就是不規(guī)則的賦值,完成邏輯時序控制,這樣可以運行在gpu上
概率p越大越可能取a ,概率越小越可能取b,
p=0.5大于0.5取a,a值是0,小于0.5取b ,b值是1
gather
實現(xiàn)從reletive到global的一個映射
7,4,9到107,104,109
long是類型轉(zhuǎn)換
總結(jié)
以上是生活随笔為你收集整理的pytorch教程龙曲良21-25的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: pytorch教程龙曲良16-20
- 下一篇: pytorch教程龙曲良26-30