20210730のTensorFlowに関する記事は1件です。

RTX30XX 系で Tensorflow を安定動作させる

簡単にまとめると CUDA 11.3 のインストール cuDNN 8.2 系のインストール pip install tensorflow==2.5.0 tf.test.is_gpu_available() で確認 私の環境 OS Ubuntu 20.04LTS Device RTX3060 クリーンインストール直後を想定してます。 これまでの問題 CUDA 11.0 cuDNN 8.0.4 Tensorflow 2.4.0 で tf.keras を使ってCNNしたいが、なぜか Dense は動くのに Conv2D が動かない。魔法のコード(記事最下段)を入力してなんとなく動くようになっても ptxas? のエラーコードが邪魔だし遅い。 今回このあたりの解決を確認済み。 前準備 アップデート sudo apt update sudo apt upgrade nouveau の無効化。このへんを参照。 /etc/modprobe.d/blacklist-nouveau.conf blacklist nouveau options nouveau modeset=0 sudo update-initramfs -u 再起動して lsmod | grep -i nouveau して nouveau 無効化を確認。何も出てこなかったらOK。 一応いれとく sudo apt install build-essential CUDA Driver & CUDA 11.3 のインストール 以下ページをめちゃくちゃ参考にしています。なんならここをみてやったほうがいいかも。ただ、インストールするバージョンだけ違うので注意。 NVIDIA グラフィックスドライバ,NVIDIA CUDA ツールキット 11.0,NVIDIA cuDNN 8.0.5 のインストール(Ubuntu 上) 金子邦彦研究室 リポジトリの登録 sudo wget -O /etc/apt/preferences.d/cuda-repository-pin-600 https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-ubuntu2004.pin sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/7fa2af80.pub sudo add-apt-repository "deb http://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/ /" CUDAのインストール。ドライバも一緒に入ります。 sudo apt -y install cuda-11-3 インストールが終わったら、以下でパスを通す。 export CUDA_PATH=/usr/local/cuda-11.3 echo 'export CUDA_PATH=/usr/local/cuda-11.3' >> ${HOME}/.bashrc export LD_LIBRARY_PATH=/usr/local/cuda-11.3/lib64:${LD_LIBRARY_PATH} echo 'export LD_LIBRARY_PATH=/usr/local/cuda-11.3/lib64:${LD_LIBRARY_PATH}' >> ${HOME}/.bashrc export PATH=/usr/local/cuda-11.3/bin:${PATH} echo 'export PATH=/usr/local/cuda-11.3/bin:${PATH}' >> ${HOME}/.bashrc 再起動。ドライバの動作確認 nvidia-smi Fri Jul 30 15:11:59 2021 +-----------------------------------------------------------------------------+ | NVIDIA-SMI 470.57.02 Driver Version: 470.57.02 CUDA Version: 11.4 | |-------------------------------+----------------------+----------------------+ | GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | | | | MIG M. | |===============================+======================+======================| | 0 NVIDIA GeForce ... On | 00000000:01:00.0 Off | N/A | | 0% 49C P8 16W / 170W | 732MiB / 12053MiB | 7% Default | | | | N/A | +-------------------------------+----------------------+----------------------+ +-----------------------------------------------------------------------------+ | Processes: | | GPU GI CI PID Type Process name GPU Memory | | ID ID Usage | |=============================================================================| | 0 N/A N/A 966 G /usr/lib/xorg/Xorg 100MiB | | 0 N/A N/A 1503 G /usr/lib/xorg/Xorg 302MiB | | 0 N/A N/A 1672 G /usr/bin/gnome-shell 54MiB | | 0 N/A N/A 2191 G ...AAAAAAAAA= --shared-files 93MiB | | 0 N/A N/A 2444 G /usr/lib/firefox/firefox 166MiB | | 0 N/A N/A 2757 G /usr/lib/firefox/firefox 2MiB | +-----------------------------------------------------------------------------+ 右上の CUDA Version: 11.4 は関係ないので無視。 nvcc の確認もしましょう。 nvcc -V nvcc: NVIDIA (R) Cuda compiler driver Copyright (c) 2005-2021 NVIDIA Corporation Built on Mon_May__3_19:15:13_PDT_2021 Cuda compilation tools, release 11.3, V11.3.109 Build cuda_11.3.r11.3/compiler.29920130_0 cuDNNのインストール リポジトリの登録。 cd /tmp wget https://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu2004/x86_64/nvidia-machine-learning-repo-ubuntu2004_1.0.0-1_amd64.deb sudo dpkg -i nvidia-machine-learning-repo-ubuntu2004_1.0.0-1_amd64.deb sudo apt-key adv --fetch-keys http://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1804/x86_64/7fa2af80.pub sudo apt update 入れれるパッケージ名を確認 apt-cache search cudnn 確認したパッケージをインストール sudo apt -y install libcudnn8 libcudnn8-dev TensorFlow 2.5.0 の動作には cuDNN 8.2系が必要みたいで、現時点(2021/7/30)時点では上のコマンドで8.2.2が入るため問題ないですが、将来的に必ずしもこのコマンドで所望のバージョンが得られるかはわかりません。 インストールされたパッケージリストの取得 dpkg -l | grep cuda Anaconda のインストール Pythonの仮想環境として Anaconda を使います。なんでもいいというか、むしろ pyenv のほうが望ましいかもしれませんが、Anacondaに慣れてしまった&問題なく動いているためこれでいきます。 ホームページからLinuxインストーラをダウンロードし、ダウンロードしたディレクトリでシェルを実行します。 bash Anacondaうんたらかんたら.sh ぜったいに sudo でしないこと。 あとはぽちぽち指示通りにインストールするだけでOK。ターミナルを再起動すると頭に (base) とついて、Anacondaが動いてることを確認できます。 環境を作成してTensorflowのインストール 仮想環境の作成 conda create -n tensorflow python=3.8 できたら conda activate tensorflow して tensorflow 環境に入る。 conda activate tensorflow Anaconda では conda コマンドを使用してあれこれパッケージを入れるのが普通ですが、私はこれを仮想環境としてしか使っていないので、普通に pip で入れます。一応それぞれちゃんと Anaconda のものが動いていることを確認。 which pip which python anaconda3 の文字があればOK。 そしたら、pip でインストール pip install numpy pillow matplotlib opencv-contrib-python pip install tensorflow==2.5.0 tensorflow_datasets tensorflow-hub できたら、pythonコマンドでPython REPLを起動して、 import tensorflow as tf tf.test.is_gpu_available() でGPUが使えるか確認。True がでたらOK。  備考 CUDA 11.1以上でないとRTX30series はサポートされないらしい。 公式HPに記載の Tensorflow 2.4.0 は CUDA 11.0は動くけど CUDA 11.1 は動かないらしい。 今回の方法でやれば、RTX30series を CUDA 11.0、cuDNN 8.0.4、Tensorflow 2.4.0 で無理やり動かしたときに必要な from tensorflow.compat.v1 import ConfigProto from tensorflow.compat.v1 import InteractiveSession config = ConfigProto() config.gpu_options.allow_growth = True session = InteractiveSession(config=config) は不要。
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む