tensorflow_gpu2.6.0 windows10 anaconda

windows10 RTX3060
RTX3060を購入したので、新規セットアップをしました。

cuda cudadnn tensorflowのバージョンを小数1桁まで厳密に合わせないとはまります。
https://www.tensorflow.org/install/source_windows#gpu
今回はこのリンクから、以下の設定を行っていく。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1520250/0cd9686d-e405-b157-22b1-ae12bb6aedb3.png)
同一ページで、言語を英語にしたら最新情報があった。tensorflow2.5.0の計画だったが2.6.0をインストールしよう。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1520250/afef18af-8e2e-ca7b-361e-e5d56c383fe5.png)

金子研のHPによるとtensorflow2.5 2.6でcuda11.4, 11.3も動くらしいので多少緩くなってる？
https://www.kkaneko.jp/tools/win/cuda.html


##GPUドライバのインストールとバージョンの確認
windowsをインストールした際にはあり合わせのドライバで映像表示されるだけなので、NVidiaからドライバをDLしてセットアップしようと思う。
https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html を参考に、利用するドライバのバージョンを選定する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1520250/84794c68-f699-688e-859b-f7f842b91343.png)
この表から、cuda11.2では461.33以上を選べばよさそう。

ドライバはGameReady driverとStudio driverがあるが、Studio driverは安定版的なものらしい。

ver460.89をインストールしたかったが、ドライバのインストールが途中で止まってしまいうまく行かない。このバージョンに近い、リリースノートにcuda11.2の記載があるバージョンもうまく行かない。


このため、Nvidia Experience をインストールして、そこからドライバをインストール（バージョンが選べなかった）した。ドライバ471.68がインストールされていた。ドライバのリリースノートには以下のようにcuda11.4と記載があるが、このあと修正できるのか？
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1520250/a307c3c7-c2ca-54ba-7a54-89bd86093678.png)
なお、この時点でSony NNC210はGPU利用可能な状態。

この後の、nvidia-smiでもcuda11.4って出てくるけど、ドライバインストールの時にはcudaはインストールされないのでは？後ほどcudaをインストールするフォルダの近くにも見つからないし。

##アナコンダのインストール
アナコンダのサイトhttps://www.anaconda.com/products/individual-d#Downloads　からwindows用python3.8 Anaconda3-2021.05-Windows-x86_64.exe（2021.9最新板） をDLしてインストール。
pathを通すをチェックアウト　デフォルトpthonにするをチェックアウト
アナコンダプロンプト　ver確認　python -V   -> python３．８．８

##nvccのセッティング
vs_buildtoolsをインストール。C++によるデスクトップ開発にチェックを入れて、詳細画面のwin10sdkだけ外す。

DLサイトhttps://visualstudio.microsoft.com/ja/visual-cpp-build-tools/
今回利用：vs_buildtools__1267892087.1631517128.exe
参考HP
https://www.kkaneko.jp/tools/win/cuda.html#S1
https://www.kkaneko.jp/tools/win/buildtool.html

コマンドプロンプトでnvccが使える確認。－＞使えない。
別のマシンではC:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.0\bin\nvcc.exe に見つかるのでcudaのインストールで使えるようになるのか？？
cuda11.2のインストール終了画面で、nvccのコンポーネントがインストールされたと表示が出る。

##cudaのセッティング　
https://developer.nvidia.com/cuda-toolkit-archive
からcuda11.2.2を選ぶ。

DLしてインストール。
cmdからはnvcc見えない。パスが通っていないだけで、C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2\bin　に移動するとnvcc -Vでバージョン表示cuda11.2された。
アナコンダプロンプトはパスが通っているらしく、nvcc -Vでバージョン表示cuda11.2。
windowsのpowershellもパスが通っているcuda11.2。

ところが、同じプロンプトでnvidia-smiを実行するとCUDA Version11.4といずれのターミナルでも表示される。どうなっているのか。

とりあえず、バージョン違いは放置して、cudnnにすすむ。we


##cudnnのインストール
nvidiaでログインしてDownload cuDNN のアーカイブから
Download cuDNN v8.1.1 (Feburary 26th, 2021), for CUDA 11.0,11.1 and 11.2を選び、さらにcuDNN Library for Windows (x86)を選択。x64は選択にない。


ダウンロードして解凍、C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.0にコピー。すでに同名のフォルダはあるので中身を選択してコピーする。(bin include lib\x64の３カ所)
pathはC:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.0にすでに通っているよう。マイコンピュータ右クリック、システムのプロパティ環境変数で念のため確認。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1520250/83c3d842-c08f-12f9-b426-65f2d5314e8a.png)

##tensorflow2.6.0のインストール（アナコンダプロンプトから）

アナコンダプロンプト管理者でconda install -y tensorflow=2.6.0 は途中で止まってしまう。
pip install tensorflow-gpu==2.6.0　を代わりに使う。今回はインストールできた模様。conda とpipは混ぜるな危険といっているサイトがあったので、今後はcondaでパッケージのインストールはしない方がよさそう。


。jupyterでtensorflowのimport可能になった。
##tensorflowの確認





ここまでやって、GPU稼働が確認できた。jupyter notebookで
from tensorflow.python.client import device_lib
device_lib.list_local_devices()
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1520250/6e4b119c-d7d5-0084-ea3e-83949577a680.png)