🌊

Jupyter on AnacondaでGPUを使う

2022/07/08に公開

はじめに

jupyterを使って機械学習する際、GPU使いたいなーと思ったので環境整備してみました。

いくつかの記事を参考にしたのですが、最近(2022/07/08)の記事がなかったので改めてまとめておきます。

環境

  • windows10
  • CPU ryzen 7 5000番台
  • GPU Geforce RTX 3050 ラップトップ版

今回は
tensorflow-gpu==2.6.0
を利用します。

以下のサイトでバージョンを合わせるのが最重要事項です。
適宜自分のtensorflowに合わせて確認しましょう。
https://www.tensorflow.org/install/source?hl=ja#tested_build_configurations

tensorflow-gpu==2.6.0にあうcuDNN, CUDAのバージョンを探すと
cuDNN==8.1
CUDA==11.2
なのでこれを使います。
pythonのバージョンは3.6~3.9の指定なので今回は3.9を使います。

また、今回はAnacondaで仮想環境を新たに作ります。
以下の画像のCreateからpython3.9番台を選んで新しい仮想環境を作ってください。

手順

  • CUDA toolkitのダウンロード
  • cuDNNのダウンロード
  • パスの設定
  • Tensorflow-gpuのインストール
  • 動作確認

CUDA toolkitのダウンロード

以下からver11.2を落とします。
今回は11.2.0を選びました。
https://developer.nvidia.com/cuda-toolkit-archive

クリックするとこんな画面になるので、
windows, x86_64, 10, exe(local)を選んでダウンロードしましょう。

あとはダウンロードしたexeをクリックして、インストーラに従ってダウンロードしてください。

cuDNNのダウンロード

次に、以下のリンクからcuDNNを落とします。
どこかでアカウント登録が必要になるので、しておいてください。
https://developer.nvidia.com/rdp/cudnn-archive

こんな画面になるので、cudaの11.2に合わせたバージョンを使います。
私はv8.1.1を利用しました。

cuDNN Library for Windowsを選んでダウンロードしましょう。

最後にzipファイルを 
C:\tools\cuda\bin
に解答してください。

パスの設定

システム環境変数のPATHに以下のディレクトリを追加します。
私はあまり分からなかったので、ユーザー変数のPathにも一応追加しました。

  • C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2\bin
  • C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2\extras\CUPTI\lib64
  • C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2\include
  • C:\tools\cuda\bin


    ちなみにSystem32って書いてあるパスが消えるとjupyter起動しなくなるので注意してください。

Tensorflow-gpuのインストール

Anacondaプロンプトを開いて、以下のようにうちます。
pip install tensorflow-gpu==2.6.0

動作確認

test.py
from tensorflow.python.client import device_lib
device_lib.list_local_devices()

と書いたファイルを作成し、Anacondaプロンプトで実行してみます。

こんな感じになってたらOKです。

まとめ

今回はJupyterでGPUを使う方法について述べました。
めちゃくちゃ大変だったので、少しでも参考になれば幸いです。

以下に参考リンクを貼っておきます。
https://qiita.com/nemutas/items/c7d9cca91a7e1bd404b6

Appendix

その他にも色々Errorが出たので、備忘録的に対処法を記載します。

jupyterでkerasを使ったときのエラー

tensorflow.python.framework.errors_impl.AlreadyExistsError: Another metric with the same name already exists
と出たので以下の記事を参考にしました。

https://qiita.com/oozzZZZZ/items/3728408c874bf97fc5f5

pip listをするとkeras==2.9.0だったので、
pip install keras==2.6.*をすると私も動きました。

jupyterがExit code: 1となり起動しない

https://teratail.com/questions/le5qt2vu4wngi4

Tensowflow "Could not load dynamic libary 'cudart64_110.dll'; dlerror: cudart64_110.dll not found

https://qiita.com/takuma-jpn/items/341ea76338265f277c9c

NVIDIAインストーラーを続行できません。You already have a newer version of the NVIDIA Frameview SDK installed

https://webbigdata.jp/study/post-9499

PermissionError:[WinError 5]アクセスが拒否されました

https://www.web-dev-qa-db-ja.com/ja/python/permissionerror:winerror-5アクセスが拒否されました:-'c:-program-files-anaconda3-pkgs-vs2015runtime140251230tmp/830376139/

Discussion