天天看點

新伺服器CPU/GPU python開發環境裝機記錄原因清華中科大的源阿裡雲的源指令法建立檔案永久法1.下載下傳對應的軟體包并安裝按需求下載下傳cuda的安裝檔案 cuda安裝包:https://developer.nvidia.com/cuda-toolkit-archive 2.設定環境變量1.下載下傳對應的軟體包壓縮包按需求下載下傳載cudnn的安裝檔案:https://developer.nvidia.com/rdp/cudnn-archive 2.解壓并安裝3.檢視版本

原因

新申請了幾台伺服器,有GPU機器以及CPU機器,需要給配置下運作環境。對于GPU與CPU而言,大緻流程差不多,隻是GPU會麻煩一些,需要安裝NVIDIA相關的驅動及加速包等。不過有了docker後,可以将能運作好的項目用docker打包後,直接在新機器上部署就能跑動了,但這比較适用于服務端部署時候使用,如果是個人開發,還是建議單獨配置下環境較好。

配置設定到伺服器後,大緻需要安裝及配置以下幾項内容:

  • 聯系運維開通個人賬戶,及機器通路外網權限及端口權限;
  • rz/sz: SecureCRT上傳與儲存檔案指令;
  • Anaconda:便捷擷取包且對包能夠進行管理,同時對環境可以統一管理的發行版本;
  • git: 版本控制;
  • docker: 開源的應用容器引擎;
  • CUDA: NVIDIA推出的運算平台;
  • CUDNN: 用于深度神經網絡的GPU加速庫;
  1. 申請權限

    對于有的公司而言,可能個人對機器擁有所有的權限,這一步就無需進行了。但有的公司對于權限管理比較嚴格,幹啥都需要發郵件申請權限,需要向運維組或者平台組申請相應的權限,主要有:

  • sudo權限;
  • 外網通路權限、端口權限;
  • 公司git項目通路權限;

    … …

  1. 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
  1. 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 =

  1. 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

  1. 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到底是什麼

  1. CUDA安裝

    CUDA英文全稱是Compute Unified Device Architecture,是一個并行計算平台和程式設計模型,能夠使得使用GPU進行通用計算變得簡單和優雅。

安裝需要查好GPU版本對應的cuda版本,查詢位址:

https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html

img

安裝比較簡單

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
  1. 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