1.GeForce RTX 3060搭載WindowsPCでTensorFlowとCUDAを有効にするまとめ
・Tensorflow developer certificate受験用にPycharmでGPU付きTensorFlowをセットアップ
・プレインストールされているGeForce Experienceの影響でCUDAのインストールは失敗
・TensorFlowはCUDA toolkitとcuDNN SDKのバージョンを厳密に一致させる必要あり
2.WindowsPCでCUDAを有効にしたTensorFlowをセットアップする方法
決算セールでGeForce GTX 1650 SUPER搭載マシンを購入したつもりだったのですが、5日後に「現在欠品中で納期が何日になるのかわかりません」と連絡を受けたので、怒涛の勢いでキャンセルからの2月26日に発売されたばかりのGeForce RTX 3060搭載機の即納モデルを買ってしまいました。
そしてWindowsマシンなので楽勝だろうと思っていたTensorflow + CUDAのセットアップにかなり手こずりました。stackoverflow.comの先達の書き込みがなければインストールさえ出来なかったと思います。
Tensorflow developer certificate受験用にPycharmでGPUをONにしたTensorFlow環境を構築しようとする方も絶対にひっかかると思うのでセットアップ手順を簡単なメモ書きにしておきます。(なお、受験はGPUがないパソコンでも問題ないように考慮されているというお話なので本稿に書かれている事が必須なわけではありません。)
GeForce Experienceのアンインストール
まず、GeForceが搭載されているマシンはほぼゲーミングPC扱いになっていると思うのですが、そのため、電源を入れるとGeForce Experienceというツールがプレインストール、もしくは自動でインストールされると思います。GeForce Experienceは、各ゲームに最適な設定でGPUを動かすためのツールのようですが、これが入っていると、下記の用に
「NVIDIAインストーラーを続行できません。
You already have a newer version of the NVIDIA Frameview SDK installed」と言うエラーメッセージが出てCUDA Toolkitのインストールは失敗します。
これを回避するためには、プログラムの追加と削除より
・NVIDIA FrameView SDK
・NVIDIA GeForce Experience
・NVIDIA PhysX システムソフトウェア
の3つをアンインストールする必要があります。NVIDIA グラッフィックスドライバーとNVIDIA HD オーディオドライバを残しておけばアンインストールしても動作に支障はありません。
Visual Stdio 2019(MSVC 2019)
先にインストールしておかないとCUDAインストール中にCUDA Visual Studio Integrationのフル機能が使えないと警告が出るので無料のコミュニティ版(https://visualstudio.microsoft.com/ja/thank-you-downloading-visual-studio/?sku=Community&rel=16)をインストールします。
インストーラーを立ち上げC++をインストールします。
sing in等、アカウント登録を促されるかもしれませんが、登録有無はお好みで良いです。インストール後、再起動します。
CUDA Toolkit
次にCUDA Toolkitですが、tensorflowは、
https://www.tensorflow.org/install/source_windows#gpu
に書いてあるバージョンを厳密に要求します。
例えばtensorflow_gpu-2.4.0はCUDA11.0が必要と書いてありますが、11.0に合わせる必要があります。最新版は11.2ですが、11.0にしておいた方が無難と思います。(末尾の数字は気にしなくても大丈夫と書いていた人もいましたが、私は合わせました)。
ただ普通にCUDA Toolkitのダウンロードページ(https://developer.nvidia.com/cuda-toolkit)に行くと問答無用で最新版のダウンロードになってしまうので、アーカイブページ「https://developer.nvidia.com/cuda-11.0-update1-download-archive」から「CUDA Toolkit 11.0 Update 1 Downloads」をダウンロードしました。
ちなみにダウンロードボタンをおしてもダウンロードが始まらず、右クリック→保存、しましたがGoogle Chromeが「安全でないファイル」と言い出してダウンロードがブロックされたので、下▽から「継続」を選んでダウンロードさせています。
インストールは普通にクリックして実行できます。Custom installを選べと言っている人がいたので、Custom installを選びましたが、特に何も設定は変えませんでした。結果、ドライバは古いドライバで更新されますが、NVIDIA driverのVersionが450以上であれば大丈夫なようです。
インストールしたフォルダの場所は後で必要になるのでメモしておきましょう。
cuDNN SDK
次にcuDNN SDK(https://developer.nvidia.com/cudnn)ですが、NVIDIA Developer Program Membership が必要といわれるので持っていない方はJoin Nowからアカウントを作成しましょう。
cuDNN SDKもstackoverflow.comには8.0.4で動作確認できたと言う人がいたので8.0.4を使いました。
最新版ではなくcuDNN Archive(https://developer.nvidia.com/rdp/cudnn-archive)のほうにいって、
Download cuDNN v8.0.4 (September 28th, 2020), for CUDA 11.0
↓
cuDNN Library for Windows (x86)
をダウンロード
です。このファイルは単なるzipファイルでインストーラーはないので
cudnn-11.0-windows-x64-v8.0.4.30.zipを解凍するとcudaというフォルダができるので、それをディフォルトの場所らしき
C:\tools
にフォルダを作って解凍したcudaフォルダを移動します。
PATHの追加
Windows10の場合は左下のコルタナさんに「PATH」と入力して出て来る「システム環境変数の編集」をクリックし、
右下の「環境変数」を押して
上段のユーザ環境変数の「編集」ボタンを押して
「新規」で下記4行を追加します。
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.0\bin
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.0\extras\CUPTI\lib64
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.0\include
C:\tools\cuda\bin
「C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\」の部分はCUDAをインストールした場所に応じて適宜変更してください。「C:\tools\cuda\」もcuDNN SDKを移動した先のフォルダです。
そして、再起動です。
Pythonのインストール
Pycharmをインストールする前に、公式サイト(https://www.python.org/downloads/windows/)からオリジナルのPython3.8をダウンロードします。Anacondaではダメと書いてあったので、Anacondaではなく素のPythonをインストールします。3.9が既に出ていますが、2021年3月時点でも「https://www.tensorflow.org/extras/cert/TF_Certificate_Candidate_Handbook_ja.pdf?hl=ja」によれば試験はPython3.8を使うと書いてあるので3.8にしておきましょう。
「Download Windows installer (64-bit)」をダウンロードしてきて「Install Now」のボタンを押すだけです。
Pycharmのインストール
Jetbrainsのpycharmページ(https://www.jetbrains.com/ja-jp/pycharm/download/#section=windows)より、コミュニティ版「pycharm-community-2020.3.3.exe(348 MB)」をダウンロードします。
インストール後Pycharmを立ち上げ、後は「https://www.tensorflow.org/extras/cert/Setting_Up_TF_Developer_Certificate_Exam.pdf」に書かれている通りにセットアップして行けばよいです。
「New Project」を押して
Locationの所に「プロジェクト名」を追加し、Base InterPreterの箇所が先ほどインストールしたPython3.8になっている事を確かめ、Createボタンを押します。
プロジェクトが開きますが、ここから試験に必要なパッケージをインストールします。
左上メニューの「File」→「Settings…」を押して
出てきた画面で下から四番目の「Project:(先ほど設定したプロジェクト名)」をクリックし、下段に出て来る「Python Interpreter」を押し、出てきた画面の左下の「+」ボタンを押します。
パッケージのインストール画面が開くので上段の検索メニューに指定されているパッケージ名を記入して検索し、下段のInstall Packageボタンを押す事を繰り返します。
指定されているパッケージは以下の5つで、3つはVersionも指定されているので、新しいVersionが出ていても指定されたVersionにしておきましょう。
(1)tensorflow==2.4.1
(2)tensorflow-datasets==4.1.0
(3)Pillow==8.1.0
(4)numpy
(5)urllib3
インストールに成功すると下記メッセージが出て来るので、次のパッケージを検索してインストールします。
Versionが指定されているパッケージは右下の「Specify Version」のチェックボックスをチェックするとVersionが選べるようになります。
パッケージのインストールが完了したらインストールウインドウを閉じてプロジェクトの画面に戻ります。
print(“Hi Pycharm”)の下に下記2行を追加して右上の緑の三角マークをクリックします。
import tensorflow as tf
print(tf.__version)
下に赤文字で「Successfully opened dynamic library cudart64_110.dll」
と下段のログに表示されればライブラリのロードに成功しています。
Anacondaユーザ向けの捕捉
また、Tensorflow developer certificate受験はPycharmを使って行われますが、特に受験には興味がなくてPycharmではなくanaconda、condaを使ってTensorflowを動かしたい!と言う方向けの情報ですが、gpu対応版のtensorflowのインストールはcondaではダメでpipでインストールする必要があるらしいです。
pip install tensorflow
もし、condaでしたら環境をアクティブにした後に
conda install pip
で解決するそうです。ご参考までに。
3.GeForce RTX 3060搭載WindowsPCでTensorFlowとCUDAを有効にする関連リンク
1)stackoverflow.com
Installing CUDA Windows 10