pytorch: 四種方法解決RuntimeError: CUDA out of memory. Tried to allocate ... MiB

Bug:RuntimeError: CUDA out of memory. Tried to allocate ... MiB

解決方法:

法一:

調(diào)小batch_size厂榛,設(shè)到4基本上能解決問題娶耍,如果還不行,該方法pass。

法二:

在報錯處茅特、代碼關(guān)鍵節(jié)點(一個epoch跑完...)插入以下代碼(目的是定時清內(nèi)存):

import torch, gc

gc.collect()
torch.cuda.empty_cache()

法三(常用方法):

在測試階段和驗證階段前插入代碼 with torch.no_grad()(目的是該段程序不計算參數(shù)梯度)哆料,如下:

def test(model,dataloader):
    model.eval()
    with torch.no_grad(): ###插在此處
        for batch in tqdm(dataloader):
            ……

法四(使用的別人的代碼時):

如果怎么修改,都會出現(xiàn)題中bug,甚至跑了幾輪之后突然出現(xiàn) cuda out of
memory材部,查看代碼中是否存在一下代碼(通常出現(xiàn)在main.py 或者數(shù)據(jù)加載的py文件中:

kwargs = {'num_workers': 6, 'pin_memory': True} if torch.cuda.is_available() else {}

將"pin_memory": True改為False毫缆,具體原因原博

pin_memory就是鎖頁內(nèi)存,創(chuàng)建DataLoader時乐导,設(shè)置pin_memory=True苦丁,則意味著生成的Tensor數(shù)據(jù)最開始是屬于內(nèi)存中的鎖頁內(nèi)存,這樣將內(nèi)存的Tensor轉(zhuǎn)義到GPU的顯存就會更快一些物臂。
主機中的內(nèi)存旺拉,有兩種存在方式,一是鎖頁棵磷,二是不鎖頁蛾狗,鎖頁內(nèi)存存放的內(nèi)容在任何情況下都不會與主機的虛擬內(nèi)存進行交換(注:虛擬內(nèi)存就是硬盤),而不鎖頁內(nèi)存在主機內(nèi)存不足時仪媒,數(shù)據(jù)會存放在虛擬內(nèi)存中沉桌。顯卡中的顯存全部是鎖頁內(nèi)存,當(dāng)計算機的內(nèi)存充足的時候,可以設(shè)置pin_memory=True算吩。當(dāng)系統(tǒng)卡住蒲牧,或者交換內(nèi)存使用過多的時候,設(shè)置pin_memory=False赌莺。因為pin_memory與電腦硬件性能有關(guān)冰抢,pytorch開發(fā)者不能確保每一個煉丹玩家都有高端設(shè)備,因此pin_memory默認(rèn)為False艘狭。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末挎扰,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子巢音,更是在濱河造成了極大的恐慌遵倦,老刑警劉巖,帶你破解...
    沈念sama閱讀 223,126評論 6 520
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件官撼,死亡現(xiàn)場離奇詭異梧躺,居然都是意外死亡,警方通過查閱死者的電腦和手機傲绣,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,421評論 3 400
  • 文/潘曉璐 我一進店門掠哥,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人秃诵,你說我怎么就攤上這事续搀。” “怎么了菠净?”我有些...
    開封第一講書人閱讀 169,941評論 0 366
  • 文/不壞的土叔 我叫張陵禁舷,是天一觀的道長彪杉。 經(jīng)常有香客問我,道長牵咙,這世上最難降的妖魔是什么派近? 我笑而不...
    開封第一講書人閱讀 60,294評論 1 300
  • 正文 為了忘掉前任,我火速辦了婚禮洁桌,結(jié)果婚禮上渴丸,老公的妹妹穿的比我還像新娘。我一直安慰自己战坤,他們只是感情好曙强,可當(dāng)我...
    茶點故事閱讀 69,295評論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著途茫,像睡著了一般碟嘴。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上囊卜,一...
    開封第一講書人閱讀 52,874評論 1 314
  • 那天娜扇,我揣著相機與錄音,去河邊找鬼栅组。 笑死雀瓢,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的玉掸。 我是一名探鬼主播刃麸,決...
    沈念sama閱讀 41,285評論 3 424
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼司浪!你這毒婦竟也來了泊业?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 40,249評論 0 277
  • 序言:老撾萬榮一對情侶失蹤啊易,失蹤者是張志新(化名)和其女友劉穎吁伺,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體租谈,經(jīng)...
    沈念sama閱讀 46,760評論 1 321
  • 正文 獨居荒郊野嶺守林人離奇死亡篮奄,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,840評論 3 343
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了割去。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片窟却。...
    茶點故事閱讀 40,973評論 1 354
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖劫拗,靈堂內(nèi)的尸體忽然破棺而出间校,到底是詐尸還是另有隱情,我是刑警寧澤页慷,帶...
    沈念sama閱讀 36,631評論 5 351
  • 正文 年R本政府宣布憔足,位于F島的核電站,受9級特大地震影響酒繁,放射性物質(zhì)發(fā)生泄漏滓彰。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 42,315評論 3 336
  • 文/蒙蒙 一州袒、第九天 我趴在偏房一處隱蔽的房頂上張望揭绑。 院中可真熱鬧,春花似錦郎哭、人聲如沸他匪。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,797評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽邦蜜。三九已至,卻和暖如春亥至,著一層夾襖步出監(jiān)牢的瞬間悼沈,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,926評論 1 275
  • 我被黑心中介騙來泰國打工姐扮, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留絮供,地道東北人。 一個月前我還...
    沈念sama閱讀 49,431評論 3 379
  • 正文 我出身青樓茶敏,卻偏偏與公主長得像壤靶,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子惊搏,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,982評論 2 361

推薦閱讀更多精彩內(nèi)容