一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Python - 解決Pytorch內存溢出,Ubuntu進程killed的問題

解決Pytorch內存溢出,Ubuntu進程killed的問題

2021-11-16 11:00Coding呆呆 Python

這篇文章主要介紹了解決Pytorch內存溢出,Ubuntu進程killed的問題,具有很好的參考價值,希望對大家有所幫助。

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

?
1
2
3
4
optimizer.zero_grad()
loss.backward()
optimizer.step()
train_loss += loss

參考了別人的代碼發現那句loss一般是這樣寫

?
1
loss_sum += loss.data[0]

這是因為輸出的loss的數據類型是Variable。而PyTorch的動態圖機制就是通過Variable來構建圖。主要是使用Variable計算的時候,會記錄下新產生的Variable的運算符號,在反向傳播求導的時候進行使用。如果這里直接將loss加起來,系統會認為這里也是計算圖的一部分,也就是說網絡會一直延伸變大那么消耗的顯存也就越來越大。

用Tensor計算要寫成:

?
1
2
3
4
train_loss += loss.item()
 
correct_total += torch.eq(predict, label_batch).sum().item()
train_loss += loss.item()

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

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

這是由pytorch對于內存不足的反應,確切說,是Linux內核對pytorch程序占用太多內存的反應。Linux內核一旦因為內存資源不足而生氣的時候,會使用OOM killer將占用內存最多的進程殺掉。

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

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

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

第一個是加大內存,將我的x99平臺的內存從16GB增加到64GB;這個方案先放棄了,因為內存條漲價太猛,我買不起了;

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

1、先禁止掉swap功能

?
1
sudo swapoff /swapfile

這個命令執行之后,如果你用free命令查看的話會發現swap分區的大小變為了0。

2、增加 /swapfile的大小

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

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

3、設置這個文件為swap分區的掛載點:

?
1
sudo mkswap /swapfile

4、再次啟用swap

?
1
sudo swapon /swapfile

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

原文鏈接:https://blog.csdn.net/qq_35899290/article/details/103549280

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国自产在线精品免费 | 亚洲欧美激情日韩在线 | 久久这里只有精品无码3D | 亚洲 欧美 另类 中文 在线 | 色噜噜 男人的天堂在线观看 | 精品国产乱码久久久久久免费 | 久久这里只有精品视频9 | 国产乱妇无码大片在线观看 | 希望影院高清免费观看视频 | poren18美女| 国产青草亚洲香蕉精品久久 | 女教师巨大乳孔中文字幕免费 | 日韩日韩日韩手机看片自拍 | 国产精品夜色视频一级区 | 激情五色月 | 国产高清视频网站 | 亚洲精品福利你懂 | 亚洲人成网站在线观看青青 | 青青久久精品国产免费看 | 日本视频免费在线观看 | 免费大片a一级一级 | 金莲一级淫片aaaaaa | 4hu影院在线观看 | 国产xx肥老妇视频奂费 | 亚洲福利电影一区二区? | 欧美vpswindows | 国产成人精品午夜在线播放 | 毛片免费网站 | 久草大| 日本小视频免费 | 9999视频| 国产精品久久亚洲一区二区 | 欧美伊香蕉久久综合类网站 | 俄罗斯一级成人毛片 | 无限好资源第一片免费韩国 | 青青草国产精品久久久久 | 国产激情一区二区三区成人91 | 国产精品久久久久久久免费大片 | 四虎影视网址 | 国产精品久久毛片完整版 | 韩国三级做爰 |