日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人工智能 > pytorch >内容正文

pytorch

【小技巧】深度学习中的那些效率提升利器(附资源)

發(fā)布時間:2025/3/8 pytorch 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【小技巧】深度学习中的那些效率提升利器(附资源) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文建議閱讀時間 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

-a 顯示所有文件及目錄 (ls 內定將文件名或目錄名稱開頭為 "." 的視為隱藏檔,不會列出) -l 除文件名稱外,亦將文件型態(tài)、權限、擁有者、文件大小等資訊詳細列出 -r 將文件以相反次序顯示 (原定依英文字母次序) -t 將文件依建立時間之先后次序列出 -A 同 -a ,但不列出 "." (目前目錄) 及 ".." (父目錄) -F 在列出的文件名稱后加一符號;例如可執(zhí)行檔則加 "*", 目錄則加 "/" -R 若目錄下有文件,則以下之文件亦皆依序列出
  • grep:用于查找文件里符合條件的字符串。

-a 或 --text : 不要忽略二進制的數據。 -A <顯示行數> 或 --after-context=< 顯示行數 > : 除了顯示符合范本樣式的那一列之外,并顯示該行之后的內容。 -b 或 --byte-offset : 在顯示符合樣式的那一行之前,標示出該行第一個字符的編號。 -B <顯示行數> 或 --before-context=< 顯示行數 > : 除了顯示符合樣式的那一行之外,并顯示該行之前的內容。 -c 或 --count : 計算符合樣式的列數。 -C <顯示行數> 或 --context=< 顯示行數 > 或 -< 顯示行數 > : 除了顯示符合樣式的那一行之外,并顯示該行之前后的內容。 -d <動作> 或 --directories=< 動作 > : 當指定要查找的是目錄而非文件時,必須使用這項參數,否則 grep 指令將回報信息并停止動作。 -e <范本樣式> 或 --regexp=< 范本樣式 > : 指定字符串做為查找文件內容的樣式。 -E 或 --extended-regexp : 將樣式為延伸的正則表達式來使用。 -f <規(guī)則文件> 或 --file=< 規(guī)則文件 > : 指定規(guī)則文件,其內容含有一個或多個規(guī)則樣式,讓 grep 查找符合規(guī)則條件的文件內容,格式為每行一個規(guī)則樣式。 -F 或 --fixed-regexp : 將樣式視為固定字符串的列表。 -G 或 --basic-regexp : 將樣式視為普通的表示法來使用。 -h 或 --no-filename : 在顯示符合樣式的那一行之前,不標示該行所屬的文件名稱。 -H 或 --with-filename : 在顯示符合樣式的那一行之前,表示該行所屬的文件名稱。 -i 或 --ignore-case : 忽略字符大小寫的差別。 -l 或 --file-with-matches : 列出文件內容符合指定的樣式的文件名稱。 -L 或 --files-without-match : 列出文件內容不符合指定的樣式的文件名稱。 -n 或 --line-number : 在顯示符合樣式的那一行之前,標示出該行的列數編號。 -o 或 --only-matching : 只顯示匹配 PATTERN 部分。 -q 或 --quiet 或 --silent : 不顯示任何信息。 -r 或 --recursive : 此參數的效果和指定 "-d recurse" 參數相同。 -s 或 --no-messages : 不顯示錯誤信息。 -v 或 --revert-match : 顯示不包含匹配文本的所有行。 -V 或 --version : 顯示版本信息。 -w 或 --word-regexp : 只顯示全字符合的列。 -x --line-regexp : 只顯示全列符合的列。 -y : 此參數的效果和指定 "-i" 參數相同。
  • wc

-c 或 --bytes 或 --chars 只顯示 Bytes 數。 -l 或 --lines 只顯示行數。 -w 或 --words 只顯示字數。 --help 在線幫助。 --version 顯示版本信息。

查看文件大小(bit、GB 等)

du -b [filename or path] # 計算文件夾或者文件的字節(jié)數du -h [filename or path] # 計算文件夾或者文件的大小(以MB、GB 形式展示、符合人的直覺)


如果有需要對不同單位的數據進行轉換的話,可以使用:字節(jié)、GB 轉換計算器,看文后參考鏈接

解壓縮

一般上傳數據是使用壓縮包的方式,那么到遠程服務器就無法使用可視化操作進行,這時候需要使用命令對壓縮包進行解壓了,針對不同壓縮的格式,下面給出解壓縮的命令:

  • .zip 文件

apt install zip# 解壓 unzip -o test.zip -d tmp/ # 解壓 test.zip 文件到 tmp/ 下# 壓縮將 /home/html/ 這個目錄下所有文件和文件夾打包為當前目錄下的 html.zip: zip -q -r html.zip /home/html
  • tar.gz 格式

tar -zxvf ×××.tar.gz
  • .7z 文件

sudo apt-get install p7zip-full# 壓縮 7za a 壓縮包.7z 被壓縮文件或目錄# 解壓#將壓縮包解壓到指定目錄,注意:指定目錄參數-o后面不要有空格 7za x 壓縮包.7z -o解壓目錄 #將壓縮包解壓到當前目錄 7za x 壓縮包.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.com

ping 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)惠券,請回復“知識星球”喜歡文章,點個在看

總結

以上是生活随笔為你收集整理的【小技巧】深度学习中的那些效率提升利器(附资源)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。