今回はtensorflowのセットアップを紹介していこうと思うのですが、GPU版のtensorflowを使う為にはCuda ToolkitやcuDNNのセットアップを行う必要があります。
そこで今回はtensorflowをセットアップする前段階、Cuda ToolkitとcuDNNのセットアップを紹介していきます。
なお、CPU版のtensorflowはそのまま、pythonのバージョンを合わせてインストールで特に問題ありません。しかしGPUを使ったtensorflowはセットアップがちょっと厄介。
何が厄介なのかというと、GPUのドライバーのバージョン、CUDA toolkitのバージョン、それをコンパイルするソフトのバージョン、cuDNNのバージョンすべてが揃わないときちんと動作してくれません。
そこで、今回はGPUの確認からcuDNNのセットアップまでの紹介をしていきたいと思います。
Contents
セットアップの流れ
セットアップの流れです。以下の流れに沿ってやっていきます。
- GPUの確認
- GPUドライバーのバージョン確認
- GPUドライバーのバージョンにあったCUDA toolkit、cuDNNのバージョンを確認
- CUDA toolkitをコンパイルするソフトの確認
- CUDA toolkitをインストール
- cuDNNのインストール
の順に進めていきたいと思います。
GPUの確認
まずは、GPUの確認です。ご自身のPCに入っているGPUは確認しなくても分かっていると思われますが、念のため。
画面左下の検索ボックスに
”dxdiag”と入力するとDirectX診断ツールが開きます。
そのディスプレイタブを選択すると、現在お使いのGPUが表示されます。
ここに記載されているのが、ご自分のPCに載っているGPUです。なお、複数枚GPUがある場合は、ディスプレイタブが2個ある場合もあります。
GPUドライバーのバージョン確認
GPUのドライバーのバージョンの確認をします。
まず、NVIDIAのドライバダウンロードのページに行きます。
そこに先ほど調べたGPUの情報を入力していきます。そして、検索をクリック。
そうすると、ドライバのバージョンが確認できます。また、ドライバは日々更新されていますので、再度ダウンロードしてインストールしておきます。
今調べたバージョンと、ご自身のPCのバージョンがあっていないとCUDAや、CuDNNの互換性がずれてしまうかもしれないので、ダウンロードしてインストールしておいてください。
GPUドライバーのバージョンにあったCUDA toolkit、cuDNNのバージョンを確認
つづいて、GPUのドライバとCUDA、cuDNNの互換性の確認です。
まずは、ドライバーとCUDAの互換性の確認です。
CUDA Toolkit Documentationのページに行きます。
ページを少し下がるとドライバーのバージョンとの互換性が確認できます。
私の場合、ドライバのバージョンが”461.09”だったのでCUDA Toolkitのバージョンは”CUDA 11.2.1 Update1″が対応していることが分かります。
このCUDA Toolkit のバージョンを覚えておきましょう。
続いて、CUDA ToolkitのバージョンとcuDNNのバージョン、CUDA Toolkitをコンパイルするソフトの確認です。
tensorflowのホームページに行きます。
そこで、上のインストールをクリック
左側に「windows」とありますので、それをクリック。
画面をスクロールしてページ中央ぐらいまで下がると、まずCPUの対応表がでてきて、その後にGPUの対応表が出てきます。
一番右側のCUDAのバージョンと先ほどしらべたバージョンを確認します。
私のGPUバージョンでは”11.2.1 Update1”とのことでしたが、表にはありません。
その為、”11.0”をインストールすることにします。その場合、cuDNNのバージョンは”8.0”、コンパイラは”MSVC2019”となり、Pythonのバージョンは3.6~3.8が対応。tensorflowは2.4.0が対応していることが確認できます。
なお、ビルドツールとして「Bazel3.1.0」とありますが、これはcuDNN
をビルドするツールですが、ZIPファイルとしてダウンロードできますのでここは無視して大丈夫です。
ここまでくれば、後はそれぞれインストールしていくだけです。
CUDA toolkitをコンパイルするソフトの確認
まずは、CUDA Toolkitのコンパイラをダウンロードします。コンパイラとはプログラムをコンピュータが分かる言語に変更するプログラムとなります。CUDA ToolkitはC++という言語で書かれているようです。C++はコードを書いて実行する時にはコンパイルする必要があるのですが、CUDA Toolkitも同様にコンパイルする必要があるようです。
そのコンパイラはVisual Studioに含まれています。”MSVC2019”とはVisual Studio2019をインストールすれば完了です。カスタムインストールでコンパイラだけインストールする事もできますが、面倒なので丸ごとインストールしてしまうことがお勧めです。もし、ご自分の対応しているものが”MSVC 2015 Update 3”であればVisual Studio2015 Update 3をインストールします。
インターネットで”Visual Studio 2019 ダウンロード”と検索し以下のページに行きます。
Visual Studio 2019の”コミュニティー版”をダウンロードしてインストールします。
インストールの際に気を付けることがあります。
”C++によるデスクトップ開発”にチェックを忘れないでください。
もし忘れてしまったら、コントロールパネルから”プログラムと機能”からVisual Studio2019を選択して”変更”から再度設定することが出来ます。
インストールが完了したら今度はCuda Toolkitのインストールに入ります。
CUDA toolkitをインストール
CUDA Toolkitダウンロードのページに行きます。
「Cuda Toolkit」のダウンロードをクリックします。クリックすると最新のバージョンのダウンロードページとなります。たのバージョンをダウンロードする場合は下の「Archive of Previous CUDA Releases」をクリックします。
今回、私はバージョン”11.2.0”をダウンロードしました。
ダウンロードページではOS、概要、のバージョン、インストールタイプを選択します。インストールタイプはファイルをダウンロードしてからインストールする場合は”exe(ローカル)”を選択し、ダウンロードしないでインストールする場合は”exe(ネットワーク)”を選択します。ローカルの方がお勧めです。
ダウンロードが終わって、インストールです。こだわりが無ければデフォルトで。
そのまま流れにそってインストールを続けていきます。
インストールオプションは高速で行いました。
インストールが完了したら、次はcuDNNのインストールです。
cuDNNのインストール
cuDNNのダウンロードのページに行きます。
「Download cuDNN」をクリックすると アカウントの登録が求められます。
初めての方は「Join now」をクリックします。
何個か質問に答えるだけで終了です。
ログインします。
「I Agree To the Terms of the」にチェックを入れます。
以前のバージョンをダウンロードしたい場合は下の
「Archived cuDNN Releases」をクリックします。
cuDNNのバージョンを選択する際に、CUDA Toolkitの対応バージョンも書いてありますので確認してからクリックします。
ダウンロード前に、再度CUDAの対応を確認しwindows対応のファイルを選択します。今回、私はcuDNNのv8.1.0の”cuDNN Library for Windows (x86)”
をダウンロードしました。
ダウンロードが完了したら、ファイルをデスクトップに解凍しましょう。
解凍したフォルダ内には「bin」「include」「lib」の3つのフォルダが出来上がります。
それらフォルダの中身をCuda Toolkitのフォルダにコピーします。
Cuda Toolkitのフォルダはデフォルトでインストールしているのなら
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2
なお、最後の「v11.2」はご自分がインストールしたバージョンとなります。
ここまででCuda Toolkitのセットアップから、cuDNNのセットアップまでが完了しました。
次回は、tensorflowのインストールから動作確認までを紹介したいと思います。
おつかれさまでした。