終於完成了GPU的TensorFlow環境搭建,記錄下來給大家作為參考。
感謝大佬的博文讓我完成了大部分工作:
http://blog.csdn.net/leijiezhang/article/details/53688157
[一]硬件以及安裝先后順序介紹:
1.1.顯卡(getforce 10 系列--GTX10xx,如GTX1060)
環境搭建基於的顯卡類型為NVIDIA GTX1060,當然所有的getforce 10 系列---GTX10xx都可以。cuda7.5不支持getforce 10 系列以上的顯卡,所以,那些getforce 10 系列必須安裝Cuda8.0。至於Cuda9.0的支持情況不得而知,但是后續的安裝發現TensorFlow對於Cuda的版本是有要求的,目前最新的TensorFlow版本需要Cuda9.0的支持。
1.2.安裝順序
樓主按照Ubuntu16.04系統、Cuda8.0及cuDNN5.1、anaconda3、TensorFlow和OpenCV3.4.0的順序完成安裝,以下分別介紹。
[二]Ubuntu16.04系統安裝:
Ubuntu系統安裝的教程網上有很多,這里不贅述的,只附上樓主安裝的版本及官網下載地址:Ubuntu 16.04.4 Desktop (64-bit)
這里要選擇桌面版是因為桌面版集成了python3.5及python2.7,省去自己安裝的時間。
[三]NVIDIA顯卡驅動安裝:
在搜索欄搜索關鍵字:
選擇附加驅動,點擊后會有如下窗口彈出:
上面一項選擇使用英偉達驅動,下面一項未知驅動為cpu帶的集成顯卡選擇下面的選項:不用這個設備,選完以后一定要點擊"Apply Changes"也就是“應用改變”的按鈕(右邊的按鈕)。
安裝完成以后要重啟一下系統,在搜索框查找NVIDIA X Server Settings,打開。
如果能正常打開表示安裝成功,你可以在下面查看你的驅動版本。
[四]系統軟件源設置並安裝依賴包
這部分完全按照大佬leijieZhang的步驟,再次感謝,個人感覺改變系統軟件源十分重要,因為之前沒有改變源時也曾裝過一些軟件,網速實在太慢。這里直接搬運過來了。
流程,分別操作:系統設置(system settings)---->軟件與更新(software & update)----->選擇Ubuntu軟件(Ubuntu software)選項卡。來改變系統軟件源為阿里的源。
更新列表,打開終端輸入如下命令
sudo apt-get update
軟件源更新完畢后,安裝一些必要的依賴包,命令如下
sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-de
v protobuf-compiler libboost-all-dev libopenblas-dev liblapack-dev libatlas-base-dev libgflags-de
v libgoogle-glog-dev liblmdb-dev
這一步就做完了。
[五]cuda安裝
樓主所用顯卡支持的cuda版本為8.0,這個一定要查清楚再安裝。
5.1.下載
官網最新的版本已經是9了,這里附上cuda8.0的官網下載地址:CUDA Toolkit 8.0 GA1 Download
5.2.GCC降級
cuda8.0目前僅支持gcc5.3,而ubuntu16.04自帶的gcc版本為gcc5.4,所以要降級。
先查看你是否需要降級GCC
gcc -v
如果你的版本是5.3.1以下的就不用降級了,否則要降級gcc。
下載gcc5.3.0。下載地址為:https://pan.baidu.com/s/1cL2v62,下載好后,進入到該文件目錄,執行如下操作:
解壓:
sudo tar -zxvf gcc-5.3.0.tar.gz
進入到gcc目錄:
cd gcc-5.3.0/
下載依賴項:
sudo ./contrib/download_prerequisites
新建一個編譯的文件夾,並進入該文件夾:
sudo mkdir build
cd build/
生成makefile文件:
sudo ../configure --enable-checking=release --enable-languages=c,c++ --disable-multilib
編譯:
sudo make -j4
編譯結束以后,我們就可以執行安裝了:
sudo make install
查看是否成功:
gcc --version
g++ --version
5.3.安裝Cuda
gcc降到5.3之后,可以直接來安裝了cuda了,進到你下載好的cuda-8.0的run文件目錄,運行如下命令:
sudo ./cuda_8.0.44_linux.run
輸入“q”跳過preface,輸入接受:accept; 然后回車。接下來的操作,選擇“n”不安裝的是英偉達驅動,我們已經安裝了,以及CUDA sample,因為我們只通過TensorFlow調用CUDA,不直接寫CUDA代碼。其他的選擇“y”。
如果出現下圖的結果,表明你已經安裝成功了,雖然有一個警告和一個特別注意但是不影響結果。
從上圖可是,下載的例子里面是缺少一些支持庫的,現在我們安裝這些庫:
sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libgl1-mesa-gl
x libglu1-mesa libglu1-mesa-dev
從上圖可以看出來,有一個特別注意,所以我們做如下配置:打開.bashrc來進行配置,命令如下:
sudo vim ~/.bashrc
並將如下的幾行內容復制的到.bashrc文件的最下面:
export PATH=/usr/local/cuda-8.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda8.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
export CUDA_HOME=/usr/local/cuda
然后設置環境變量和動態鏈接庫,在命令行輸入:
sudo vim /etc/profile
在打開的文件末尾加入:
export PATH=/usr/local/cuda/bin:$PATH
保存之后,創建鏈接文件:
sudo gedit /etc/ld.so.conf.d/cuda.conf
在打開的文件中添加如下語句:
/usr/local/cuda/lib64
然后執行如下命令使得鏈接立即生效:
sudo ldconfig
現在重啟電腦!
現在就開始測試一下看看cuda是否安裝成功吧!輸入如下命令打開測試的代碼位置:
cd /usr/local/cuda-8.0/samples/1_Utilities/deviceQuery
編譯這些代碼:
sudo make -j4
執行代碼:
./deviceQuery
如果出現如下結果---顯卡的配置信息,恭喜你,這就證明你成功的安裝了cuda
[六]cuDNN安裝
cuDNN深度學習加速的一些庫。下載地址為:https://developer.nvidia.com/cudnn
打開網站,如下圖,需要注冊一個賬戶,因為下載的時候需要,然后下載,流程如下圖:
下載后解壓:
tar -xvf cudnn-8.0-linux-x64-v5.1.tgz
執行如下操作:
cd cuda/include/
sudo cp cudnn.h /usr/local/cuda/include/
cd ../lib64/
sudo cp lib* /usr/local/cuda/lib64/
cd /usr/local/cuda/lib64/
sudo rm -rf libcudnn.so libcudnn.so.5
sudo ln -s libcudnn.so.5.1.5 libcudnn.so.5
sudo ln -s libcudnn.so.5 libcudnn.so
執行完之后,cuDNN算是安裝完成了。
[七]安裝Anaconda
anaconda里面集成了很多關於python科學計算的第三方庫,並且方便對多個環境進行管理,我們的TensorFlow環境就要基於anaconda搭建。
注意,這里基於python3.5進行搭建,相對2.7,它更代表了python未來的發展趨勢。
7.1.下載
下載地址為:https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/
從這里下載比較快,選擇的對應版本是 Anaconda3-4.2.0-Linux-x86_64.sh
7.2.安裝
在Anaconda的下載目錄執行以下命令:
bash Anaconda3-4.2.0-Linux-x86_64.sh
接下來進入License文檔,按q直接跳過,之后選擇安裝路徑,可以選擇默認路徑,然后確定就可以開始安裝了。
最后程序提示是否將anaconda3的binary路徑加入.bashrc,建議添加。至此anaconda3安裝結束。
[八]安裝Tensorflow
8.1.創建TensorFlow虛擬環境
使用 conda create -n your_env_name python=X.X(2.7、3.6等)命令創建python版本為X.X、名字為your_env_name的虛擬環境。your_env_name文件可以在Anaconda安裝目錄envs文件下找到。
這里創建基於python3.5的虛擬環境:
conda create -n tensorflow python=3.5
之后可以使用命令
source activate tensorflow
激活虛擬環境,使用命令
source deactivate tensorflow
來退出虛擬環境。
8.2.安裝TensorFlow
首先進入tensorflow虛擬環境,然后輸入命令:
pip install tensorflow-gpu==1.2
等待安裝完畢。解釋一下,由於我們使用的是cudnn5.1,而tensorflow-gpu1.3開始就要求cudnn6了,所以這里要使用1.2版本的。樓主開始使用的命令是 pip install tensorflow-gpu,默認下載的1.5版本,結果跑程序時就開始瘋狂報錯。
[九]安裝Opencv3.4.0
opencv的安裝也是一個大坑,樓主使用了各種方法,包括下載離線包、在線下載,都不好使,最后一句簡單的命令解決了。
首先進入tensorflow虛擬環境,注意我們安裝的tensorflow還有opencv都是在虛擬環境里面,所以也只有這個環境里面可以使用。
source activate tensorflow
再輸入命令下載:
pip install opencv-python
很簡單地安好了。
最后附上tensorflow虛擬環境中的tensorflow和opencv安裝成功圖: