介紹
現(xiàn)在開(kāi)始入門(mén)學(xué)習(xí)機(jī)器學(xué)習(xí),實(shí)驗(yàn)室有一臺(tái)兩路泰坦的深度學(xué)習(xí)機(jī),要把它用起來(lái),所以開(kāi)始折騰各種配置。
Conda是一個(gè)開(kāi)源包管理系統(tǒng)和環(huán)境管理系統(tǒng),用于安裝多個(gè)版本的軟件包及其依賴關(guān)系,并在它們之間輕松切換。 它適用于Linux,OS X和Windows,是為Python程序創(chuàng)建的,但可以打包和分發(fā)任何軟件。
需求場(chǎng)景
實(shí)驗(yàn)室是一個(gè)多人環(huán)境,需要做好權(quán)限管理不然很容易搞亂,所以擬定用Anaconda來(lái)進(jìn)行python的運(yùn)行環(huán)境管理
根據(jù)實(shí)際需求自定義安裝Anaconda,在root下創(chuàng)建的conda python環(huán)境為所有用戶都能使用的環(huán)境,python環(huán)境目錄在/usr/share/anaconda3/envs/下面。
用戶自己創(chuàng)建的環(huán)境會(huì)在各自的home目錄下,不會(huì)影響到別人的。
環(huán)境設(shè)置
實(shí)際中遇到的情況是在模型比較簡(jiǎn)單的情況下,用GPU加速的TensorFlow會(huì)跑的比CPU還慢
并且各種可執(zhí)行的算法代碼有時(shí)候是python2的,有時(shí)候是python3的,所以最終擬定創(chuàng)建4個(gè)python source執(zhí)行環(huán)境
最終擬定創(chuàng)建的4個(gè)conda環(huán)境命名如下
| 硬件 | python2.7 | python3.5 |
|---|---|---|
| gpu | py2-tf-gpu | py3-tf-gpu |
| cpu | py2-tf-cpu | py3-tf-cpu |
安裝流程
- 安裝顯卡驅(qū)動(dòng)
- (可選)安裝 cuda 和 cudnn
- 安裝Anconda
- 創(chuàng)建conda python環(huán)境
安裝顯卡驅(qū)動(dòng)
參考
https://blog.csdn.net/jhszh418762259/article/details/52957166
https://blog.csdn.net/u012581999/article/details/52433609
(可選)卸載可能存在的舊版本 nvidia 驅(qū)動(dòng)
(對(duì)沒(méi)有安裝過(guò) nvidia 驅(qū)動(dòng)的主機(jī),這步可以省略,但推薦執(zhí)行,無(wú)害)
$sudo apt-get remove --purge nvidia*
禁用自帶的 nouveau nvidia驅(qū)動(dòng)
創(chuàng)建一個(gè)文件通過(guò)命令
sudo vim /etc/modprobe.d/blacklist-nouveau.conf
并添加如下內(nèi)容:
blacklist nouveau
options nouveau modeset=0
再更新一下
sudo update-initramfs -u
修改后需要重啟系統(tǒng)。確認(rèn)下Nouveau是已經(jīng)被你干掉,使用命令:
lsmod | grep nouveau
3重啟系統(tǒng)至init 3(文本模式),也可先進(jìn)入圖形桌面再運(yùn)行init 3進(jìn)入文本模式,再安裝下載的驅(qū)動(dòng)就無(wú)問(wèn)題,
首先我們需要結(jié)束x-window的服務(wù),否則驅(qū)動(dòng)將無(wú)法正常安裝
Driver測(cè)試:
nvidia-smi #若列出GPU的信息列表,表示驅(qū)動(dòng)安裝成功
安裝驅(qū)動(dòng)
去官網(wǎng)下載對(duì)于版本的安裝包,并執(zhí)行
sudo ./NVIDIA.run
開(kāi)始安裝,安裝過(guò)程比較快,根據(jù)提示選擇即可
用 nvdia-prime 切換顯卡
如果CPU帶有集成顯卡
使用 nvdia-prime 切換到獨(dú)立顯卡上
(可選)手動(dòng)安裝cuda + CUDNN
這里有兩種解決方案,一種是根據(jù)官方文檔自行安裝,另一種是在conda創(chuàng)建環(huán)境的時(shí)候,由conda包管理工具自動(dòng)安裝
cuda 和 cudnn 以及TensorFlow對(duì)這兩者之間的版本支持情況可能有坑,只是想快速上手少折騰的話強(qiáng)烈推薦直接用conda來(lái)安裝
cuda安裝官方文檔
http://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html
cudnn安裝官方文檔
http://docs.nvidia.com/deeplearning/sdk/cudnn-install/index.html
anaconda 安裝
參考 http://www.itdecent.cn/p/17288627b994
直接采用sh安裝包默認(rèn)安裝的anaconda會(huì)多用戶無(wú)法共享,這里的自定義安裝可以所有用戶可以共用conda,用戶自己創(chuàng)建的環(huán)境會(huì)在各自的home目錄下,不會(huì)影響到別人的。由root創(chuàng)建的python環(huán)境是大家可以共用的。
安裝流程
- 在 https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/ 下載安裝包
- 在root下運(yùn)行指令安裝 sh Anaconda3-X.X.X-Linux-x86_64.sh
- 選擇安裝目錄的時(shí)候填 /usr/share/anaconda3
- 用vim編輯 /etc/bash.bashrc,添加 export PATH="/usr/share/anaconda3/bin:$PATH" 到文件中
- 重啟終端即可使用conda命令
conda使用方法
安裝成功驗(yàn)證
在終端窗口中,輸入以下內(nèi)容:
conda --version
創(chuàng)建環(huán)境
conda create --name py2-tf-cpu python=2.7 tensorflow
這將創(chuàng)建一個(gè)名為/envs/py2-tf-cpu,該環(huán)境指定python版本為2.7,該環(huán)境會(huì)自動(dòng)安裝tensorflow及其所需要的依賴項(xiàng)目。
提示:兩個(gè)破折號(hào)(--)后面的許多常用選項(xiàng)可以縮寫(xiě)為短劃線和第一個(gè)字母。所以--name和-n選項(xiàng)是一樣的,--envs和-e是一樣的。見(jiàn)conda --help或conda -h查看縮寫(xiě)列表。
查看環(huán)境列表
現(xiàn)在讓我們檢查到目前為止已經(jīng)安裝了哪些環(huán)境。使用conda environment info命令找出:
conda info -e
# 或者 conda info --envs
使用某個(gè)環(huán)境
更改為其他環(huán)境,輸入以下命令
source activate py2-tf-cpu
取消當(dāng)前環(huán)境,回到默認(rèn)的環(huán)境
source deactivate
為當(dāng)前環(huán)境安裝某個(gè)包
用pip或者conda直接安裝均可,對(duì)于tensorflow-gpu版本,非常推薦使用conda來(lái)安裝,它會(huì)自動(dòng)幫忙安裝cuda和cudnn,很省心,只需要提前裝好顯卡驅(qū)動(dòng)就行了
conda install tensorflow-gpu
# pip install tensorflow-gpu
查看在環(huán)境中安裝的軟件包和版本的列表
使用此選項(xiàng)可查看環(huán)境中安裝的是哪個(gè)版本的Python或其他程序,或者確認(rèn)已添加或刪除了包。在您的終端窗口中,只需鍵入:
conda list