1. 程式人生 > >utuntu安裝tensorflow-gpu

utuntu安裝tensorflow-gpu

不同 flow ren nbsp code eve 遇到 sample ber

  • 之前一直在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