pytorch 基本数学运算
pytorch中的運算遵循其Broadcasting規則,這里不詳細解釋。
? ??目錄
1. 矩陣對應位置加減乘除
2. 矩陣相乘?
3. 冪運算
3. 指數與對數運算
4. 近似取值(向上取整,向下取整,四舍五入,取小數等)?
5. clamp
1. 矩陣對應位置加減乘除
包括add(加),sub(減),mul(乘),div(除),pytorch中重載了加減乘除的運算符號:
首先先創建兩個tensor
加法,add與+結果一致:
減法,sub與-結果一致:
同理,mul與*,對應乘法運算,div與/ 對應除法運算。
2. 矩陣相乘?
上面使用的mul與*,對應的是兩個tensor對應位置的數字相乘,接下來介紹矩陣相乘的方法:
torch.mm(a,b), 只適用于二維,其他會報錯
torch.matnul(a,b)適用與所有符合運算規則的乘法。
且 可以使用@符號與matnul等價
多維相乘相當于多個二維相乘:
相乘時候需要注意?Broadcasting?規則
3. 冪運算
pow 與 ** 同運算
創建tensor,以及a的二次方。
? ? ????
sqrt 表示平方根,也就是0.5次方
?
3. 指數與對數運算
torch.exp(a)?表示e的a次方:
torch.log(a) 表示e為底進行計算:
4. 近似取值(向上取整,向下取整,四舍五入,取小數等)?
round() 四舍五入。
floor()? 向下取整,ceil()? 向上取整。
?
trunc() 取整數部分,frac() 取小數部分。
?注意這些函數,都有對應的 round_(), floor_(), ceil_(), trunc_(), frac_() , 會對 tensor 本身的值進行更改。
5. clamp
?clamp會對tensor中的數據進行篩選,需要傳入最小值最大值參數,如果只傳入一個參數,則默認為最小值
可見,小于最小值的數值將改變,如果同時也傳入了最大值參數,大于最大值的也將會進行改變
同樣的也有對應的clamp_()函數,會對對象本身的值進行更改。
總結
以上是生活随笔為你收集整理的pytorch 基本数学运算的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: QuickBooks2020中文版
- 下一篇: 【C/C++】程序员面试,掌握这些,丹尼