【小技巧】深度学习中的那些效率提升利器(附资源)
本文建議閱讀時間 12 min
深度學習煉丹,當然少不了 GPU 和 Linux 系統了,部分朋友沒有 GPU 的話只能租用遠程服務器來訓練,這樣就少不了 Xshell 這樣一款利器了,以下,我們就來介紹 Xshell 這款工具在深度學習的時候一些常用的功能和 Linux 命令。
Xshell 工具后臺回復 Xshell 可以獲取 Xshell 家庭版 / 校園版 以及 FTP 傳輸工具
工具
Xshell 使用
打開 Xshell 工具,點擊左上角新建會話,在連接處輸入遠程服務器的 IP 和 端口號,然后點擊用戶身份驗證,輸入賬號(一般賬戶名是 root)密碼點擊連接即可連接至遠程服務器。
終端復用器?Tmux
遠程進行深度學習的時候,為了確保本地的網絡不會終止現有的訓練,我們需要在服務器的創(chuàng)建一個會話,就是 XShell 軟件關閉的時候,也能確保訓練正常進行。
# Ubuntu 或 Debian 安裝 sudo apt-get install tmuxtmux new -s <session-name> # 新建會話 <session-name> 是會話名 # Ctrl+D 可以退出會話,但是不會關閉會話,就是程序會在后臺一直運行 tmux ls # 查看當前所有會話tmux attach -t <session-name> # 接入會話 <session-name> 是會話名傳輸工具
如果你有兩臺服務器,可能需要傳輸數據或者模型的話,可以使用 Linux 是傳輸功能,相關的命令如下:
apt install ssh # 安裝必要包# 本地傳輸文件到遠程服務器 scp -P [remote-port] filename root@ip:/dir/ # 傳輸 filename 文件到遠程服務器的 dir 文件夾下scp -P [remote-port] -r [文件夾] root@ip:/root/code # 傳輸 文件夾到遠程服務器的 /root/code/ 文件夾下遠程訪問 tensorboard
對于深度學習煉丹師來說,可視化的使用是必不可少的,那么如何將遠程服務器可視化到本地,請看以下操作的截圖
需要確保 tensorflow、tensorboard、tensorboardX 的版本一致,然后在 xshell 中進行設置,設置完成以后,運行 tensorboard --logdir='logs' --port=6006? 其中 logs/ 是運行日志的文件夾,并指定端口,然后在本地瀏覽器打開 http://localhost:6006/ 即可
命令
GPU 使用情況
一些場景下,可能需要查看 GPU 的運行狀況,來調節(jié) batchsize 大小,可以使用以下命令進行查看
watch -n 10 nvidia-smi # 查看 GPU 使用情況,每 10s 刷新一次,可以設置小一點,如 0.1 可以實時刷新以下是對上圖參數的說明:
Fan:顯示風扇轉速,數值在 0 到 100% 之間,是計算機的期望轉速,如果計算機不是通過風扇冷卻或者風扇壞了,顯示出來就是 N/A;
Temp:顯卡內部的溫度,單位是攝氏度;
Perf:表征性能狀態(tài),從 P0 到 P12,P0 表示最大性能,P12 表示狀態(tài)最小性能;
Pwr:能耗表示;
Bus-Id:涉及 GPU 總線的相關信息;
Disp.A:是 Display Active 的意思,表示 GPU 的顯示是否初始化;
Memory Usage:顯存的使用率;
Volatile GPU-Util:浮動的 GPU 利用率;
Compute M:計算模式;
查看文件數目
深度學習當然少不了數據,那么有時需要對數據的情況進行簡單的計數,可以使用一下命令
ls 、grep 、wc 三者的組合可以實現多種文件數目的查看
ls -l | grep "^-" | wc -l # 統計當前目錄下文件的個數(不包括目錄(即統計有后綴名的文件數量))ls -lR| grep "^-" | wc -l # 統計當前目錄下文件的個數(包括子目錄)ls -lR | grep "^d" | wc -l # 查看某目錄下文件夾 (目錄) 的個數(包括子目錄)下面是?ls 、grep 、wc?參數的具體說明
ls
grep:用于查找文件里符合條件的字符串。
wc
查看文件大小(bit、GB 等)
du -b [filename or path] # 計算文件夾或者文件的字節(jié)數du -h [filename or path] # 計算文件夾或者文件的大小(以MB、GB 形式展示、符合人的直覺)
如果有需要對不同單位的數據進行轉換的話,可以使用:字節(jié)、GB 轉換計算器,看文后參考鏈接
解壓縮
一般上傳數據是使用壓縮包的方式,那么到遠程服務器就無法使用可視化操作進行,這時候需要使用命令對壓縮包進行解壓了,針對不同壓縮的格式,下面給出解壓縮的命令:
.zip 文件
tar.gz 格式
.7z 文件
測試網速
杠杠的網絡不管對數據的傳輸,還是從互聯網上下載模型,都是很關鍵的,所以有必要對遠程服務器的網速進行測試一番。
curl -s https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py | python 網速測試ping
有時候模型無法下載?數據下載太慢?可能不是你的問題,而是墻的問題,這時候,你就需要對網絡 ping 一下
apt install ping # 安裝包,會出現以下信息""" Package ping is a virtual package provided by:iputils-ping 3:20161105-1 # 僅在 Linux 系統上使用inetutils-ping 2:1.9.4-2+b1 # 有更多的功能,可以在非 Linux 系統上使用 You should explicitly select one to install. """ping bing.comping google.com?
ping bing.com
參考:
菜鳥教程:https://www.runoob.com/linux/linux-command-manual.html
https://www.ruanyifeng.com/blog/2019/10/tmux.html
https://unix.stackovernet.com/cn/q/107009
https://github.com/sivel/speedtest-cli
字節(jié)計算器:https://cn.calcuworld.com/% E5% AD%97% E8%8A%82% E8% AE% A1% E7% AE%97% E5%99% A8
未完待續(xù)?
往期精彩回顧適合初學者入門人工智能的路線及資料下載機器學習在線手冊深度學習在線手冊AI基礎下載(pdf更新到25集)本站qq群1003271085,加入本站微信群請回復“加群”獲取一折本站知識星球優(yōu)惠券,請回復“知識星球”喜歡文章,點個在看
總結
以上是生活随笔為你收集整理的【小技巧】深度学习中的那些效率提升利器(附资源)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python地信专题 | 基于geopa
- 下一篇: 梳理百年深度学习发展史-七月在线机器学习