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

解決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]

這是因為輸出的loss的數(shù)據(jù)類型是Variable。而PyTorch的動態(tài)圖機制就是通過Variable來構(gòu)建圖。主要是使用Variable計算的時候,會記錄下新產(chǎn)生的Variable的運算符號,在反向傳播求導(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()**

補充:linux下運行pytorch程序顯示“killed”或者“已殺死”

這是由pytorch對于內(nèi)存不足的反應(yīng),確切說,是Linux內(nèi)核對pytorch程序占用太多內(nèi)存的反應(yīng)。Linux內(nèi)核一旦因為內(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;這個方案先放棄了,因為內(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ū)的掛載點:

sudo mkswap /swapfile

4、再次啟用swap

sudo swapon /swapfile

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

相關(guān)文章

  • 淺談Python實現(xiàn)opencv之圖片色素的數(shù)值運算和邏輯運算

    淺談Python實現(xiàn)opencv之圖片色素的數(shù)值運算和邏輯運算

    今天帶大家來學(xué)習(xí)的是關(guān)于Python的相關(guān)知識,文章圍繞著圖片色素的數(shù)值運算和邏輯運算展開,文中有非常詳細(xì)的的介紹及代碼示例,需要的朋友可以參考下
    2021-06-06
  • python實現(xiàn)skywalking的trace模塊過濾和報警(實例代碼)

    python實現(xiàn)skywalking的trace模塊過濾和報警(實例代碼)

    Skywalking可以對鏈路追蹤到數(shù)據(jù)進(jìn)行告警規(guī)則配置,例如響應(yīng)時間、響應(yīng)百分比等。發(fā)送警告通過調(diào)用webhook接口完成。webhook接口用戶可以自定義。本文給大家介紹python實現(xiàn)skywalking的trace模塊過濾和報警,感興趣的朋友跟隨小編一起看看吧
    2021-12-12
  • 在jupyter notebook中使用pytorch的方法

    在jupyter notebook中使用pytorch的方法

    這篇文章主要介紹了在jupyter notebook中使用pytorch的方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-09-09
  • Python字符串處理的8招秘籍(小結(jié))

    Python字符串處理的8招秘籍(小結(jié))

    這篇文章主要介紹了Python字符串處理的8招秘籍,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • python線程、進(jìn)程和協(xié)程詳解

    python線程、進(jìn)程和協(xié)程詳解

    Python被人詬病最多的大概就是性能差,在這里講一下 Python 的多進(jìn)程,多線程與協(xié)程。首先聲明這不是教程,看完這篇文章,大概能夠?qū)?Python 的多進(jìn)程與多線程有一定的了解。
    2016-07-07
  • 更換Django默認(rèn)的模板引擎為jinja2的實現(xiàn)方法

    更換Django默認(rèn)的模板引擎為jinja2的實現(xiàn)方法

    今天小編就為大家分享一篇更換Django默認(rèn)的模板引擎為jinja2的實現(xiàn)方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-05-05
  • Python中字符串操作技巧

    Python中字符串操作技巧

    在編程中,字符串操作是一項基本技能,常見的操作包括大小寫轉(zhuǎn)換、字符串替換、倒序、統(tǒng)計、切片、切割、清理和對齊等,查找方法如find()、rfind()、index()和rindex()用于定位子串,字符串可以通過"+"號或join()方法拼接,去重技巧等,都是常見的字符串處理需求
    2024-10-10
  • 詳解使用python爬取抖音app視頻(appium可以操控手機)

    詳解使用python爬取抖音app視頻(appium可以操控手機)

    這篇文章主要介紹了詳解使用python爬取抖音app視頻(appium可以操控手機),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • Python+unittest+DDT實現(xiàn)數(shù)據(jù)驅(qū)動測試

    Python+unittest+DDT實現(xiàn)數(shù)據(jù)驅(qū)動測試

    這篇文章主要介紹了Python+unittest+DDT實現(xiàn)數(shù)據(jù)驅(qū)動測試,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-11-11
  • Python文本預(yù)處理學(xué)習(xí)指南

    Python文本預(yù)處理學(xué)習(xí)指南

    文本預(yù)處理是指在進(jìn)行自然語言處理(NLP)任務(wù)之前,對原始文本數(shù)據(jù)進(jìn)行清洗、轉(zhuǎn)換和標(biāo)準(zhǔn)化的過程,本文主要為大家介紹了文本預(yù)處理的使用,需要的可以參考下
    2023-07-07

最新評論

石泉县| 郸城县| 龙游县| 重庆市| 巴塘县| 荆门市| 大埔区| 黑龙江省| 军事| 金湖县| 惠来县| 容城县| 舒城县| 卢氏县| 凤冈县| 库尔勒市| 云和县| 肥乡县| 莫力| 天水市| 海兴县| 龙州县| 大石桥市| 惠水县| 邮箱| 霞浦县| 苗栗县| 施甸县| 洛阳市| 商南县| 溧水县| 宜都市| 乐昌市| 宿松县| 琼结县| 阜新市| 阿拉善左旗| 英德市| 广饶县| 惠安县| 闸北区|