utuntu安裝tensorflow-gpu
- 之前一直在windows下使用tensorflow,對cpu和gpu的安裝都是比較順利,都是使用anaconda環境下,創建虛擬conda環境,這樣方便不同python版本的管理。
- 一直也想嘗試使用utuntu安裝,從頭是開學習一遍,昨天剛裝了雙系統,嘗試先安裝tensorflow,然後進行caffe安裝。
- Utuntu16.04+CUDA8.0+cuDNN(5.1-->6.0,tf1.2+ TiTan XP版本以上支持cuDNN6.0)+tensorflow1.4-gpu(自動安裝最新版本)
1.檢測驅動
nvidia驅動安裝是一個比較頭疼的事情,網上較多的教程通過下載.run文件,采用終端命令,禁用自帶的 nouveau nvidia驅動來安裝。但是我直接采用系統設置更新的:
步驟:
a) 進入系統設置--軟件更新(software&updates)--額外驅動(additional Drivers),選擇第一個選項(using nvidia binary driver --version .....),其他不變,點擊Apply changes,。
b) 重啟系統。
c) 終端輸入nvidia-smi 進行驗證,安裝成功.
可能采用其他的禁止顯卡,安裝驅動,可能還會與遇見很多坑,我更新的版本:nvidia-384
2.CUDA安裝
首先在官網上(https://developer.nvidia.com/cuda-downloads)下載CUDA:
a) 官網下載cuda_8.0.44_linux.run文件
b) chmod +x /*.run 更改權限 :root應該可以直接執行
c) cd到文件目錄, ./cuda_8.0.44_linux.run 進行安裝 (因為之前已經安裝過驅動,開始安裝時,第一個選項,是否安裝驅動,選n 不安裝(很重要),其它選y,路徑默認即可)
可能出現的錯誤:
當出現“unsupport complier”錯誤時,說明gcc版本太高,需要降低gcc版本。解決辦法如下: 安裝gcc4.9與g++4.9 ;我先以前安裝了g++4.9,但是顯示gcc任然是5.4的,參考別人的:
為什麽需要先安裝編譯器GCC和G++,而不是先安裝顯卡驅動和cuda等等呢?
首先,先安裝顯卡驅動,後安裝GCC並降級的安裝順序過程中,遇到了很多問題。比如,在安裝CUDA SAMPLES的過程中,遇到了問題/usr/bin/ld: cannot find –lGL,後面通過網上教程,重新連接該庫文件,仍然不能通過OpenCV的編譯。但是,先安裝GCC,再安裝顯卡驅動,就不會遇到這個問題了。
- 安裝完成log:
Driver: Not Selected Toolkit: Installed in /usr/local/cuda-8.0 Samples: Installed in /home/dsp, but missing recommended libraries Please make sure that - PATH includes /usr/local/cuda-8.0/bin - LD_LIBRARY_PATH includes /usr/local/cuda-8.0/lib64, or, add /usr/local/cuda-8.0/lib64 to /etc/ld.so.conf and run ldconfig as root To uninstall the CUDA Toolkit, run the uninstall script in /usr/local/cuda-8.0/bin Please see CUDA_Installation_Guide_Linux.pdf in /usr/local/cuda-8.0/doc/pdf for detailed information on setting up CUDA. ***WARNING: Incomplete installation! This installation did not install the CUDA Driver. A driver of version at least 361.00 is required for CUDA 8.0 functionality to work. To install the driver using this installer, run the following command, replacing <CudaInstaller> with the name of this run file: sudo <CudaInstaller>.run -silent -driver Logfile is /tmp/cuda_install_3147.log
環境變量:首先下載Cuda8.0,然後進入下載目錄,執行下列命令,即可安裝Cuda; 安裝完成後,配置環境變量,在home下的.bashrc中加入
打開~/.bashrc文件: sudo vim ~/.bashrc 將以下內容寫入到~/.bashrc尾部: export PATH=/usr/local/cuda-8.0/bin${PATH:+:${PATH}} export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
3.cuDNN安裝
cuDNN是GPU加速計算深層神經網絡的庫。 首先去官網(https://developer.nvidia.com/rdp/cudnn-download)下載cuDNN,可能需要註冊一個賬號才能下載.
下載cuDNN5.1之後進行解壓,cd進入cuDNN5.1解壓之後的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.10 libcudnn.so.5 #生成軟銜接(註意這裏要和自己下載的cudnn版本對應,可以在/usr/local/cuda/lib64下查看自己libcudnn的版本) sudo ln -s libcudnn.so.5 libcudnn.so #生成軟鏈接
安裝問題
tensorflow安裝所遇問題:libcudnn.so.6:cannot open sharedobject file: No such file or directory
【報錯】ImportError: libcudnn.so.6: cannot open shared object file: No such file or directory
- 由於自己先安裝cuDNN5.1;後面安裝tensorflow是自動安裝最新版本的tf1.4,但在tf1.3已經支持cuDNN6.0了。
- 看了更新日誌發現,1.3版本需要cuDNN v6.0做支持了,之前是5.1,於是去Nvidia官網下載cuDNN v6.0對應的系統版本安裝就好了: 我使用cuDNN6.0
- 或者降低版本
問題解決: pip uninstall tensorflow-gpu pip install tensorflow-gpu==1.2
4. Anaconda安裝
官網下載地址:https://www.continuum.io/downloads/
在安裝的過程中,會詢問安裝路徑,按回車即可。之後會詢問是否將Anaconda安裝路徑加入到環境變量(.bashrc)中,輸入yes,這樣以後在終端中輸入python即可直接進入Anaconda的Python版本(如果你的系統中之前安裝過Python,自行選擇yes or no)。安裝成功後,會有當前用戶根目錄下生成一個anaconda2的文件夾,裏面就是安裝好的內容
下載完畢後,在terminal中到達文件所在位置 bash Ana.......(快捷鍵Tab) .sh 一路按回車鍵,中間記得輸入一個yes就可以順利完成安裝。 安裝完後,配置環境路徑:安裝過程自動選擇添加,就不需要手動添加 # 將anaconda的bin目錄加入PATH,根據版本不同,也可能是~/anaconda3/bin echo ‘export PATH="~/anaconda2/bin:$PATH"‘ >> ~/.bashrc # 更新bashrc以立即生效 source ~/.bashrc
- 安裝log:
- 需要激活anconda環境才能使用,不然是默認的python2.7
dsp@dsp:~/下載/cuda/lib64$ python Python 2.7.12 (default, Nov 19 2016, 06:48:10) [GCC 5.4.0 20160609] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> exit() dsp@dsp:~/下載/cuda/lib64$ source /home/dsp/.bashrc dsp@dsp:~/下載/cuda/lib64$ python Python 2.7.14 |Anaconda, Inc.| (default, Oct 16 2017, 17:29:19) [GCC 7.2.0] on linux2 Type "help", "copyright", "credits" or "license" for more information.
- Conda的環境管理功能允許我們同時安裝若幹不同版本的Python,並能自由切換。對於上述安裝過程,假設我們采用的是Python 2.7對應的安裝包,那麽Python 2.7就是默認的環境(默認名字是root,註意這個root不是超級管理員的意思)。
# 創建一個名為tenseorflow的環境,指定Python版本是3.5 conda create --name tensorflow python=3.5 # 安裝好後,使用activate激活某個環境 activate tensorflow # for Windows source activate tensorflow # for Linux & Mac # 激活後,會發現terminal輸入的地方多了tensorflow 的字樣,實際上,此時系統做的事情就是把默認2.7環境從PATH中去除,再把3.5對應的命令加入PATH # 此時,再次輸入 python --version # 可以得到`Python 3.5.3 :: Continuum Analytics, Inc.` # 如果想返回默認的python 2.7環境,運行 deactivate tensorflow # for Windows source deactivate tensorflow# for Linux & Mac #可以得到`Python 2.7.13 :: Anaconda 4.3.1 (64-bit)` # 刪除一個已有的環境 conda remove --name tensorflow --all
用戶安裝的不同python環境都會被放在目錄~/anaconda/envs下,可以在命令中運行conda info -e
查看已安裝的環境,當前被激活的環境會顯示有一個括號。
(tensorflow_py3.5) dsp@dsp:/usr/local/cuda/lib64$ python Python 3.5.4 |Anaconda, Inc.| (default, Nov 3 2017, 20:01:27) [GCC 7.2.0] on linux Type "help", "copyright", "credits" or "license" for more information. >>> import tensorflow as tf >>>
5.tensorflow-gpu安裝
- 安裝只需要在對應的激活conda環境下:
- pip install tensorflow
- pip install tensorflow-gpu
6.測試
- 下午在進行spyder配置和caffe的配置
- 可能有些坑,還沒有發現後續更新
Reference:
- http://blog.csdn.net/u010858605/article/details/64128466 (win10+tensorflow)
-
Ubuntu16.04+CUDA8.0+caffe配置
utuntu安裝tensorflow-gpu