亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

pytorch中的廣播語義是什么

發布時間:2022-03-09 13:49:50 來源:億速云 閱讀:151 作者:iii 欄目:開發技術

這篇文章主要介紹“pytorch中的廣播語義是什么”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“pytorch中的廣播語義是什么”文章能幫助大家解決問題。

1、什么是廣播語義?

官方文檔有這樣一個解釋:

In short, if a PyTorch operation supports broadcast, then its Tensor arguments can be automatically expanded to be of equal sizes (without making copies of the data).

這句話的意思大概是:簡單的說,如果一個pytorch操作支持廣播,那么它的Tensor參數可以自動的擴展為相同的尺寸(不需要復制數據)。

按照我的理解,應該是指算法計算過程中,不同的Tensor如果size不同,但是符合一定的規則,那么可以自動的進行維度擴展,來實現Tensor的計算。在維度擴展的過程中,并不是真的把維度小的Tensor復制為和維度大的Tensor相同,因為這樣太浪費內存了。

2、廣播語義的規則

首先來看標準的情況,兩個Tensor的size相同,則可以直接計算:

x = torch.empty((4, 2, 3))
y = torch.empty((4, 2, 3)) 
print((x+y).size())

輸出:

torch.Size([4, 2, 3]) 

但是,如果兩個Tensor的維度并不相同,pytorch也是可以根據下面的兩個法則進行計算:

  • (1)Each tensor has at least one dimension.

  • (2)When iterating over the dimension sizes, starting at the trailing dimension, the dimension sizes must either be equal, one of them is 1, or one of them does not exist.

  • 每個Tensor至少有一個維度。

  • 迭代標注尺寸時,從后面的標注開始

第一個規則要求每個參與計算的Tensor至少有一個維度,第二個規則是指在維度迭代時,從最后一個維度開始,可以有三種情況:

  • 維度相等

  • 其中一個維度是1

  • 其中一個維度不存在

3、不符合廣播語義的例子

x = torch.empty((0, ))
y = torch.empty((2, 3)) 
print((x + y).size())

輸出:

RuntimeError: The size of tensor a (0) must match  the size of tensor b (3) at non-singleton dimension 1 

這里,不滿足第一個規則“每個參與計算的Tensor至少有一個維度”。

x = torch.empty(5, 2, 4, 1) 
y = torch.empty(3, 1, 1) 
print((x + y).size())

輸出:

RuntimeError: The size of tensor a (2) must match 
the size of tensor b (3) at non-singleton dimension 1 

這里,不滿足第二個規則,因為從最后的維度開始迭代的過程中,倒數第三個維度:x是2,y是3。這并不符合第二條規則的三種情況,所以不能使用廣播語義。

4、符合廣播語義的例子

x = torch.empty(5, 3, 4, 1) 
y = torch.empty(3, 1, 1) 
print((x + y).size())

輸出:

torch.Size([5, 3, 4, 1]) 

x是四維的,y是三維的,從最后一個維度開始迭代:

  • 最后一維:x是1,y是1,滿足規則二 

  • 倒數第二維:x是4,y是1,滿足規則二 

  • 倒數第三維:x是3,y是3,滿足規則一

  • 倒數第四維:x是5,y是0,滿足規則一 

關于“pytorch中的廣播語義是什么”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

阿拉善盟| 逊克县| 虎林市| 中方县| 平阴县| 华宁县| 弥渡县| 新建县| 城固县| 鹿邑县| 磴口县| 廉江市| 手游| 治县。| 紫云| 齐河县| 陇川县| 阿荣旗| 安徽省| 固始县| 彭山县| 苍溪县| 墨脱县| 盈江县| 雅江县| 沂南县| 乐安县| 辽阳县| 汾西县| 金秀| 新竹市| 元阳县| 云安县| 安溪县| 阿巴嘎旗| 福海县| 元谋县| 定襄县| 淅川县| 丰宁| 溧水县|