torch.mul、matmul、mm、bmm的区别
生活随笔
收集整理的這篇文章主要介紹了
torch.mul、matmul、mm、bmm的区别
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
torch.mul
torch.mul(input, value, out=None)
| input (Tensor) | 輸入張量 |
| value (Number) | 乘到每個元素的數 |
| out (Tensor) | 可選,輸出張量 |
torch.mul(input, other, out=None)
| input (Tensor) | 第一個相乘張量 |
| other (Tensor) | 第二個相乘張量 |
| out (Tensor) | 可選,輸出張量 |
torch.matmul
torch.matmul(input, other, out=None)
功能:
適用性最多的,能處理batch、廣播的矩陣:
1.如果第一個參數是一維,第二個是二維,那么給第一個提供一個維度
2.如果第一個是二維,第二個是一維,就是矩陣乘向量
3.帶有batch的情況,可保留batch計算
4.維度不同時,可先廣播,再batch計算
torch.mm
torch.mm(input, mat2, out=None)
處理二維矩陣的乘法,而且也只能處理二維矩陣,其他維度要用torch.matmul()。torch.mm(a, b)是矩陣a和b矩陣相乘,比如a的維度是(1, 2),b的維度是(2, 3),返回的就是(1, 3)的矩陣
torch.bmm
torch.bmm(input, mat2, out=None)
在mm的基礎上加入batch運算
總結
以上是生活随笔為你收集整理的torch.mul、matmul、mm、bmm的区别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 什么是模块化代码?如何写?
- 下一篇: 干货 | DDD实战:基于洋葱模型的分层