tensorflow-入門-01-Ubuntuインストールtensorflowおよびよくあるエラーlibcudnn.Version cannot open shared object file No such

6278 ワード

に注意
このUbuntuでのインストールtensorflow
および一般的なエラーImportError:libcudnn.Version:cannot open shared object file:No such file or directorの処理
文章は2017年8月25日22:01:30に書かれていますが、この文章を読む時間が古すぎると、この文章はあまり役に立たないので、参考にしてみてください.
インストール環境
Ubuntu 16
python3
tensorflow 1.3.0
CUDA Toolkit 8.0
cuDNN 6.0
公式サイトの提示に従ってインストール手順を完了するhttps://www.tensorflow.org/install/install_linux
Ubuntu 14.04 or higherが必要
TensorFlowは、CPU support onlyとGPU supportの2種類に分かれています.すなわち、CPU演算のみをサポートするバージョンとGPU演算のみをサポートするバージョンである.
ここではGPU演算をサポートするバージョンのインストールを選択します.
最初のステップはGPUドライバをインストールします.
System Settings->Software&Updates->Additional Drivers->NVIDIA Corporationをクリックして最初のUsing NVIDIA binary dirverを選択
そしてApply Changesをクリックし、変更を保存します.
ダウンロードインストールGPU駆動完了待ち.
ステップ2 CUDAの取り付け® Toolkit 8.0.
cudaのダウンロードページを開く
https://developer.nvidia.com/cuda-downloads
Linux->x 86をクリック64 -> Ububtu -> 16.04 -> deb(local) -> Base Installer(1.9GB)
Downloadsファイルの下で右クリックしてterminalを開きます.
次のコマンドラインを使用してダウンロードしてインストールします.
sudo dpkg -i cuda-repo-ubuntu1604-8-0-local-ga2_8.0.61-1_amd64.deb

sudo apt-get update

sudo apt-get install cuda

ステップ3 cuDNnのインストール
CuDNNのダウンロード画面を開く
https://developer.nvidia.com/rdp/form/cudnn-download-survey
インストールをダウンロードするには、ここに登録してログインする必要があります.
アンケートを記入して合意に同意した後
Download cuDNn v 7.0(August 3,2017)、for CUDA 9.0 RCを選択
ダウンロードcuDNN v 7.0 Library for Linux
その後、Downloadフォルダを開いてcuDNn v 7.0 Libraryを右クリックし、Extract Hereをクリックして現在のフォルダの下に解凍します.
現在のDownloadフォルダの下にcudaのフォルダが表示されます.
注意、次はこのステップのポイントで、順番が間違っていると面倒になることがあります.
端末terminalを開き、sudo nautilusを入力し、弾き出したフォルダマネージャでComputer->user->local->cuda->includeをクリックします.
このとき前に開いていたフォルダマネージャのDownloadフォルダでcuda->includeをクリック
Downloadフォルダのcudaのincludeのcudnn.hファイルをComputer->user->local->cuda->includeフォルダの下にコピーして貼り付けます
同じようにDownloadフォルダのcudaのlib 64の下の4つのファイルをComputer->user->local->cuda->lib 64フォルダの下にコピーして貼り付けます
開いているフォルダとターミナルterminalを閉じます.
Downloadフォルダの下に端末terminalを開き、次のコマンドラインを入力します.
sudo chmod a+r /usr/local/cuda/lib64/libcudnn*

cd ..

sudo gedit ~/.bashrc

開いているテキストに、最後に次の2行のコードを追加します.
export PATH=/usr/local/cuda-8.0/bin:${PATH}

export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64:${LD_LIBRARY_PATH}

そしてターミナルterminalで実行
source ~/.bashrc

第4歩pipをインストールして、原生はtensorflowをインストールします
ターミナルterminalで次のコマンドラインを実行します.
sudo apt-get install python3-pip python3-dev

pip3 install tensorflow-gpu

sudo pip3 install --upgrade tfBinaryURL 

sudo pip3 install --upgrade \
 https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-1.3.0-cp34-cp34m-linux_x86_64.whl

手順5インストール結果のテスト
python3
import tensorflow as tf
そしてエラー!!
ImportError: libcudnn.Version: cannot open shared object file: No such file or director
真ん中のlibcudnn.Versionにはlibcudnn.5、libcudnn.6があります.
ここが一番よくある問題です.
https://stackoverflow.com/questions/41991101/importerror-libcudnn-when-running-a-tensorflow-program
答えは以上のURLの中で、大体の意味は今tensorflowがcudnn 6.0,5.1しか使えないことを意味して、この2つのバージョン、その他はすべて使えません.
だからcudnnに行って6.0バージョンを再ダウンロードし、Downloadフォルダで端末terminalを開きます.
tar xvzf cudnn-8.0-linux-x64-v6.0.tgz

sudo cp -P cuda/include/cudnn.h /usr/local/cuda/include

sudo cp -P cuda/lib64/libcudnn* /usr/local/cuda/lib64

sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*

sudo gedit ~/.bashrc

前に最後に追加したものを
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64"

export CUDA_HOME=/usr/local/cuda

保存クローズ
source ~/.bashrc

テスト結果
python3

import tensorflow as tf

成功しました.