web-dev-qa-db-ja.com

Ubuntu 16.04にCuDNNをインストールするにはどうすればよいですか?

TensorFlowの場合、cudaとCuDNNをインストールします。 Ubuntu 16.04でこれを行うにはどうすればよいですか?

97
Martin Thoma

ステップ0:標準リポジトリからcudaをインストールします。 ( buntu 16.04にCUDAをインストールする方法は? を参照してください)

ステップ1:nvidia開発者アカウントを登録し、 ここからcudnnをダウンロード (約80 MB)

手順2:cudaのインストール場所を確認します。リポジトリからインストールする場合、/usr/lib/...および/usr/includeです。それ以外の場合は、/usr/local/cuda/または/usr/local/cuda-<version>になります。 which nvccまたはldconfig -p | grep cudaで確認できます

ステップ3:ファイルをコピーします。

リポジトリのインストール:

$ cd folder/extracted/contents
$ Sudo cp -P include/cudnn.h /usr/include
$ Sudo cp -P lib64/libcudnn* /usr/lib/x86_64-linux-gnu/
$ Sudo chmod a+r /usr/lib/x86_64-linux-gnu/libcudnn*

実行ファイルのインストール:

$ cd folder/extracted/contents
$ Sudo cp include/cudnn.h /usr/local/cuda/include
$ Sudo cp lib64/libcudnn* /usr/local/cuda/lib64
$ Sudo chmod a+r /usr/local/cuda/lib64/libcudnn*
132
Martin Thoma

5.1以降では、@ Martinが言及したとおりにインストールできません。 nvidiaサイト からlibcudnn6_6.0.21-1+cuda8.0_AMD64.deb, libcudnn6-dev_6.0.21-1+cuda8.0_AMD64.deb, libcudnn6-doc_6.0.21-1+cuda8.0_AMD64.debをダウンロードし、次の方法で1つずつインストールします。

 Sudo dpkg -i <library_name>.deb

Edit:devはランタイムに依存するため、まずランタイム(libcudnn6_6.0.21-1 + cuda8.0_AMD64.deb)をインストールする必要があります(@tinmarinoに感謝)

38
GPrathap
  1. NVidiaのWebサイトで登録します。アカウントが承認されるまでに1〜2日かかる場合があります。少なくともそれは、私が登録したときのケースでした。
  2. NVidiaから最新のCUDAをダウンロードしてインストールします 、または使用しているソフトウェア(この場合はT-Flowのバージョン)に適合する最新バージョン。

    注意してください。クリックによるubuntuの標準パッケージマネージャー経由のインストールはおそらく適切に動作しません。

    代わりに、おそらくターミナルで これらの手順 に従って、.deb pakageをインストールする必要があります。その後、 数行追加.bashrcに、またはあなたの場合は適切な場所に配置する必要があります。たとえば、サーバーを構成している場合は、おそらく.bashrcが実行されない可能性があるため、アプリの自動起動の前の別の場所になる可能性があります。

  3. NVidiaからCuDNNをダウンロード

    「Linux用ライブラリ」バージョンを使用しましたが、.debパッケージではあまり運がありませんでした。

  4. CUDAの場所は、which nvccで確認できます。通常、/usr/local/cuda/は、現在インストールされているバージョンへのシンボリックリンクになります。

  5. CuDNNアーカイブを開き、適切なコンテンツをCUDAインストールフォルダー内の適切な場所(cuda/lib64/およびcuda/include/)にコピーします。私は通常Sudo nautilusを実行し、そこから視覚的に実行します。
11
Íhor Mé

早送り2018およびNVIDIAは、ダウンロード用にcuDNN 7.xを提供するようになりました。インストール手順は、@ GPrathapで説明されている手順と同様です。ただし、古いcuDNNバージョンを新しいバージョンに置き換える場合は、インストールの前にまず削除する必要があります。

要点をまとめると:

手順0. CUDAツールキットが既にインストールされていることを確認します。まだインストールしていない場合は、CUDAツールキットのインストールを続行します。

ステップ1. NVIDIA開発者ポータル https://developer.nvidia.com/cudnn に移動し、cuDNNをダウンロードします。

ステップ2. cuDNNを以前にインストールしたことがある場合は、削除します

Sudo dpkg -r <old-cudnn-runtime>.deb
Sudo dpkg -r <old-cudnn-dev>.deb

ステップ3. dpkgを使用してcuDNNライブラリ(runtime、dev、doc)をインストールする

Sudo dpkg -i <new-cudnn-runtime>.deb
Sudo dpkg -i <new-cudnn-dev>.deb
Sudo ldconfig

ステップ4.ライブラリーがインストールされた場所を見つけたい場合、ロケート索引を更新してから、ライブラリーの場所を見つけることができます。

Sudo updatedb
locate libcudnn

CUDNN 7.xをCUDAツールキット9.1に対して具体的にインストールする場合、この記事では詳細な説明を提供します: http://tech.amikelive.com/node-679/quick -tip-installing-cuda-deep-neural-network-7-cudnn-7-x-library-for-cuda-toolkit-9-1-on-ubuntu-16-04 /

8
Mike

また、Debianベースのディストリビューション用のdebパッケージをダウンロードできます。

NVIDIA Webページから、開発者プロファイルについては次のファイルを入手できます。

  • linux用cuDNN v5.1ランタイムライブラリ(Deb)
  • linux用cuDNN v5.1開発者ライブラリ(Deb)
  • cuDNN v5.1コードサンプルおよびユーザーガイドLinux(Deb)

私のマシンでDebian(Stretch)を使ってこれをテストしましたが、TensorFlowは動作しています!

3
LAraque

@Martin Thomaと@ÍhorMéによる有効な回答に重要な詳細を追加:libcudnnファイルをcudaディレクトリにコピーした後、.bashrcファイルを更新する必要があります。

export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64"
export CUDA_HOME=/usr/local/cuda

次に、それを使用する構成ファイルにincludeディレクトリを追加する必要があります。カフェなどmakeでコンパイルする前に編集する必要がある設定ファイルがあります。このために、caffe/Makefile.configを編集してこれらの構成変数にパスを追加します(パス間に空白を追加します):

INCLUDE_DIRS: /usr/local/caffe/cuda/include/ 
LIBRARY_DIRS: /usr/local/cuda/lib64/

これらの変更を有効にする現在のターミナルウィンドウごとに、ファイルを一度実行することを忘れないでください!

. ~/.bashrc
2
Agile Bean

16.04では、CUDAをNvidiaのWebサイトから直接インストールし、ソースからTensorflowを構築している場合、Cudnnとして指定するディレクトリを指定できます。デフォルトでは次のとおりです。

/usr/include/x86_64-linux-gnu

Tensorflowをビルドするとき、Cudnnに使用していることを示すバージョンを尋ねます。その後、どこにあるかを尋ねられます。上記のディレクトリを指定するだけで問題なく動作します。その時点でwheelファイルが作成され、pipでインストールできます。

0
Goddard

答えは正しいですが、cuDNN 5.1ではいくつかの名前が変更されています。したがって、cuDNNファイルを抽出した後にこのバージョンを使用すると、libとincludeの2つのフォルダーが見つかります。インクルードフォルダー内の* .hファイルの名前をcudnn.hに変更し、 https://askubuntu.com/a/767270/641589 に従います。 CaffeにcuDNNを使用する場合、この変更が必要です!

0