成人性生交大片免费看视频r_亚洲综合极品香蕉久久网_在线视频免费观看一区_亚洲精品亚洲人成人网在线播放_国产精品毛片av_久久久久国产精品www_亚洲国产一区二区三区在线播_日韩一区二区三区四区区区_亚洲精品国产无套在线观_国产免费www

主頁 > 知識庫 > 聊聊PyTorch中eval和no_grad的關(guān)系

聊聊PyTorch中eval和no_grad的關(guān)系

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

首先這兩者有著本質(zhì)上區(qū)別

model.eval()是用來告知model內(nèi)的各個layer采取eval模式工作。這個操作主要是應對諸如dropout和batchnorm這些在訓練模式下需要采取不同操作的特殊layer。訓練和測試的時候都可以開啟。

torch.no_grad()則是告知自動求導引擎不要進行求導操作。這個操作的意義在于加速計算、節(jié)約內(nèi)存。但是由于沒有g(shù)radient,也就沒有辦法進行backward。所以只能在測試的時候開啟。

所以在evaluate的時候,需要同時使用兩者。

model = ...
dataset = ...
loss_fun = ...

# training
lr=0.001
model.train()
for x,y in dataset:
 model.zero_grad()
 p = model(x)
 l = loss_fun(p, y)
 l.backward()
 for p in model.parameters():
  p.data -= lr*p.grad
 
# evaluating
sum_loss = 0.0
model.eval()
with torch.no_grad():
 for x,y in dataset:
  p = model(x)
  l = loss_fun(p, y)
  sum_loss += l
print('total loss:', sum_loss)

另外no_grad還可以作為函數(shù)是修飾符來用,從而簡化代碼。

def train(model, dataset, loss_fun, lr=0.001):
 model.train()
 for x,y in dataset:
  model.zero_grad()
  p = model(x)
  l = loss_fun(p, y)
  l.backward()
  for p in model.parameters():
   p.data -= lr*p.grad
 
@torch.no_grad()
def test(model, dataset, loss_fun):
 sum_loss = 0.0
 model.eval()
 for x,y in dataset:
  p = model(x)
  l = loss_fun(p, y)
  sum_loss += l
 return sum_loss

# main block:
model = ...
dataset = ...
loss_fun = ...

# training
train()
# test
sum_loss = test()
print('total loss:', sum_loss)

補充:pytorch中model.train、model.eval以及torch.no_grad的用法

1、model.train()

啟用 BatchNormalization 和 Dropout

model.train() 讓model變成訓練模式,此時 dropout和batch normalization的操作在訓練起到防止網(wǎng)絡(luò)過擬合的問題

2、model.eval()

不啟用 BatchNormalization 和 Dropout

model.eval(),pytorch會自動把BN和DropOut固定住,而用訓練好的值。不然的話,一旦test的batch_size過小,很容易就會被BN層導致所生成圖片顏色失真極大

訓練完train樣本后,生成的模型model要用來測試樣本。在model(test)之前,需要加上model.eval(),否則的話,有輸入數(shù)據(jù),即使不訓練,它也會改變權(quán)值。這是model中含有batch normalization層所帶來的的性質(zhì)。

對于在訓練和測試時為什么要這樣做,可以從下面兩段話理解:

在訓練的時候, 會計算一個batch內(nèi)的mean 和var, 但是因為是小batch小batch的訓練的,所以會采用加權(quán)或者動量的形式來將每個batch的 mean和var來累加起來,也就是說再算當前的batch的時候,其實當前的權(quán)重只是占了0.1, 之前所有訓練過的占了0.9的權(quán)重,這樣做的好處是不至于因為某一個batch太過奇葩而導致的訓練不穩(wěn)定。

好,現(xiàn)在假設(shè)訓練完成了, 那么在整個訓練集上面也得到了一個最終的”mean 和var”, BN層里面的參數(shù)也學習完了(如果指定學習的話),而現(xiàn)在需要測試了,測試的時候往往會一張圖一張圖的去測,這時候沒有batch而言了,對單獨一個數(shù)據(jù)做 mean和var是沒有意義的, 那么怎么辦,實際上在測試的時候BN里面用的mean和var就是訓練結(jié)束后的mean_final 和 val_final. 也可說是在測試的時候BN就是一個變換。所以在用pytorch的時候要注意這一點,在訓練之前要有model.train() 來告訴網(wǎng)絡(luò)現(xiàn)在開啟了訓練模式,在eval的時候要用”model.eval()”, 用來告訴網(wǎng)絡(luò)現(xiàn)在要進入測試模式了.因為這兩種模式下BN的作用是不同的。

