web-dev-qa-db-ja.com

テンソルフローのためにCUDAとcuDNNをアップグレードするためのベストプラクティス

現在、私のマシンでtensorflow-gpu 1.8を動作させることを担当しています。これまでtf-gpu 1.2を使用していましたが、いくつかの必要な機能のために、インストールをアップグレードする必要があります。

その前に、これを行うためのベストプラクティスがあるかどうかを確認したいと思いました。私の現在の設定は次のようになります。

  • Ubuntu 16.04
  • NVIDIA GeForce GTX 1080 Ti
  • NVIDIAドライバーバージョン:384.111
  • Python 3のAnaconda 4.4.0
  • CUDA v8.0
  • cuDNN v5.1
  • tensorflow-gpu v1.2

Tf-homepageに書かれているように、CUDA v9.0とcuDNN v7.1を使用する必要があります。これらのすべての指示は更新ではなくクリーンインストールを参照しているため、古いバージョンを最初にアンインストールするのが最善かどうかはわかりません。

すでに同じ問題が発生した場合は、経験を共有してください。ありがとうございました!

6
DocDriven

このドキュメント を参照してください。彼らは、常に最初に古いバージョンをcudaから削除すると言います。

また、cuda 9.1では390以上のバージョンのドライバーが必要です。現在のドライバーを削除することをお勧めします。ただし、390ドライバーにはインストール時にcuda 9.1が付属しているため、心配はありません。

今、個人的なアドバイスとして、私はnvidia/cudaに関連するほとんどすべて(pythonを除く)を削除することを言うでしょう。 UbuntuにCUDAをインストールして設定するときに、いくつかの理由で簡単に台無しにできます。

インストール後に問題が発生した場合は、 buntu-16-04-lts-login-loop-after-updating-driver-nvidia を参照してください。これは先ほど回答した投稿です。

3

ありがとう@joãogabriel s.f. CUDA 8.0/cuDNN 5.1を正常にアンインストールし、最新バージョンのtensorflowをインストールできました。全体の手順が少しわかりにくいので、簡単なウォークスルーを投稿し、同じ状況の人々を支援することにしました。

[〜#〜] deinstall [〜#〜]

最初に、cudaとそのすべての依存関係を削除しました。パッケージマネージャー経由でインストールしたので、apt-getを使用して削除しました。実行ファイルのインストールでは、 this を確認できます。

Sudo apt-get --purge remove cuda
Sudo apt-get autoremove
dpkg --list |grep "^rc" | cut -d " " -f 3 | xargs Sudo dpkg --purge

また、/usr/local/のc​​udaフォルダーを確認して削除しました。 cuDNNに関しては、すべてのcudaフォルダーを削除することにより、対応するcudaヘッダーとライブラリが削除されました。

[〜#〜] install [〜#〜]

最初にグラフィックカードのドライバーを確認します。 CUDA 9.0はv384.111ドライバーで動作するため(390.xxxは不要)、ここでは何もしませんでした。

CUDA Toolkit 9.0 here をdeb(ローカル)としてダウンロードしました。同じフォルダで、実行しました

dpkg -i cuda-repo-ubuntu1604-9-0-local_9.0.176-1_AMD64-deb
Sudo apt-key add /var/cuda-repo-9-0-local/7fa2af80.pub
Sudo apt-get update
Sudo apt-get install cuda

次に、環境変数を設定します。

export PATH=${PATH}:/usr/local/cuda-9.0/bin
export CUDA_HOME=${CUDA_HOME}:/usr/local/cuda:/usr/local/cuda-9.0
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/cuda-9.0/lib64

その後、説明に従って here としてインストールを検証しました。

アーカイブからcuDNN 7.1をtarballとしてダウンロードし、インストールしました

tar -xzvf cudnn-9.0-linux-x64-v7.1.tgz
Sudo cp cuda/include/cudnn.h /usr/local/cuda/include
Sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
Sudo chmod a+r /usr/local/cuda/include/cudnn.h \ 
/usr/local/cuda/lib64/libcudnn*

Python bashを開始した後、テンソルフローをインポートして簡単なグラフを実行できました。

どうもありがとう、素敵な一週間を!

8
DocDriven