原因
新申請了幾台伺服器,有GPU機器以及CPU機器,需要給配置下運作環境。對于GPU與CPU而言,大緻流程差不多,隻是GPU會麻煩一些,需要安裝NVIDIA相關的驅動及加速包等。不過有了docker後,可以将能運作好的項目用docker打包後,直接在新機器上部署就能跑動了,但這比較适用于服務端部署時候使用,如果是個人開發,還是建議單獨配置下環境較好。
配置設定到伺服器後,大緻需要安裝及配置以下幾項内容:
- 聯系運維開通個人賬戶,及機器通路外網權限及端口權限;
- rz/sz: SecureCRT上傳與儲存檔案指令;
- Anaconda:便捷擷取包且對包能夠進行管理,同時對環境可以統一管理的發行版本;
- git: 版本控制;
- docker: 開源的應用容器引擎;
- CUDA: NVIDIA推出的運算平台;
- CUDNN: 用于深度神經網絡的GPU加速庫;
-
申請權限
對于有的公司而言,可能個人對機器擁有所有的權限,這一步就無需進行了。但有的公司對于權限管理比較嚴格,幹啥都需要發郵件申請權限,需要向運維組或者平台組申請相應的權限,主要有:
- sudo權限;
- 外網通路權限、端口權限;
-
公司git項目通路權限;
… …
-
sz/rz安裝
sz是利用ZModem協定來從Linux伺服器傳送檔案到本地,一次可以傳送一個或多個檔案;
rz是相對應的從本地上傳檔案到Linux伺服器;
安裝也比較簡單,終端輸入對應系統的指令即可,安裝lrzsz
apt-get install lrzsz
yum install lrzsz
使用方法
rz filename # 上傳檔案
sz filename # 下載下傳檔案
注意: rz上傳檔案時,當有相同名的檔案存在時候,無法覆寫,操作被忽略;
相關的指令操作可以參考:
https://blog.csdn.net/linjpg/article/details/7833170-
Anaconda 安裝
Anaconda是一個便捷擷取包且對包能夠進行管理,同時對環境可以統一管理的發行版本的管理器,官網介紹:
https://www.anaconda.com/products/individual ,這個軟體對于需要多種環境及多人共用同一台機器時候非常友善。能夠建立多個虛拟環境以滿足不同的項目環境需求,避免不同項目所需依賴包的版本不同而導緻沖突。
其安裝也非常的簡單,下載下傳好對應的安裝檔案後
bash ./Anaconda3-5.2.0-Linux-x86_64.sh
相應的安裝步驟網上已經有很多的介紹,這裡可以參考以下兩個安裝教程
https://zhuanlan.zhihu.com/p/32925500 https://blog.csdn.net/ITLearnHall/article/details/81708148注意的地方:
更換conda鏡像源:
原始的conda源在conda install軟體時候比較慢,可以更換為國内的鏡像源來實作加速。常用的鏡像源有阿裡、中科大、清華等
清華
conda config --add channels
https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/中科大的源
conda config –-add channels
https://mirrors.ustc.edu.cn/anaconda/pkgs/free/阿裡雲的源
http://mirrors.aliyun.com/pypi/simple/更換pip鏡像源:
原始的pip源在pip install軟體時候比較慢,可以更換為國内的鏡像源來實作加速。常用的鏡像源有阿裡、中科大、豆瓣等
指令法
pip install numpy -i
https://pypi.douban.com/simple/建立檔案永久法
修改
~/.pip/pip.conf
并設定内容如下
[global]
index-url =
-
Git安裝
git是一個開源的分布式版本控制系統,用于靈活高效地處理任何或小或大的項目。這個工具在自己開發項目中,或者是寫作開發項目時非常有用,控制版本疊代,而不會因為覆寫讓代碼丢失。
安裝非常簡單
apt-get install libcurl4-gnutls-dev libexpat1-dev gettext libz-dev libssl-dev
apt-get install git
yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel
yum -y install git-core
這裡不做過多的操作介紹,具體可以參考下面的連結
https://www.runoob.com/git/ https://www.liaoxuefeng.com/wiki/896043488029600配置個人的使用者名稱和電子郵件位址,這樣在使用的時候不用頻繁需要輸入賬戶和密碼
git config --global user.name "xxxx"
git config --global user.email xxx@xxxx
配置别名, 以節省每次送出時輸入的字元
git config --global alias.st status
git config --global alias.co checkout
git config --global alias.ci commit
git config --global alias.br branch
-
Docker安裝
Docker 是一個開源的應用容器引擎, 它可以讓開發者打包他們的應用以及依賴包到一個輕量級、可移植的容器中,然後釋出到任何流行的 Linux 機器上,也可以實作虛拟化。
安裝非常簡單:
curl -fsSL
https://get.docker.com| bash -s docker --mirror Aliyun
詳細資料請參考
https://www.runoob.com/docker以上是CPU/GPU機器都需要安裝的相關軟體,如果伺服器具有GPU,還需要安裝GPU相關的配套軟體
這篇文章介紹的比較詳細
顯示卡,顯示卡驅動,nvcc, cuda driver,cudatoolkit,cudnn到底是什麼
-
CUDA安裝
CUDA英文全稱是Compute Unified Device Architecture,是一個并行計算平台和程式設計模型,能夠使得使用GPU進行通用計算變得簡單和優雅。
安裝需要查好GPU版本對應的cuda版本,查詢位址:
https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.htmlimg
安裝比較簡單
1.下載下傳對應的軟體包并安裝
按需求下載下傳cuda的安裝檔案 cuda安裝包: https://developer.nvidia.com/cuda-toolkit-archive
sudo sh cuda_9.0.176_384.81_linux.run
2.設定環境變量
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-9.0/lib64
export PATH=$PATH:/usr/local/cuda-9.0/bin
export CUDA_HOME=$CUDA_HOME:/usr/local/cuda-9.0
一台伺服器可以有多版本的cuda,這是由于不同的深度學習工具包所最終依賴的cuda版本不一樣,而多位開發人員使用的深度學習工具不統一。
可以在同一台伺服器上安裝多個cuda版本,隻是最終在連結的時候需要修改一下
多版本CUDA切換:
https://blog.csdn.net/Maple2014/article/details/78574275-
CUDNN安裝
CUDNN是NVIDIA打造的針對深度神經網絡的加速庫,是一個用于深層神經網絡的GPU加速庫。
安裝比較簡單:
1.下載下傳對應的軟體包壓縮包
按需求下載下傳載cudnn的安裝檔案: https://developer.nvidia.com/rdp/cudnn-archive
2.解壓并安裝
sudo cp cuda/include/cudnn.h /usr/local/cuda/include/
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64/
sudo chmod a+r /usr/local/cuda/include/cudnn.h
sudo chmod a+r /usr/local/cuda/lib64/libcudnn*
3.檢視版本
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
總結: 網上的教程有很多,找到适合自己的最好,另外對指令慎重,有些指令也不一定對,反而對整體環境造成不可逆的更新等。盡量對每一行的指令做什麼操作有所了解。
參考
https://blog.csdn.net/lambert310/article/details/52412059 https://www.cnblogs.com/believepd/p/10499844.html https://www.cnblogs.com/leton/p/11674796.html https://blog.csdn.net/ZZXin_/article/details/87951381 https://blog.csdn.net/weixin_42279044/article/details/83181686 https://zhuanlan.zhihu.com/p/47330858 https://my.oschina.net/u/2306127/blog/1801491 https://segmentfault.com/a/1190000016634056 https://cloud.tencent.com/developer/article/1528323