校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > pytorch中的matmul與mm,bmm區別說明

pytorch中的matmul與mm,bmm區別說明

熱門標簽:公司電話機器人 廣告地圖標注app 白銀外呼系統 唐山智能外呼系統一般多少錢 陜西金融外呼系統 騰訊外呼線路 海南400電話如何申請 哈爾濱ai外呼系統定制 激戰2地圖標注

pytorch中matmul和mm和bmm區別 matmulmmbmm結論

先看下官網上對這三個函數的介紹。

matmul

mm

bmm

顧名思義, 就是兩個batch矩陣乘法.

結論

從官方文檔可以看出

1、mm只能進行矩陣乘法,也就是輸入的兩個tensor維度只能是( n × m ) (n\times m)(n×m)和( m × p ) (m\times p)(m×p)

2、bmm是兩個三維張量相乘, 兩個輸入tensor維度是( b × n × m ) (b\times n\times m)(b×n×m)和( b × m × p ) (b\times m\times p)(b×m×p), 第一維b代表batch size,輸出為( b × n × p ) (b\times n \times p)(b×n×p)

3、matmul可以進行張量乘法, 輸入可以是高維.

補充:torch中的幾種乘法。torch.mm, torch.mul, torch.matmul

一、點乘

點乘都是broadcast的,可以用torch.mul(a, b)實現,也可以直接用*實現。

>>> a = torch.ones(3,4)
>>> a
tensor([[1., 1., 1., 1.],
        [1., 1., 1., 1.],
        [1., 1., 1., 1.]])
>>> b = torch.Tensor([1,2,3]).reshape((3,1))
>>> b
tensor([[1.],
        [2.],
        [3.]])
>>> torch.mul(a, b)
tensor([[1., 1., 1., 1.],
        [2., 2., 2., 2.],
        [3., 3., 3., 3.]])

當a, b維度不一致時,會自動填充到相同維度相點乘。

二、矩陣乘

矩陣相乘有torch.mm和torch.matmul兩個函數。其中前一個是針對二維矩陣,后一個是高維。當torch.mm用于大于二維時將報錯。

>>> a = torch.ones(3,4)
>>> b = torch.ones(4,2)
>>> torch.mm(a, b)
tensor([[4., 4.],
        [4., 4.],
        [4., 4.]])
>>> a = torch.ones(3,4)
>>> b = torch.ones(5,4,2)
>>> torch.matmul(a, b).shape
torch.Size([5, 3, 2])
>>> a = torch.ones(5,4,2)
>>> b = torch.ones(5,2,3)
>>> torch.matmul(a, b).shape
torch.Size([5, 4, 3])
>>> a = torch.ones(5,4,2)
>>> b = torch.ones(5,2,3)
>>> torch.matmul(b, a).shape
報錯。

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。

您可能感興趣的文章:
  • pytorch:torch.mm()和torch.matmul()的使用
  • 基于python及pytorch中乘法的使用詳解
  • 關于tf.matmul() 和tf.multiply() 的區別說明

標簽:惠州 常德 鷹潭 四川 黔西 益陽 上海 黑龍江

巨人網絡通訊聲明:本文標題《pytorch中的matmul與mm,bmm區別說明》,本文關鍵詞  pytorch,中的,matmul,與,bmm,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《pytorch中的matmul與mm,bmm區別說明》相關的同類信息!
  • 本頁收集關于pytorch中的matmul與mm,bmm區別說明的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 恩施市| 习水县| 大悟县| 准格尔旗| 巩留县| 五莲县| 嵩明县| 溆浦县| 宾川县| 兴业县| 清新县| 漳浦县| 灌南县| 囊谦县| 凤翔县| 平谷区| 普兰店市| 遵义县| 湟源县| 小金县| 肃北| 万宁市| 前郭尔| 织金县| 贵港市| 泰来县| 台南市| 扎赉特旗| 武平县| 肃宁县| 韶山市| 醴陵市| 长寿区| 连州市| 江津市| 玛曲县| 宣化县| 华阴市| 普安县| 远安县| 延吉市|