聲明:此方法安裝tensorflow親測有效,即使中間出現問題也都是缺少某個工具、缺少某個文件之類的,都是跟系統有關的小問題!儘量按順序執行,至少在每一步過程中都按照順序執行!!
安裝配置:
硬件:GPU:GeForce GTX 1080
軟件:Ubuntu16.04+Anaconda3-5.1.0+CUDA9.0+CUDNN7.0+tensorflow-r1.7
Tensorflow-r1.5以上支持CUDA版本9.0版本;
Tensorflow-r1.3, r1.4匹配CUDA版本8.0版本
安裝過程:
1. Nvidia 顯卡驅動安裝
下載官方驅動程序,下載網址爲:http://www.geforce.cn/drivers,我的顯卡是GTX 1080下載的是NVIDIA-Linux-x86_64-384.130.run這個版本,也可以選擇更新一點兒的
1.1 禁止集成的nouveau驅動
查看屬性:
$sudo ls -lh /etc/modprobe.d/blacklist.conf
修改屬性:
$sudo chmod 666 /etc/modprobe.d/blacklist.conf
用gedit編輯器打開:
$sudo gedit /etc/modprobe.d/blacklist.conf
在該文件後加入下面幾行:
blacklist vga16fb
blacklist nouveau
blacklist rivafb
blacklist rivatv
blacklist nvidiafb
1.2 安裝驅動
按Ctrl+Alt+F1到控制檯界面,輸入用戶名密碼登陸
關閉當前圖形界面
$sudo service lightdm stop
安裝驅動NVIDIA-Linux-x86_64-xxx.run
$sudo chmod +x NVIDIA-Linux-x86_64-xxx.run
$sudo ./NVIDIA-Linux-x86_64-xxx.run -no-x-check -no-nouveau-check -no-opengl-files
最後重新啓動圖形環境
$sudo service lightdm start
查看顯卡驅動
$sudo nvidia-smi
2. 安裝CUDA9.0+cudnn7.0
CUDA9.0下載地址:https://developer.nvidia.com/cuda-90-download-archive ,如下圖所示
2.1 CUDA9.0 安裝
cd 到剛剛下載的cuda的 .deb 路徑下,或者在剛剛的cuda的下載路徑中打開終端
執行
$sudo dpkg -i cuda-repo-ubuntu1604-9-0-local_9.0.176-1_amd64.deb
$sudo apt-get update
$sudo apt-get install cuda-9.0
2.2 gcc 降低版本(會有莫名其妙的問題)
$sudo apt-get install g++-4.9
$sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.9 20
$sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 10
$sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.9 20
$sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-5 10
$sudo update-alternatives --install /usr/bin/cc cc /usr/bin/gcc 30
$sudo update-alternatives --set cc /usr/bin/gcc
$sudo update-alternatives --install /usr/bin/c++ c++ /usr/bin/g++ 30
$sudo update-alternatives --set c++ /usr/bin/g++
2.3 cudnn安裝
去官網下載對應cuda版本的cudnn文件,需要先註冊才能下載。
https://developer.nvidia.com/cudnn
到下載目錄中打開terminal(或cd到下載目錄),依次輸入下面指令
$tar xvzf cudnn-9.0-linux-x64-v7.0-ga.tgz###(解壓這個文件)
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64"
export CUDA_HOME=/usr/local/cuda
配置環境變量
用gedit 打開文件:
$sudo gedit /root/.bash_profile
在文件最後面添加如下內容:
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64"
export CUDA_HOME=/usr/local/cuda
用gedit 打開文件:
$ sudo gedit /etc/profile
在文件中添加:
export PATH=$PATH:/usr/local/cuda/bin
創建文件:
$ sudo touch /etc/ld.so.conf.d/cuda.conf
在文件中添加:
/usr/local/cuda/lib64
使上述配置直接生效:
$source /root/.bash_profile
$source /etc/profile
$sudo ldconfig
2.4 完成安裝,測試
$nvcc –V
可以看到cuda版本信息
運行一下CUDA中自帶的例程:
$cd /usr/local/cuda-9.0/samples/1_Utilities/deviceQuery
$sudo make
$./deviceQuery
底部出現Result = PASS 則安裝成功!!
3. 安裝Bazel編譯器
按照官方教程提供方法安裝即可。
鏈接:https://docs.bazel.build/versions/master/install-ubuntu.html#install-on-ubuntu
4. 安裝Anaconda
(1) 到清華大學開源鏡像網站下載 https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/ 比官網快的多得多
(2) 進入下載目錄,打開terminal,鍵入:
$ bashAnaconda3-5.0.1-Linux-x86_64.sh
安裝過程中,提示是否要將Anaconda的安裝路徑添加到PATH環境變量中,輸入yes!!!
installation finished.
Doyou wish the installer to prepend the Anaconda3 install location
toPATH in your /home/hj/.bashrc ? [yes|no]
[no]>>> yes
(建議)配置清華鏡像作爲默認下載路徑,還是比官方快的多!
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --set show_channel_urls yes
5. 安裝其他庫(可選)
$sudo apt-get install python-pip python-dev
$sudo apt-get install python-numpy swig python-dev python-wheel
$sudo apt-get install git
$git clone git://github.com/numpy/numpy.git numpy
6. 安裝tensorflow
打開github上tensorflow的主頁:https://github.com/tensorflow/tensorflow
在branch處選擇對應的版本文件下載,可以根據你個人需求,此處,我選擇的是 r1.7 版本的文件
進入下載目錄中,解壓源碼
$unzip tensorflow-r1.7.zip
$cd ./tensorflow-r1.7
$./configure
配置安裝信息:
這裏要說一下,首先選擇解釋器路徑,默認應當是你的~/anaconda3/bin/python 纔不枉費你裝了 Anaconda ,然後後面有一堆選yes/no的 就把jemalloc 和 CUDA 選yes,其他都回車選no就行,CUDA選yes的時候也會提示你cuda 和 cudnn 的默認路徑,不對的話就輸入改一下!
配置完成後會看到最後出現Configure finished
然後還是在此目錄下輸入
$bazel build -c opt //tensorflow/tools/pip_package:build_pip_package
$bazel build -c opt --config=cuda //tensorflow/tools/pip_package:build_pip_package
$bazel-bin/tensorflow/tools/pip_package/build_pip_package /tmp/tensorflow_pkg
$ pip install /tmp/tensorflow_pkg/tensorflow-1.7.1-cp36-cp36m-linux_x86_64.whl
第一行是選擇CPU 版本,第二行是選擇GPU 版本編譯,時間比較久,最後一行的pip前面不要加sudo,你可以嘗試加上,但是我這邊兒有錯
安裝完成後設置tensorflow 的環境,終端中輸入如下:
$mkdir _python_build
$cd _python_build
$ln -s ../bazel-$bin/tensorflow/tools/pip_package/build_pip_package.runfiles/org_tensorflow/* .
$ln -s ../tensorflow/tools/pip_package/* .
$python setup.py develop
7. 驗證你的tensorflow:
從 shell 中調用 Python,如下所示:
$ python
在 Python 交互式 shell 中輸入以下幾行簡短的程序代碼:
# Python
import tensorflow as tf
hello = tf.constant('Hello, TensorFlow!')
sess = tf.Session()
print(sess.run(hello))
如果系統輸出以下內容,說明您可以開始編寫 TensorFlow 程序了:
Hello, TensorFlow!
至此,安裝成功!!!