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

主頁 > 知識庫 > Pytorch 中net.train 和 net.eval的使用說明

Pytorch 中net.train 和 net.eval的使用說明

熱門標簽:外呼系統哪些好辦 沈陽外呼系統呼叫系統 沈陽人工外呼系統價格 武漢外呼系統平臺 江西省地圖標注 沈陽防封電銷卡品牌 池州外呼調研線路 如何申請400電話費用 富錦商家地圖標注

在訓練模型時會在前面加上:

model.train()

在測試模型時在前面使用:

model.eval()

同時發現,如果不寫這兩個程序也可以運行,這是因為這兩個方法是針對在網絡訓練和測試時采用不同方式的情況,比如Batch Normalization 和 Dropout。

訓練時是正對每個min-batch的,但是在測試中往往是針對單張圖片,即不存在min-batch的概念。

由于網絡訓練完畢后參數都是固定的,因此每個批次的均值和方差都是不變的,因此直接結算所有batch的均值和方差。

所有Batch Normalization的訓練和測試時的操作不同

在訓練中,每個隱層的神經元先乘概率P,然后在進行激活,在測試中,所有的神經元先進行激活,然后每個隱層神經元的輸出乘P。

補充:Pytorch踩坑記錄——model.eval()

最近在寫代碼時遇到一個問題,原本訓練好的模型,加載進來進行inference準確率直接掉了5個點,尼瑪,這簡直不能忍啊~本菜雞下意識地感知到我肯定又在哪里寫了bug了~~~于是開始到處排查,從model load到data load,最終在一個被我封裝好的module的犄角旮旯里找到了問題,于是順便就在這里總結一下,避免以后再犯。

對于訓練好的模型加載進來準確率和原先的不符,比較常見的有兩方面的原因:

1)data

2)model.state_dict()

1) data

數據方面,檢查前后兩次加載的data有沒有發生變化。首先檢查 transforms.Normalize 使用的均值和方差是否和訓練時相同;另外檢查在這個過程中數據是否經過了存儲形式的改變,這有可能會帶來數據精度的變化導致一定的信息丟失。

比如我過用的其中一個數據集,原先將圖片存儲成向量形式,但其對應的是“png”格式的數據(后來在原始文件中發現了相應的描述。),而我進行了一次data-to-img操作,將向量轉換成了“jpg”形式,這時加載進來便造成了掉點。

2)model.state_dict()

第一方面造成的掉點一般不會太嚴重,第二方面造成的掉點就比較嚴重了,一旦模型的參數加載錯了,那就誤差大了。

如果是參數沒有正確加載進來則比較容易發現,這時準確率非常低,幾乎等于瞎猜。

而我這次遇到的情況是,準確率并不是特別低,只掉了幾個點,檢查了多次,均顯示模型參數已經成功加載了。后來仔細查看后發現在其中一次調用模型進行inference時,忘了寫 ‘model.eval()',造成了模型的參數發生變化,再次調用則出現了掉點。

于是又回顧了一下model.eval()和model.train()的具體作用。如下:

model.train() 和 model.eval() 一般在模型訓練和評價的時候會加上這兩句,主要是針對由于model 在訓練時和評價時 Batch

Normalization 和 Dropout 方法模式不同:

a) model.eval(),不啟用 BatchNormalization 和 Dropout。此時pytorch會自動把BN和DropOut固定住,不會取平均,而是用訓練好的值。不然的話,一旦test的batch_size過小,很容易就會因BN層導致模型performance損失較大;

b) model.train() :啟用 BatchNormalization 和 Dropout。 在模型測試階段使用model.train() 讓model變成訓練模式,此時 dropout和batch normalization的操作在訓練q起到防止網絡過擬合的問題。

因此,在使用PyTorch進行訓練和測試時一定要記得把實例化的model指定train/eval。

model.eval()   vs   torch.no_grad()

雖然二者都是eval的時候使用,但其作用并不相同:

model.eval() 負責改變batchnorm、dropout的工作方式,如在eval()模式下,dropout是不工作的。 見下方代碼:

  import torch
  import torch.nn as nn
 
  drop = nn.Dropout()
  x = torch.ones(10)
  
  # Train mode   
  drop.train()
  print(drop(x)) # tensor([2., 2., 0., 2., 2., 2., 2., 0., 0., 2.])   
  
  # Eval mode   
  drop.eval()
  print(drop(x)) # tensor([1., 1., 1., 1., 1., 1., 1., 1., 1., 1.])

torch.no_grad() 負責關掉梯度計算,節省eval的時間。

只進行inference時,model.eval()是必須使用的,否則會影響結果準確性。 而torch.no_grad()并不是強制的,只影響運行效率。

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • pytorch掉坑記錄:model.eval的作用說明
  • 踩坑:pytorch中eval模式下結果遠差于train模式介紹
  • 聊聊PyTorch中eval和no_grad的關系
  • pytorch:model.train和model.eval用法及區別詳解

標簽:常德 呂梁 株洲 銅川 黑龍江 通遼 潛江 阿里

巨人網絡通訊聲明:本文標題《Pytorch 中net.train 和 net.eval的使用說明》,本文關鍵詞  Pytorch,中,net.train,和,net.eval,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Pytorch 中net.train 和 net.eval的使用說明》相關的同類信息!
  • 本頁收集關于Pytorch 中net.train 和 net.eval的使用說明的相關信息資訊供網民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    九色|91porny| 欧美高清视频www夜色资源网| 精品无人码麻豆乱码1区2区| 免费观看91视频大全| 日韩精品1区2区3区| 六月丁香婷婷久久| 国产成人综合在线观看| 91色porny在线视频| 欧美视频你懂的| 精品国产a毛片| 日韩理论片一区二区| 亚洲成人av电影在线| 精品中文av资源站在线观看| 粉嫩aⅴ一区二区三区四区| 91色|porny| 欧美xingq一区二区| 国产精品欧美一区喷水| 中文字幕第一区| 久久精品国产99久久6| 不卡av免费在线观看| 91精品国产91综合久久蜜臀| 久久久精品国产99久久精品芒果| 亚洲免费看黄网站| 黑人巨大精品欧美黑白配亚洲| 91香蕉视频黄| 精品久久久久久久久久久久久久久久久| 国产欧美一区二区精品性| 亚洲韩国一区二区三区| 国产成人av一区| 91精选在线观看| 亚洲精品国产a| 成人爱爱电影网址| 欧美精品一区二区三| 日韩精品一卡二卡三卡四卡无卡| hitomi一区二区三区精品| 欧美精品一区二区高清在线观看| 亚洲国产精品一区二区尤物区| 成人黄页在线观看| 久久久精品日韩欧美| 久久91精品久久久久久秒播 | 91视频在线观看| 中文字幕av资源一区| 国产成人在线视频网站| 色吊一区二区三区| 国产欧美一区二区三区网站| 久久99国产精品麻豆| 日韩视频免费观看高清完整版 | 欧美电视剧免费全集观看| 亚洲综合丁香婷婷六月香| 91免费视频观看| 亚洲精品高清视频在线观看| 91片黄在线观看| 亚洲精品菠萝久久久久久久| 色狠狠桃花综合| 天堂va蜜桃一区二区三区 | 日本精品视频一区二区| 国产欧美一区二区精品忘忧草| 国产很黄免费观看久久| 国产精品久久一卡二卡| 91在线免费播放| 香蕉影视欧美成人| 26uuu成人网一区二区三区| 成人午夜大片免费观看| 久久精品亚洲精品国产欧美kt∨ | 日韩欧美国产小视频| 久久成人免费网| 国产日产欧美一区二区三区| 色哟哟在线观看一区二区三区| 亚洲国产欧美在线| 精品99一区二区三区| 91在线码无精品| 国产一区在线看| 亚洲国产精品久久久久秋霞影院| 久久久久久久久久美女| 在线视频一区二区免费| 国产精品中文欧美| 亚洲小少妇裸体bbw| 中文字幕av一区二区三区| 欧美高清dvd| 在线日韩一区二区| 国产一区不卡在线| 天堂av在线一区| 一区二区三区免费看视频| 久久久久久免费网| 欧美一区二区日韩| 日本乱码高清不卡字幕| 国产91丝袜在线播放| 麻豆高清免费国产一区| 免费成人在线观看| 一区二区三区欧美日| 国产精品久久久久影院| 日韩一区二区视频在线观看| 精品一区二区三区免费播放| 国产精品污污网站在线观看 | 激情亚洲综合在线| 午夜一区二区三区在线观看| 综合久久综合久久| 一区精品在线播放| 中文av字幕一区| 中文在线一区二区| 精品国产污网站| 91精品国产福利在线观看| 欧美日韩国产在线观看| 欧美三级在线看| 欧美精选一区二区| 91麻豆精品久久久久蜜臀| 欧美二区三区的天堂| 欧美福利一区二区| 欧美精品一区二区三区四区| 久久亚洲捆绑美女| 国产精品国产自产拍高清av| 国产欧美日韩精品a在线观看| 日本一区二区三区久久久久久久久不| 日韩欧美电影一二三| 欧美精品一区二区三区蜜桃| 久久综合色之久久综合| 中文无字幕一区二区三区| 成人免费一区二区三区视频| 一区二区三区四区在线免费观看| 依依成人精品视频| 日韩电影在线一区二区三区| 国内成人自拍视频| 日本va欧美va瓶| 国产成人免费视| 欧美肥妇毛茸茸| 久久精品在线免费观看| 亚洲少妇30p| 成人黄色a**站在线观看| 日本精品一区二区三区高清| 欧美哺乳videos| 夜夜嗨av一区二区三区| 国产一区三区三区| 欧美亚洲国产怡红院影院| 久久久综合精品| 亚洲一区二区三区四区在线观看| 美腿丝袜亚洲三区| 99久久综合国产精品| 日韩午夜在线播放| 亚洲欧美激情视频在线观看一区二区三区| 日欧美一区二区| 在线免费观看不卡av| 国产成人免费视频一区| 国产精品综合一区二区| 欧美性色欧美a在线播放| 国产女同互慰高潮91漫画| 日本美女一区二区三区视频| 欧美性一级生活| 亚洲蜜臀av乱码久久精品蜜桃| 国产激情视频一区二区在线观看 | 91国在线观看| 亚洲欧美一区二区在线观看| 精品一区二区三区免费观看| 7777精品伊人久久久大香线蕉最新版| 亚洲色欲色欲www| 日本美女视频一区二区| 91亚洲精品久久久蜜桃网站 | 精品1区2区在线观看| 精品无人码麻豆乱码1区2区| 久久免费美女视频| 免费视频最近日韩| 欧美一区午夜精品| 激情综合色播五月| 国产婷婷色一区二区三区| 国产一区二区日韩精品| 国产午夜精品一区二区| 国产乱人伦偷精品视频免下载| 在线观看免费成人| 亚洲精品伦理在线| 国产乱一区二区| 亚洲三级理论片| 欧美在线观看视频在线| 日本不卡一区二区三区 | 91麻豆免费看片| 亚洲欧美另类小说| 在线观看免费视频综合| 免费高清视频精品| 欧美激情一区三区| av在线免费不卡| 婷婷久久综合九色综合绿巨人| 欧美一卡2卡3卡4卡| 久久99精品久久久久久动态图| 欧美日韩国产首页| 国产一区二区三区在线观看免费视频 | 99国产精品视频免费观看| 亚洲综合免费观看高清在线观看| 欧美色综合天天久久综合精品| 免费在线一区观看| 久久久国产精华| 欧美日韩国产综合一区二区| 狠狠色丁香久久婷婷综合丁香| 日韩码欧中文字| 国产欧美一区二区三区鸳鸯浴 | 精品国产乱码久久久久久蜜臀| 国产成人午夜精品影院观看视频 | 成人激情综合网站| 亚洲午夜电影网| 国产肉丝袜一区二区| 欧美日韩国产一级片| 播五月开心婷婷综合| 国产精品69毛片高清亚洲|