3、torch.no_grad()

這條語句的作用是:在測試時不進行梯度的計算,這樣可以在測試時有效減小顯存的占用,以免發(fā)生顯存溢出(OOM)。

這條語句通常加在網(wǎng)絡(luò)預測的那條代碼上。

4、pytorch中model.eval()和“with torch.no_grad()區(qū)別

兩者區(qū)別

在PyTorch中進行validation時,會使用model.eval()切換到測試模式,在該模式下,

主要用于通知dropout層和batchnorm層在train和val模式間切換

在train模式下,dropout網(wǎng)絡(luò)層會按照設(shè)定的參數(shù)p設(shè)置保留激活單元的概率(保留概率=p); batchnorm層會繼續(xù)計算數(shù)據(jù)的mean和var等參數(shù)并更新。

在val模式下,dropout層會讓所有的激活單元都通過,而batchnorm層會停止計算和更新mean和var,直接使用在訓練階段已經(jīng)學出的mean和var值。

該模式不會影響各層的gradient計算行為,即gradient計算和存儲與training模式一樣,只是不進行反傳(backprobagation)

而with torch.zero_grad()則主要是用于停止autograd模塊的工作,以起到加速和節(jié)省顯存的作用,具體行為就是停止gradient計算,從而節(jié)省了GPU算力和顯存,但是并不會影響dropout和batchnorm層的行為。

使用場景

如果不在意顯存大小和計算時間的話,僅僅使用model.eval()已足夠得到正確的validation的結(jié)果;而with torch.zero_grad()則是更進一步加速和節(jié)省gpu空間(因為不用計算和存儲gradient),從而可以更快計算,也可以跑更大的batch來測試。

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

您可能感興趣的文章:
  • pytorch掉坑記錄:model.eval的作用說明
  • pytorch:model.train和model.eval用法及區(qū)別詳解
  • 解決Pytorch中的神坑:關(guān)于model.eval的問題

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

