欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

解決Pytorch內(nèi)存溢出,Ubuntu進(jìn)程killed的問題

 更新時間:2021年05月28日 10:45:54   作者:Coding呆呆  
這篇文章主要介紹了解決Pytorch內(nèi)存溢出,Ubuntu進(jìn)程killed的問題,具有很好的參考價值,希望對大家有所幫助。

pytorch顯存越來越多的一個原因

optimizer.zero_grad()
loss.backward()
optimizer.step()
train_loss += loss

參考了別人的代碼發(fā)現(xiàn)那句loss一般是這樣寫

loss_sum += loss.data[0]

這是因?yàn)檩敵龅膌oss的數(shù)據(jù)類型是Variable。而PyTorch的動態(tài)圖機(jī)制就是通過Variable來構(gòu)建圖。主要是使用Variable計算的時候,會記錄下新產(chǎn)生的Variable的運(yùn)算符號,在反向傳播求導(dǎo)的時候進(jìn)行使用。如果這里直接將loss加起來,系統(tǒng)會認(rèn)為這里也是計算圖的一部分,也就是說網(wǎng)絡(luò)會一直延伸變大那么消耗的顯存也就越來越大。

用Tensor計算要寫成:

train_loss += loss.item()

correct_total += torch.eq(predict, label_batch).sum().item()
train_loss += loss.item()

當(dāng)需要將模型中變量提取出來參與計算時,需要使用** .item()**

補(bǔ)充:linux下運(yùn)行pytorch程序顯示“killed”或者“已殺死”

這是由pytorch對于內(nèi)存不足的反應(yīng),確切說,是Linux內(nèi)核對pytorch程序占用太多內(nèi)存的反應(yīng)。Linux內(nèi)核一旦因?yàn)閮?nèi)存資源不足而生氣的時候,會使用OOM killer將占用內(nèi)存最多的進(jìn)程殺掉。

這種情況下,pytorch的python程序根本就來不及顯示相關(guān)的內(nèi)存日志,直接在呼喊出killed這一個簡短有力的詞語后,就game over了。如果不提前掌握這個背景的話,你可真是會手足無措啊。

既然我們確定了是內(nèi)存不足導(dǎo)致的問題(dmesg也能明確的顯示出kernel把占了近10個GB的python進(jìn)程給kill了),

那我們的解決方案就有2個:

第一個是加大內(nèi)存,將我的x99平臺的內(nèi)存從16GB增加到64GB;這個方案先放棄了,因?yàn)閮?nèi)存條漲價太猛,我買不起了;

第二個是增加swap分區(qū),當(dāng)然性能會降低,但不需要額外增加成本。所以Gemfield今天的選擇就是第二個方案。

1、先禁止掉swap功能

sudo swapoff /swapfile

這個命令執(zhí)行之后,如果你用free命令查看的話會發(fā)現(xiàn)swap分區(qū)的大小變?yōu)榱?。

2、增加 /swapfile的大小

sudo dd if=/dev/zero of=/swapfile bs=1M count=30720 oflag=append conv=notrunc

這個命令會在現(xiàn)有的/swapfile后面追加30GB,加上之前的2GB的swap分區(qū),現(xiàn)在共有32個GB的swap分區(qū)了。如果按照固態(tài)硬盤128GB有300多塊錢來算的話,這個命令花了七八十塊錢呢。

3、設(shè)置這個文件為swap分區(qū)的掛載點(diǎn):

sudo mkswap /swapfile

4、再次啟用swap

sudo swapon /swapfile

以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Django CBV與FBV原理及實(shí)例詳解

    Django CBV與FBV原理及實(shí)例詳解

    這篇文章主要介紹了Django CBV與FBV原理及實(shí)例詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-08-08
  • Python操作csv文件實(shí)例詳解

    Python操作csv文件實(shí)例詳解

    這篇文章主要為大家詳細(xì)介紹了Python操作csv文件的實(shí)例,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-07-07
  • Python+Requests+PyTest+Excel+Allure?接口自動化測試實(shí)戰(zhàn)

    Python+Requests+PyTest+Excel+Allure?接口自動化測試實(shí)戰(zhàn)

    本文主要介紹了Python+Requests+PyTest+Excel+Allure?接口自動化測試實(shí)戰(zhàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • python帶參數(shù)打包exe及調(diào)用方式

    python帶參數(shù)打包exe及調(diào)用方式

    今天小編就為大家分享一篇python帶參數(shù)打包exe及調(diào)用方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • pyQt4實(shí)現(xiàn)俄羅斯方塊游戲

    pyQt4實(shí)現(xiàn)俄羅斯方塊游戲

    這篇文章主要為大家詳細(xì)介紹了pyQt4實(shí)現(xiàn)俄羅斯方塊游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-06-06
  • 利用python程序生成word和PDF文檔的方法

    利用python程序生成word和PDF文檔的方法

    這篇文章主要給大家介紹了利用python程序生成word和PDF文檔的方法,文中給出了詳細(xì)的介紹和示例代碼,相信對大家具有一定的參考價值,有需要的朋友們下面來一起看看吧。
    2017-02-02
  • Django 2.0版本的新特性搶先看!

    Django 2.0版本的新特性搶先看!

    12 月 2 日,Python Web 開發(fā)框架 Django 官網(wǎng)發(fā)文宣布推送 Django 2.0 版。在 Django 2.0 的發(fā)布說明中,最大吸引注意的內(nèi)容就是兼容性。,下面這篇文章主要給大家介紹了關(guān)于Django 2.0版本的新特性的相關(guān)資料,需要的朋友可以參考下。
    2018-01-01
  • python集成開發(fā)環(huán)境配置(pycharm)

    python集成開發(fā)環(huán)境配置(pycharm)

    本文是python快速進(jìn)階系列文章的第一篇,給大家介紹的是python集成開發(fā)環(huán)境pycharm的配置,有需要的小伙伴可以參考下
    2020-02-02
  • python set集合使用方法解析

    python set集合使用方法解析

    這篇文章主要介紹了python set集合使用方法解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-11-11
  • matlab繪制局部放大圖圖文教程

    matlab繪制局部放大圖圖文教程

    這篇文章主要給大家介紹了關(guān)于matlab繪制局部放大圖的相關(guān)資料,所謂局部放大即呈現(xiàn)子圖,以顯示局部細(xì)節(jié),需要的朋友可以參考下
    2023-07-07

最新評論