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

淺談pytorch中的BN層的注意事項

 更新時間:2020年06月23日 09:08:25   作者:張叫張大衛(wèi)  
這篇文章主要介紹了淺談pytorch中的BN層的注意事項,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

最近修改一個代碼的時候,當使用網(wǎng)絡進行推理的時候,發(fā)現(xiàn)每次更改測試集的batch size大小竟然會導致推理結果不同,甚至產(chǎn)生錯誤結果,后來發(fā)現(xiàn)在網(wǎng)絡中定義了BN層,BN層在訓練過程中,會將一個Batch的中的數(shù)據(jù)轉變成正太分布,在推理過程中使用訓練過程中的參數(shù)對數(shù)據(jù)進行處理,然而網(wǎng)絡并不知道你是在訓練還是測試階段,因此,需要手動的加上,需要在測試和訓練階段使用如下函數(shù)。

model.train() or model.eval()

BN類的定義見pytorch中文參考文檔

補充知識:關于pytorch中BN層(具體實現(xiàn))的一些小細節(jié)

最近在做目標檢測,需要把訓好的模型放到嵌入式設備上跑前向,因此得把各種層的實現(xiàn)都用C手擼一遍,,,此為背景。

其他層沒什么好說的,但是BN層這有個小坑。pytorch在打印網(wǎng)絡參數(shù)的時候,只打出weight和bias這兩個參數(shù)。咦,說好的BN層有四個參數(shù)running_mean、running_var 、gamma 、beta的呢?一開始我以為是pytorch把BN層的計算簡化成weight * X + bias,但馬上反應過來應該沒這么簡單,因為pytorch中只有可學習的參數(shù)才稱為parameter。上網(wǎng)找了一些資料但都沒有說到這么細的,畢竟大部分用戶使用時只要模型能跑起來就行了,,,于是開始看BN層有哪些屬性,果然發(fā)現(xiàn)了熟悉的running_mean和running_var,原來pytorch的BN層實現(xiàn)并沒有不同。這里吐個槽:為啥要把gamma和beta改叫weight、bias啊,很有迷惑性的好不好,,,

扯了這么多,干脆捋一遍pytorch里BN層的具體實現(xiàn)過程,幫自己理清思路,也可以給大家提供參考。再吐槽一下,在網(wǎng)上搜“pytorch bn層”出來的全是關于這一層怎么用的、初始化時要輸入哪些參數(shù),沒找到一個pytorch中BN層是怎么實現(xiàn)的,,,

眾所周知,BN層的輸出Y與輸入X之間的關系是:Y = (X - running_mean) / sqrt(running_var + eps) * gamma + beta,此不贅言。其中gamma、beta為可學習參數(shù)(在pytorch中分別改叫weight和bias),訓練時通過反向傳播更新;而running_mean、running_var則是在前向時先由X計算出mean和var,再由mean和var以動量momentum來更新running_mean和running_var。所以在訓練階段,running_mean和running_var在每次前向時更新一次;在測試階段,則通過net.eval()固定該BN層的running_mean和running_var,此時這兩個值即為訓練階段最后一次前向時確定的值,并在整個測試階段保持不變。

以上這篇淺談pytorch中的BN層的注意事項就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • python3中for循環(huán)踩過的坑記錄

    python3中for循環(huán)踩過的坑記錄

    這篇文章主要給大家介紹了python3中for循環(huán)踩坑的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-12-12
  • Python實現(xiàn)模擬登錄網(wǎng)易郵箱的方法示例

    Python實現(xiàn)模擬登錄網(wǎng)易郵箱的方法示例

    這篇文章主要介紹了Python實現(xiàn)模擬登錄網(wǎng)易郵箱的方法,結合實例形式分析了Python基于urllib2及cookielib模塊的http請求、數(shù)據(jù)傳輸及交互相關操作技巧,需要的朋友可以參考下
    2018-07-07
  • 詳解Python中的__init__和__new__

    詳解Python中的__init__和__new__

    這篇文章主要介紹了Python中的__init__和__new__的區(qū)別和實例詳解它們的作用,需要的朋友可以參考下
    2014-03-03
  • python實現(xiàn)讀取Excel內容并展示成json

    python實現(xiàn)讀取Excel內容并展示成json

    這篇文章主要為大家詳細介紹了如何使用python實現(xiàn)讀取Excel內容并展示成json功能,文中的示例代碼講解詳細,感興趣的小伙伴可以參考一下
    2023-12-12
  • Python實現(xiàn)FTP文件定時自動下載的步驟

    Python實現(xiàn)FTP文件定時自動下載的步驟

    這篇文章主要介紹了Python實現(xiàn)FTP文件定時自動下載的示例,幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2020-12-12
  • python使用代理IP爬取貓眼電影專業(yè)評分數(shù)據(jù)

    python使用代理IP爬取貓眼電影專業(yè)評分數(shù)據(jù)

    在編寫爬蟲程序的過程中,IP封鎖無疑是一個常見且棘手的問題,盡管網(wǎng)絡上存在大量的免費IP代理網(wǎng)站,但其質量往往參差不齊,令人堪憂,本篇文章中介紹一下如何使用Python的Requests庫和BeautifulSoup庫來抓取貓眼電影網(wǎng)站上的專業(yè)評分數(shù)據(jù),需要的朋友可以參考下
    2024-03-03
  • pytorch 更改預訓練模型網(wǎng)絡結構的方法

    pytorch 更改預訓練模型網(wǎng)絡結構的方法

    今天小編就為大家分享一篇pytorch 更改預訓練模型網(wǎng)絡結構的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-08-08
  • 解決django的template中如果無法引用MEDIA_URL問題

    解決django的template中如果無法引用MEDIA_URL問題

    這篇文章主要介紹了解決django的template中如果無法引用MEDIA_URL問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-04-04
  • 深入剖析Python的列表和元組

    深入剖析Python的列表和元組

    這篇文章主要介紹了深入剖析Python的列表和元組,Python有4個內建的數(shù)據(jù)結構,它們可以統(tǒng)稱為容器,因為它們實際上是一些“東西”組合而成的結構,而這些“東西”,可以是數(shù)字、字符甚至列表,或是它們的組合,需要的朋友可以參考下
    2023-07-07
  • Python之使用adb shell命令啟動應用的方法詳解

    Python之使用adb shell命令啟動應用的方法詳解

    今天小編就為大家分享一篇Python之使用adb shell命令啟動應用的方法詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-01-01

最新評論

德格县| 固安县| 荆州市| 巫山县| 文昌市| 精河县| 策勒县| 水城县| 余姚市| 苏尼特左旗| 德保县| 遵化市| 桂东县| 光泽县| 偏关县| 海丰县| 灵寿县| 徐汇区| 什邡市| 青龙| 营山县| 安泽县| 常熟市| 修武县| 芦山县| 石门县| 新丰县| 江阴市| 宁武县| 杭锦旗| 维西| 米林县| 泸西县| 西青区| 乌鲁木齐市| 广汉市| 兴安县| 泗阳县| 抚松县| 尖扎县| 边坝县|