巨人網(wǎng)絡(luò)通訊聲明:本文標題《聊聊PyTorch中eval和no_grad的關(guān)系》,本文關(guān)鍵詞  聊聊,PyTorch,中,eval,和,grad,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《聊聊PyTorch中eval和no_grad的關(guān)系》相關(guān)的同類信息!
  • 本頁收集關(guān)于聊聊PyTorch中eval和no_grad的關(guān)系的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    日本道精品一区二区三区| 国产一区二区在线观| 裸体裸乳免费看| 亚洲桃色在线一区| 成人一区二区三| 中文字幕不卡每日更新1区2区| 天天噜夜夜操| 国产精品久久久久久久9999| 国产乱国产乱300精品| 中文av字幕| 成人国产一区二区三区精品麻豆| 欧美一级二级三级区| 热久久精品国产| 国产免费黄视频| 亚洲av激情无码专区在线播放| 国产精品免费视频xxxx| 天天做天天爱天天爽综合网| 国产女主播一区| 嗯用力啊快一点好舒服小柔久久| 中文字幕亚洲综合久久菠萝蜜| 2021中文字幕一区亚洲| 精品国产乱码久久久久久久软件| 色一情一伦一子一伦一区| 开心激情五月网| 中文字幕制服丝袜一区二区三区| 天堂成人娱乐在线视频免费播放网站| 成人国产一区二区三区精品麻豆| 少妇高潮久久久久久潘金莲| av网站免费大全| 久久男人资源站| 四虎精品欧美一区二区免费| 你懂的在线观看网站| 国产亚洲成人av| 三上悠亚一区二区| 97精品在线视频| 91免费视频网站在线观看| 欧美女同在线观看| 99精品国产福利在线观看免费| xfplay资源站夜色先锋5566| 欧美人与禽zozzo禽性配| 网站永久看片免费| 免费黄色三级网站| 久久综合免费视频影院| 超碰在线免费公开| 欧美亚洲免费高清在线观看| 国内自拍视频在线看免费观看| 中文字幕丰满乱子伦无码专区| 国产人与zoxxxx另类91| 久久理论片午夜琪琪电影网| 国产精品久在线观看| 国产精品videossex国产高清| 国产日韩欧美在线视频观看| 国产精品男女| 奇米成人av国产一区二区三区| 成人免费毛片在线观看| 看黄色一级大片| 国产一区免费电影| 国产精品成人a在线观看| 成人做爰www看视频软件| 国产日韩综合一区二区性色av| 中文字幕一区二区三区域| 成人久久久久久| 久久国产精品色av免费看| 中文字幕av网址| 白浆视频在线观看| 性做久久久久久免费观看欧美| 欧美另类z0zx974| 内射无码专区久久亚洲| 日本一线产区和二线产区| 欧美视频久久久| 2021久久国产精品不只是精品| 97久久精品| 欧美日韩精品免费观看视频完整| 国产免费福利| 国产精品国产三级国产普通话对白| av不卡在线| 日韩av不卡一区二区| 成人性做爰片免费视频| av网址在线播放| 免费黄色在线看| 在线观看免费视频你懂的| 成人性生交大片| 日韩美女免费视频| 麻豆传媒一区二区| 亚洲人成小说网站色在线| 97精品国产91久久久久久| 国产精品沙发午睡系列| 国产精品国产三级国产aⅴ原创| 波多野结衣亚洲| 极品尤物一区| 国产剧情在线观看一区二区| 日韩一区二区不卡视频| 日本电影亚洲天堂一区| 日韩国产精品久久久久久亚洲| 九九热只有这里有精品| 在线观看av网页| 久久99精品久久久久久久久久久久| 国产精品区一区二区三在线播放| 亚洲欧美专区| 国产精品国模在线| 无码中文字幕色专区| 日本黄色录像视频| 国产91精品一区二区绿帽| 999www人成免费视频| 四虎4hu永久免费入口| 亚洲人成啪啪网站| 国产美女黄色| 777xxx欧美| 国产高清不卡一区| 久久国产精彩视频| 欧美性做爰猛烈叫床潮| 国产一区影院| 亚洲成在线观看| 久久夜色精品亚洲噜噜国产mv| 精品国产成人在线| 亚洲精品中文字幕在线观看| 无码精品a∨在线观看中文| 成人福利视频在线观看| 国产成人免费视频一区| 亚洲精品欧美一区二区三区| 18精品爽国产三级网站| 永久免费网站视频在线观看| 九九九九九精品| 亚洲夂夂婷婷色拍ww47| 色999日韩国产欧美一区二区| 一级黄色香蕉视频| 国产精品久久久久久久裸模| 国产嫩草在线观看| 日韩国产在线观看一区| 国产视频一二三| 国产美女久久久| 亚瑟一区二区三区四区| 你懂得视频在线观看| 亚洲精品18p| 久久久久久爱| 九九热最新视频//这里只有精品| 黄色三级视频在线播放| 国产精品女主播一区二区三区| 天堂va欧美ⅴa亚洲va一国产| caoporn免费在线| 三上悠亚免费在线观看| 久久精品无码一区二区三区毛片| 久久91亚洲精品中文字幕奶水| 欧美国产专区| 日韩欧美激情| 国产精品亚洲电影久久成人影院| 欧美三日本三级少妇99| 91老司机福利 在线| 制服.丝袜.亚洲.中文.综合懂色| 福利视频大全| 国产免费嫩草影院| 久久不射网站| 95精品视频| 国产亚洲综合精品| 青青操在线播放| 一区二区三区福利| 日韩免费av在线| 久久夜色精品一区| 久久精品视频91| 久久九九久久九九| 免费人成网站在线观看欧美高清| 中文字幕 欧美日韩| 亚洲精品一区三区三区在线观看| 国产精品久久久久91| 欧美巨大xxxx做受沙滩| 欧美精品一区二区三区精品| 含羞草激情视频| 大桥未久恸哭の女教师| 国产精品69av| 国产精品的网站| 丝袜美腿成人在线| 国产精品免费在线免费| 91精品久久久久久久久久久久| 久久99蜜桃| 日批视频在线免费看| 99久久人妻无码中文字幕系列| 猛性xxxxx| 天堂中文字幕在线观看| 日本不卡久久| 26uuu另类欧美亚洲曰本| 一级黄色片网址| 两女双腿交缠激烈磨豆腐| 九九九久久久久久久| av每日在线更新| 99re6这里有精品热视频| www.国产亚洲| 国产嫩草在线视频| 福利视频一区| 色欧美88888久久久久久影院| 精品国产第一页| 亚洲在线视频免费| 国产精品高潮呻吟av| 奇米亚洲欧美| 精品国精品国产自在久不卡| 国产手机在线观看| 五月天色网站| 欧美中文字幕在线观看| 日韩av在线免播放器| 天天色天天射天天干| 综合色天天鬼久久鬼色| 亚洲综合123| h片在线免费| 中文一区一区三区高中清不卡免费| 99久久免费视频.com| 欧美a在线观看| 天堂中文在线资| 欧美激情手机在线视频| 国产网站麻豆精品视频| 国产精品一区二区三区av麻| 免费av一区二区三区| 青青在线免费观看视频| 在线观看特色大片免费视频| 日本美女高清在线观看免费| 三级黄色视屏| 国产婷婷色综合av蜜臀av| 欧美日本在线看| 大肉大捧一进一出好爽| 成人欧美色图| 日韩一区二区三区电影| 99久免费精品视频在线观78| 91成人国产在线观看| 国产精品福利一区二区| 综合日韩在线| 久久香蕉精品视频| 在线精品亚洲一区二区不卡| 精品少妇一区二区三区免费观| www..69.hd| 欧美国产亚洲一区| 久久精品免费一区二区三区| avtt综合网| 亚洲网站视频在线观看| 深爱激情五月婷婷| 成人羞羞视频在线看网址| 秋霞综合在线视频| 精品夜夜澡人妻无码av| 中文网丁香综合网| 91蝌蚪在线观看视频| 日韩美女视频免费在线观看| 欧美美女激情18p| 天天操天天干天天爱| 老司机在线永久免费观看| 天天操天天色综合| 欧美激情2020午夜免费观看| 波多野结衣中文一区| 欧美日韩亚洲综合一区二区三区| 少妇aaaaa| 久久裸体网站| 搡老熟女老女人一区二区| 欧美精品18videos性欧美| 亚洲成年人电影网站| 久久精品日产第一区二区三区精品版| 玖玖玖精品中文字幕| 黄色综合网址| 中文字幕在线亚洲三区| 欧美乱妇高清无乱码| 亚洲美女精品成人在线视频| 欧美主播福利视频| 国产男女猛烈无遮挡a片漫画| 色资源网站在线观看| 日韩黄色一级大片| 欧美老少做受xxxx高潮| 日韩精品视频免费专区在线播放| 又色又爽又黄18网站| 亚洲精品国产精品国自产观看浪潮| 免费精品99久久国产综合精品应用| 午夜激情成人网| 三年中国国语在线播放免费| 亚洲免费av片| 日韩一区精品| 美足av综合网| 日韩av男人的天堂| 欧美综合社区国产| 91综合精品国产丝袜长腿久久| 国产精品一区免费观看| 黄色成人免费网| 天天舔夜夜操| 国产1区二区| 国产精品6666| 免费网站看v片在线a| 亚洲免费在线播放视频| 岛国在线视频免费看| 欧美日韩大片在线观看| 99久久99久久精品免费看小说.| 青青草原免费观看| 视频亚洲一区二区| 国产美女高潮久久白浆| 人妻精品久久久久中文| 国产亚洲精品久久久优势| 亚洲一区二区三区四区五区中文| 亚洲成人动漫av| 久久国产精品影院| 日韩欧美国产1| 伊人久久大香线蕉综合网站| 欧美xx视频| aaa欧美日韩| 中文字幕一区二区三区久久网站| 日韩av首页| 青青青青在线| 欧美午夜精品久久久久久浪潮| 成人少妇影院yyyy| 国产吃瓜黑料一区二区| 国产裸体永久免费无遮挡| 国产在线观看免费麻豆| 黄页免费观看| 无国产精品白浆免费视| xxxx视频在线观看| 久久中文字幕精品| 久久超级碰视频| 久草视频免费在线观看| 亚洲国产高清国产精品| 82av视频| 亚洲男人的天堂在线视频| 日产精品久久久久久久性色| 日韩视频精品| 色老头一区二区三区| 国产女主播视频一区二区| 欧美日本一区二区三区四区| 欧美日韩在线免费播放| 国产精品久久久久77777| 亚洲午夜在线视频| 大桥未久av一区二区三区中文| 欧美 日韩 国产 激情| 亚洲国产成人久久综合一区| 蜜臀av在线| 特级西西444www大精品视频免费看| 国产精品伊人| 国产午夜视频在线| 羞羞的网站在线观看|