1. 程式人生 > >深度學習(TensorFlow)環境搭建:(三)Ubuntu16.04+CUDA8.0+cuDNN7+Anaconda4.4+Python3.6+TensorFlow1.3

深度學習(TensorFlow)環境搭建:(三)Ubuntu16.04+CUDA8.0+cuDNN7+Anaconda4.4+Python3.6+TensorFlow1.3

缺失 應該 否則 wid -c 方式 *** 也不能 collected

技術分享

  緊接著上一篇的文章《深度學習(TensorFlow)環境搭建:(二)Ubuntu16.04+1080Ti顯卡驅動》,這篇文章,主要講解如何安裝CUDA+CUDNN,不過前提是我們是已經把NVIDIA顯卡驅動安裝好了


一、安裝CUDA

  CUDA(Compute Unified Device Architecture),是英偉達公司推出的一種基於新的並行編程模型和指令集架構的通用計算架構,它能利用英偉達GPU的並行計算引擎,比CPU更高效的解決許多復雜計算任務,想使用GPU就必須要使用CUDA。

1.1、下載CUDA

  首先在官網(https://developer.nvidia.com/cuda-downloads)下載對應的CUDA,如圖所示:

技術分享

註意請務必下載runfile文件(後綴為.run),不能是其它文件。或者直接通過wget命令下載:

wget https://developer.nvidia.com/compute/cuda/8.0/Prod2/local_installers/cuda_8.0.61_375.26_linux-run

如圖所示:

技術分享

1.2、安裝CUDA(一定要按順序執行)

  下載完成後先執行安裝相關依賴的命令,如果不先執行安裝依賴包,後面安裝CUDA會以下錯誤報錯:

-------------------------------------------------------------
Do you accept the previously read EULA
? accept/decline/quit: accept Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 375.26? (y)es/(n)o/(q)uit: n Install the CUDA 8.0 Toolkit? (y)es/(n)o/(q)uit: y Enter Toolkit Location [ default is /usr/local/cuda-8.0 ]: Do you want to install a symbolic link at /usr/local/cuda? (y)es/(n)o/(q)uit: y Install the CUDA
8.0 Samples? (y)es/(n)o/(q)uit: y Enter CUDA Samples Location [ default is /home/cmfchina ]: Installing the CUDA Toolkit in /usr/local/cuda-8.0 ... Missing recommended library: libGLU.so Missing recommended library: libX11.so Missing recommended library: libXi.so Missing recommended library: libXmu.so Installing the CUDA Samples in /home/cmfchina ... Copying samples to /home/cmfchina/NVIDIA_CUDA-8.0_Samples now... Finished copying samples. =========== = Summary = =========== Driver: Not Selected Toolkit: Installed in /usr/local/cuda-8.0 Samples: Installed in /home/cmfchina, 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

  所有大家一定要安裝順序進行安裝,先安裝依賴的庫文件。

(1)安裝缺失的依賴庫文件

命令如下:

sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-devlibgl1-mesa-glx libglu1  #安裝依賴庫

技術分享

(2)安裝執行文件

sudo sh cuda_8.0.61_375.26_linux.run  #執行安裝文件

  註意:安裝過程中會提示你進行一些確認操作,首先是接受服務條款,輸入accept確認,然後會提示是否安裝cuda tookit、cuda-example等,均輸入Y進行確定。但請註意,當詢問是否安裝附帶的驅動時,一定要選N

技術分享

  因為前面我們已經安裝好最新的驅動NVIDIA381,附帶的驅動是舊版本的而且會有問題,所以不要選擇安裝驅動。其余的都直接默認或者選擇是即可。

(3)設置環境變量

  •   輸入命令,編輯環境變量配置文件
sudo vim ~/.bashrc 
  •   在文本末端追加以下兩行代碼(按鍵“i”進行編輯操作)
export PATH=/usr/local/cuda-8.0/bin:$PATH  
export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64:$LD_LIBRARY_PATH
export CUDA_HOME=/usr/local/cuda

  •   保存退出(按“!wq”),執行下面命令,使環境變量立刻生效
#環境變量立即生效 
sudo source ~/.bashrc  
sudo ldconfig 

如圖所示:

技術分享

(4)檢查cuda是否配置正確

  到這一步,基本的CUDA已經安裝完成了,我們可以通過以下命令查看CUDA是否配置正確:

nvcc --version

  如圖所示:

技術分享

(5)測試CUDA的sammples

  為什麽需要安裝cuda samples?一方面為了後面學習cuda使用,另一方面,可以檢驗cuda是否真的安裝成功。如果cuda samples全部編譯通過,沒有一個Error信息(Warning忽略),那麽就說明成功地安裝了cuda。如果最後一行雖然顯示PASS,但是編譯過程中有ERROR,請自行網上搜索相關錯誤信息解決之後。

# 切換到cuda-samples所在目錄
cd /usr/local/cuda-8.0/samples 或者 cd /home/NVIDIA_CUDA-8.0_Samples 

# 沒有make,先安裝命令 sudo apt-get install cmake,-j是最大限度的使用cpu編譯,加快編譯的速度
make –j

# 編譯完畢,切換release目錄(/usr/local/cuda-8.0/samples/bin/x86_64/linux/release完整目錄)
cd ./bin/x86_64/linux/release

# 檢驗是否成功,運行實例
./deviceQuery 

# 可以認真看看自行結果,它顯示了你的NVIDIA顯卡的相關信息,最後能看到Result = PASS就算成功。

如圖所示:

技術分享

技術分享

輸出結果看到顯卡相關信息,並且最後Result = PASS ,這說明CUDA才真正完全安裝成功了


二、安裝cuDNN

2.1、下載cuDNN

cuDNN是GPU加速計算深層神經網絡的庫。首先去官網(https://developer.nvidia.com/rdp/cudnn-download)下載cuDNN,需要註冊一個賬號才能下載,沒有的話自己註冊一個。由於本人的顯卡是GTX1080Ti,所以下載版本號如圖所示,最新的版本是v7:

技術分享

2.2、安裝cuDNN

安裝cudnn比較簡單,簡單地說,就是復制幾個文件:庫文件和頭文件。將cudnn的頭文件復制到cuda安裝路徑的include路徑下,將cudnn的庫文件復制到cuda安裝路徑的lib64路徑下。具體操作如下

 1 #解壓文件
 2 tar -zxvf cudnn-8.0-linux-x64-v7.tgz
 3 
 4 #切換到剛剛解壓出來的文件夾路徑
 5 cd cuda 
 6 #復制include裏的頭文件(記得轉到include文件裏執行下面命令)
 7 sudo cp /include/cudnn.h  /usr/local/cuda/include/
 8 
 9 #復制lib64下的lib文件到cuda安裝路徑下的lib64(記得轉到lib64文件裏執行下面命令)
10 sudo cp lib*  /usr/local/cuda/lib64/
11 
12 #設置權限
13 sudo chmod a+r /usr/local/cuda/include/cudnn.h 
14 sudo chmod a+r /usr/local/cuda/lib64/libcudnn*
15 
16 #======更新軟連接======
17 cd /usr/local/cuda/lib64/ 
18 sudo rm -rf libcudnn.so libcudnn.so.7   #刪除原有動態文件,版本號註意變化,可在cudnn的lib64文件夾中查看   
19 sudo ln -s libcudnn.so.7.0.2 libcudnn.so.7  #生成軟銜接(註意這裏要和自己下載的cudnn版本對應,可以在/usr/local/cuda/lib64下查看自己libcudnn的版本)
20 sudo ln -s libcudnn.so.7 libcudnn.so #生成軟鏈接
21 sudo ldconfig -v #立刻生效

備註:上面的軟連接的版本號要根據自己實際下載的cudnn的lib版本號

如圖所示:

技術分享

最後我們看看驗證安裝cudnn後cuda是否依舊可用

nvcc --version  # or nvcc -V 

2.3、檢驗cuDNN是否安裝成功

  到目前為止,cuDNN已經安裝完了,但是,是否成功安裝,我們可以通過cuDNN sample測試一下(https://developer.nvidia.com/rdp/cudnn-archive 頁面中找到對應的cudnn版本,裏面有 cuDNN v5 Code Samples,點擊該鏈接下載即可,版本可能不一樣,下載最新的就行)

  下載完,轉到解壓出的目錄下的mnistCUDNN,如圖所示:

技術分享

  通過下面命令,進行校驗

#運行cudnn-sample-v5
tar –zxvf cudnn-sample-v5.tgz  #解壓壓縮包
cd mnistCUDNN  #轉到解壓的mnistCUDNN目錄下
make  #make 命令下
./mnistCUDNN   #在mnistCUDNN目錄下執行./mnistCUDNN
#改程序運行成功,如果結果看到Test passed!說明cudnn安裝成功。

如果結果看到Test passed!說明cudnn安裝成功

技術分享

至此、cuDNN已經成功安裝了


三、安裝Anaconda

  Anaconda是python的一個科學計算發行版,內置了數百個python經常會使用的庫,也包括許多做機器學習或數據挖掘的庫,這些庫很多是TensorFlow的依賴庫。安裝好Anaconda可以提供一個好的環境直接安裝TensorFlow。

  去Anaconda官網(https://www.anaconda.com/download/)下載需要版本的Anaconda

技術分享

  下載完後執行如下命令

sudo bash Anaconda3-4.4.0-Linux-x86_64.sh

  如圖所示:

技術分享

  安裝anaconda,回車後,是許可文件,接收許可。直接回車即可。最後會詢問是否把anaconda的bin添加到用戶的環境變量中,選擇yes。在終端輸入python發現依然是系統自帶的python版本,這是因為環境變量的更新還沒有生效,命令行輸入如下命令是安裝的anaconda生效。如果conda --version沒有找到任何信息,說明沒有加入到環境變量沒有,需要手動加入,如圖所示:

技術分享

  刷新環境變量

source /etc/profile 或者 source ~/.bashrc #(全局的環境變量)

三、安裝TensorFlow

  大家可以參考TensorFlow的官方安裝教程(https://www.tensorflow.org/install/),官網提供的了 Pip, Docker, Virtualenv, Anaconda 或 源碼編譯的方法安裝 TensorFlow,我們這裏主要介紹以Anaconda安裝。其他安裝方式,大家可以到官方安裝教程查看。

3.1安裝TensorFlow

  通過Anaconda安裝TensorFlow CPU,TensorFlow 的官方下載源現在已經在GitHub上提供了(https://github.com/tensorflow/tensorflow),找到對應的版本號,如圖所示:

技術分享

(1)、創建一個名為tensorflow的conda環境Python 3.6

#Python 2.7
conda create -n tensorflow python=2.7

#Python 3.4
conda create -n tensorflow python=3.4

#Python 3.5
conda create -n tensorflow python=3.5
#Python 3.6
conda create -n tensorflow python=3.6   #我下的TensorFlow對應的Python是3.6版本,那麽我就使用這行

備註:(根據TensorFlow版本號,一定要設置Python版本號,切記切記切記!!!!!重要的事情說三遍!否則後面會報各種錯的)

(2)、激活 conda 環境

source activate tensorflow

(3)、TensorFlow 各個版本(最新的貌似是1.3的版本了)

  然後根據要安裝的不同tensorflow版本選擇對應的一條下載鏈接(操作系統,Python版本,CPU版本還是CPU+GPU版本),官方文檔都有相關信息。

Python 2.7

CPU:
https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-1.3.0-cp27-none-linux_x86_64.whl

GPU:
https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow_gpu-1.3.0-cp27-none-linux_x86_64.whl
===============================================================================================
Python
3.4 CPU: https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-1.3.0-cp34-cp34m-linux_x86_64.whl GPU: https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow_gpu-1.3.0-cp34-cp34m-linux_x86_64.whl ===============================================================================================
Python 3.5 CPU: https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-1.3.0-cp35-cp35m-linux_x86_64.whl GP: https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow_gpu-1.3.0-cp35-cp35m-linux_x86_64.whl ===============================================================================================
Python 3.6 CPU: https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-1.3.0-cp36-cp36m-linux_x86_64.whl GPU: https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow_gpu-1.3.0-cp36-cp36m-linux_x86_64.whl

(4)、在conda環境中安裝TensorFlow GPU版(本文主要以安裝GPU版講解)

  因為我們前面選擇了conda環境為Python3.6的,所以我們選擇Python3.6版本的GPU鏈接地址,進行安裝

#如何進行安裝,我們這裏安裝Python版本為3.6的TensorFlow

sudo pip3 install --ignore-installed --upgrade https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow_gpu-1.3.0-cp36-cp36m-linux_x86_64.whl

備註:連接裏的cpxx和cpxxm的xx是對應Python的版本號

錯誤歸納-重點關註!!!:

  安裝whl包的時候出現“tensorflow_gpu-1.3.0-cp36-cp36m-linux_x86_64.whl is not a supported wheel on this platform”的問題。我們需要下載GPU版的安裝包,在安裝包下載之後,然後手動進入環境,安裝TensorFlow。

具體操作如下(因為我碰到這樣問題,只能用下面這種方式安裝了):

source activate tensorflow    #激活tensorflow環境(這步操作了,就忽略)
cd /Downloads    #切換到whl文件所在文件夾
pip install --ignore-installed --upgrade tensorflow_gpu-1.3.0-cp36-cp36m-linux_x86_64.whl   #切記,不要用sudo pip,也不要用pip3,然後--ignore-installed --upgrade等參數也不能省略,否則會出錯。

  如圖所示,TensorFlow安裝成功了:

技術分享

技術分享

完整日誌:

[email protected]:~$ conda create -n tensorflow python=3.6
Fetching package metadata .........
Solving package specifications: .

Package plan for installation in environment /home/cmfchina/.conda/envs/tensorflow:

The following NEW packages will be INSTALLED:

    certifi:    2016.2.28-py36_0
    openssl:    1.0.2l-0        
    pip:        9.0.1-py36_1    
    python:     3.6.2-0         
    readline:   6.2-2           
    setuptools: 36.4.0-py36_1   
    sqlite:     3.13.0-0        
    tk:         8.5.18-0        
    wheel:      0.29.0-py36_0   
    xz:         5.2.3-0         
    zlib:       1.2.11-0        

Proceed ([y]/n)? y

#
# To activate this environment, use:
# > source activate tensorflow
#
# To deactivate this environment, use:
# > source deactivate tensorflow
#

[email protected]:~$ source activate tensorflow
(tensorflow) [email protected]:~$ wget https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow_gpu-1.3.0-cp36-cp36m-linux_x86_64.whl
--2017-09-26 10:06:45--  https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow_gpu-1.3.0-cp36-cp36m-linux_x86_64.whl
Resolving storage.googleapis.com (storage.googleapis.com)... 216.58.200.48, 2404:6800:4008:801::2010
Connecting to storage.googleapis.com (storage.googleapis.com)|216.58.200.48|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 159078494 (152M) [application/octet-stream]
Saving to: ‘tensorflow_gpu-1.3.0-cp36-cp36m-linux_x86_64.whl.1’

tensorflow_gpu-1.3. 100%[===================>] 151.71M  2.99MB/s    in 52s     

2017-09-26 10:07:38 (2.89 MB/s) - ‘tensorflow_gpu-1.3.0-cp36-cp36m-linux_x86_64.whl.1’ saved [159078494/159078494]

(tensorflow) [email protected]:~$ pip install --ignore-installed --upgrade tensorflow_gpu-1.3.0-cp36-cp36m-linux_x86_64.whl
Processing ./tensorflow_gpu-1.3.0-cp36-cp36m-linux_x86_64.whl
Collecting six>=1.10.0 (from tensorflow-gpu==1.3.0)
  Using cached six-1.11.0-py2.py3-none-any.whl
Collecting tensorflow-tensorboard<0.2.0,>=0.1.0 (from tensorflow-gpu==1.3.0)
  Downloading tensorflow_tensorboard-0.1.6-py3-none-any.whl (2.2MB)
    100% |████████████████████████████████| 2.2MB 345kB/s 
Collecting numpy>=1.11.0 (from tensorflow-gpu==1.3.0)
  Downloading numpy-1.13.1-cp36-cp36m-manylinux1_x86_64.whl (17.0MB)
    100% |████████████████████████████████| 17.0MB 93kB/s 
Collecting protobuf>=3.3.0 (from tensorflow-gpu==1.3.0)
  Downloading protobuf-3.4.0-cp36-cp36m-manylinux1_x86_64.whl (6.2MB)
    100% |████████████████████████████████| 6.2MB 203kB/s 
Collecting wheel>=0.26 (from tensorflow-gpu==1.3.0)
  Using cached wheel-0.30.0-py2.py3-none-any.whl
Collecting bleach==1.5.0 (from tensorflow-tensorboard<0.2.0,>=0.1.0->tensorflow-gpu==1.3.0)
  Downloading bleach-1.5.0-py2.py3-none-any.whl
Collecting markdown>=2.6.8 (from tensorflow-tensorboard<0.2.0,>=0.1.0->tensorflow-gpu==1.3.0)
  Downloading Markdown-2.6.9.tar.gz (271kB)
    100% |████████████████████████████████| 276kB 834kB/s 
Collecting werkzeug>=0.11.10 (from tensorflow-tensorboard<0.2.0,>=0.1.0->tensorflow-gpu==1.3.0)
  Downloading Werkzeug-0.12.2-py2.py3-none-any.whl (312kB)
    100% |████████████████████████████████| 317kB 985kB/s 
Collecting html5lib==0.9999999 (from tensorflow-tensorboard<0.2.0,>=0.1.0->tensorflow-gpu==1.3.0)
  Downloading html5lib-0.9999999.tar.gz (889kB)
    100% |████████████████████████████████| 890kB 673kB/s 
Collecting setuptools (from protobuf>=3.3.0->tensorflow-gpu==1.3.0)
  Using cached setuptools-36.5.0-py2.py3-none-any.whl
Building wheels for collected packages: markdown, html5lib
  Running setup.py bdist_wheel for markdown ... done
  Stored in directory: /home/cmfchina/.cache/pip/wheels/bf/46/10/c93e17ae86ae3b3a919c7b39dad3b5ccf09aeb066419e5c1e5
  Running setup.py bdist_wheel for html5lib ... done
  Stored in directory: /home/cmfchina/.cache/pip/wheels/6f/85/6c/56b8e1292c6214c4eb73b9dda50f53e8e977bf65989373c962
Successfully built markdown html5lib
Installing collected packages: six, html5lib, bleach, markdown, numpy, werkzeug, setuptools, protobuf, wheel, tensorflow-tensorboard, tensorflow-gpu
Successfully installed bleach-1.5.0 html5lib-0.9999999 markdown-2.6.9 numpy-1.13.1 protobuf-3.4.0 setuptools-36.5.0 six-1.11.0 tensorflow-gpu-1.3.0 tensorflow-tensorboard-0.1.6 werkzeug-0.12.2 wheel-0.30.0

(5)、在conda環境中安裝TensorFlow CPU版

  因為我們前面選擇了conda環境為Python3.6的,所以我們選擇Python3.6版本的CPU鏈接地址,進行安裝

#如何進行安裝,我們這裏安裝Python版本為3.6的TensorFlow

sudo pip3 install --ignore-installed --upgrade https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-1.3.0-cp36-cp36m-linux_x86_64.whl

備註:連接裏的cpxx和cpxxm的xx是對應Python的版本號

錯誤歸納:

  安裝whl包的時候出現“tensorflow-1.3.0-cp36-cp36m-linux_x86_64.whl is not a supported wheel on this platform”的問題,和上面安裝GPU一樣的錯誤。我們需要下載CPU版的安裝包,在安裝包下載之後,註意!!!這個時候我們需要將whl文件重命名為tensorflow-1.3.0-py3-none-linux_x86_64.whl,然後手動進入環境,安裝TensorFlow。

具體操作如下:

source activate tensorflow   #激活tensorflow環境(這步操作了,就忽略)
cd /Downloads   #切換到whl文件所在文件夾
pip install --ignore-installed --upgrade tensorflow-1.3.0-py3-none-linux_x86_64.whl   #切記,不要用sudo pip,也不要用pip3,然後--ignore-installed --upgrade等參數也不能省略,否則會出錯。

其他的和GPU安裝是一樣的,具體不做講解。

(6)、當你不用 TensorFlow 的時候,關閉環境

source deactivate tensorflow

(7)、安裝成功後,每次使用 TensorFlow 的時候需要激活 conda 環境(操作步驟2就可以了)

3.2、常見問題以及錯誤

問題一、如果安裝後,運行實例提示ModuleNotFoundError: No module named ‘tensorflow’的話

import tensorflow as tf
Traceback (most recent call last):
File “”, line 1, in
ModuleNotFoundError: No module named ‘tensorflow’

  解決辦法:下載的TensorFlow對應的Python版本一定要和conda create -n tensorflow python=x.x的版本一樣才行,所以TensorFlow版本有時候太高反而不好,低版本兼容性更好,這個看個人意願。

問題二、出現“ImportError: libcudnn.so.6: cannot open shared object file: No such file or directory”錯誤信息

Python 3.6.2 |Continuum Analytics, Inc.| (default, Jul 20 2017, 13:51:32) 
[GCC 4.4.7 20120313 (Red Hat 4.4.7-1)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import tensorflow as tf
Traceback (most recent call last):
  File "/home/cmfchina/.conda/envs/tensorflow/lib/python3.6/site-packages/tensorflow/python/pywrap_tensorflow.py", line 41, in <module>
    from tensorflow.python.pywrap_tensorflow_internal import *
  File "/home/cmfchina/.conda/envs/tensorflow/lib/python3.6/site-packages/tensorflow/python/pywrap_tensorflow_internal.py", line 28, in <module>
    _pywrap_tensorflow_internal = swig_import_helper()
  File "/home/cmfchina/.conda/envs/tensorflow/lib/python3.6/site-packages/tensorflow/python/pywrap_tensorflow_internal.py", line 24, in swig_import_helper
    _mod = imp.load_module(_pywrap_tensorflow_internal, fp, pathname, description)
  File "/home/cmfchina/.conda/envs/tensorflow/lib/python3.6/imp.py", line 242, in load_module
    return load_dynamic(name, filename, file)
  File "/home/cmfchina/.conda/envs/tensorflow/lib/python3.6/imp.py", line 342, in load_dynamic
    return _load(spec)
ImportError: libcudnn.so.6: cannot open shared object file: No such file or directory

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/cmfchina/.conda/envs/tensorflow/lib/python3.6/site-packages/tensorflow/__init__.py", line 24, in <module>
    from tensorflow.python import *
  File "/home/cmfchina/.conda/envs/tensorflow/lib/python3.6/site-packages/tensorflow/python/__init__.py", line 49, in <module>
    from tensorflow.python import pywrap_tensorflow
  File "/home/cmfchina/.conda/envs/tensorflow/lib/python3.6/site-packages/tensorflow/python/pywrap_tensorflow.py", line 52, in <module>
    raise ImportError(msg)
ImportError: Traceback (most recent call last):
  File "/home/cmfchina/.conda/envs/tensorflow/lib/python3.6/site-packages/tensorflow/python/pywrap_tensorflow.py", line 41, in <module>
    from tensorflow.python.pywrap_tensorflow_internal import *
  File "/home/cmfchina/.conda/envs/tensorflow/lib/python3.6/site-packages/tensorflow/python/pywrap_tensorflow_internal.py", line 28, in <module>
    _pywrap_tensorflow_internal = swig_import_helper()
  File "/home/cmfchina/.conda/envs/tensorflow/lib/python3.6/site-packages/tensorflow/python/pywrap_tensorflow_internal.py", line 24, in swig_import_helper
    _mod = imp.load_module(_pywrap_tensorflow_internal, fp, pathname, description)
  File "/home/cmfchina/.conda/envs/tensorflow/lib/python3.6/imp.py", line 242, in load_module
    return load_dynamic(name, filename, file)
  File "/home/cmfchina/.conda/envs/tensorflow/lib/python3.6/imp.py", line 342, in load_dynamic
    return _load(spec)
ImportError: libcudnn.so.6: cannot open shared object file: No such file or directory

這些都是有套路的,解決方法:

  • 首先檢查是否存在libcundnn.so.*
find / -name libcudnn.so.*

找到文件就下一步,沒找到,檢查下cudnn的依賴庫,就是前面的環境變量做對了沒

  • 建立硬連接
sudo ln -s <path>libcudnn.so.7.*  <path>libcudnn.so.6  #path就是libcudnn.so.7的所在目錄

或者

sudo ln -s  libcudnn.so.7.*  libcudnn.so.6  #cd 到 libcudnn.so.7的所在目錄

這個應該是沒有問題

3.3、卸載TensorFlow

  如果我們需要卸載TensorFlow的話,使用下面命令

sudo pip uninstall tensorflow   #Python2.7
sudo pip3 uninstall tensorflow   #Python3.x

3.4、測試TensorFlow

  在python的環境中,運行簡單的TensorFlow程序測試(官方demo)

>>> import tensorflow as tf
>>> hello = tf.constant(Hello, TensorFlow!)
>>> sess = tf.Session()
>>> sess.run(hello)
Hello, TensorFlow!
>>> a = tf.constant(10)
>>> b = tf.constant(32)
>>> sess.run(a + b)
42
>>> sess.close()

至此,TensorFlow安裝成功~~

PS:如有疑問,請留言,轉載請註明出處:http://www.cnblogs.com/xuliangxing/p/7575586.html

技術分享

技術分享

深度學習(TensorFlow)環境搭建:(三)Ubuntu16.04+CUDA8.0+cuDNN7+Anaconda4.4+Python3.6+TensorFlow1.3