最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

pytorch中的廣播語義

 更新時間:2022年03月09日 11:40:14   作者:機器學習入坑者  
這篇文章主要介紹了pytorch中的廣播語義,pytorch的廣播語義即broadcasting semantics,和numpy的很像,下面文章介紹更多相關內容的介紹,需要的小伙伴可以參考一下

pytorch的廣播語義(broadcasting semantics),和numpy的很像,所以可以先看看numpy的文檔

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不同,但是符合一定的規(guī)則,那么可以自動的進行維度擴展,來實現Tensor的計算。在維度擴展的過程中,并不是真的把維度小的Tensor復制為和維度大的Tensor相同,因為這樣太浪費內存了。

2、廣播語義的規(guī)則

首先來看標準的情況,兩個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至少有一個維度。
  • 迭代標注尺寸時,從后面的標注開始

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

  • 維度相等
  • 其中一個維度是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 

這里,不滿足第一個規(guī)則“每個參與計算的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 

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

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,滿足規(guī)則二 
  • 倒數第二維:x是4,y是1,滿足規(guī)則二 
  • 倒數第三維:x是3,y是3,滿足規(guī)則一
  • 倒數第四維:x是5,y是0,滿足規(guī)則一 

 到此這篇關于pytorch中的廣播語義的文章就介紹到這了,更多相關pytorch廣播語義內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 實例講解Python中global語句下全局變量的值的修改

    實例講解Python中global語句下全局變量的值的修改

    global是Python中的一個關鍵字用來,聲明一個局部變量為全局變量,這里我們來以實例講解Python中global語句下全局變量的值的修改,需要的朋友可以參考下.
    2016-06-06
  • python np.arange 步長0.1的問題需要特別注意

    python np.arange 步長0.1的問題需要特別注意

    這篇文章主要介紹了python np.arange 步長0.1的問題需要特別注意,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • python 實現將Numpy數組保存為圖像

    python 實現將Numpy數組保存為圖像

    今天小編就為大家分享一篇python 實現將Numpy數組保存為圖像,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-01-01
  • python簡單幾步獲取各種DOS命令顯示的內容詳解流程

    python簡單幾步獲取各種DOS命令顯示的內容詳解流程

    你會用python獲取各種DOS命令顯示的內容核心嗎?說的可不是返回值,是用system()函數調用windows操作系統(tǒng)的DOS命令來做點事情,需要的朋友可以參考下
    2021-10-10
  • pytorch中關于backward的幾個要點說明

    pytorch中關于backward的幾個要點說明

    這篇文章主要介紹了pytorch中關于backward的幾個要點說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • Python實現名片管理系統(tǒng)

    Python實現名片管理系統(tǒng)

    這篇文章主要為大家詳細介紹了Python實現名片管理系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-02-02
  • Python構建機器學習API服務的操作過程

    Python構建機器學習API服務的操作過程

    這篇文章主要介紹了Python構建機器學習API服務的操作過程,通過本文的指導,讀者可以學習如何使用Python構建機器學習模型的API服務,并了解到在實際應用中需要考慮的一些關鍵問題和解決方案,從而為自己的項目提供更好的支持和服務,需要的朋友可以參考下
    2024-04-04
  • python對常見數據類型的遍歷解析

    python對常見數據類型的遍歷解析

    這篇文章主要介紹了python對常見數據類型的遍歷解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-08-08
  • Python獲取航線信息并且制作成圖的講解

    Python獲取航線信息并且制作成圖的講解

    今天小編就為大家分享一篇關于Python獲取航線信息并且制作成圖的講解,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-01-01
  • 分析Python中設計模式之Decorator裝飾器模式的要點

    分析Python中設計模式之Decorator裝飾器模式的要點

    這篇文章主要介紹了Python中設計模式之Decorator裝飾器模式模式,文中詳細地講解了裝飾對象的相關加鎖問題,需要的朋友可以參考下
    2016-03-03

最新評論

简阳市| 连城县| 八宿县| 白山市| 郯城县| 黄龙县| 班玛县| 图木舒克市| 屯留县| 南投市| 浦县| 屯昌县| 增城市| 资溪县| 洪洞县| 花莲县| 南溪县| 兰考县| 磴口县| 射洪县| 高邮市| 夹江县| 翁牛特旗| 同德县| 通海县| 崇仁县| 吴旗县| 青阳县| 芷江| 资源县| 阜宁县| 云龙县| 天长市| 汕尾市| 石河子市| 金华市| 大方县| 五峰| 句容市| 上饶市| 永州市|