1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Ubuntu 24.04 + RTX3070でTensorFlowをGPU対応するまで【環境構築メモ】

Last updated at Posted at 2025-04-28

概要

TensorFlowを、自宅PCに積んでいるGPUを用いて動かすように設定したので、その手順を自分の備忘録も兼ねて説明していきたいと思います。


使用OSバージョン、GPU

  • OS : Ubuntu (Ubuntu 24.04.1 LTS)
  • GPU : GeForce RTX 3070

必要な対応 (下記をインストール)

  • NVIDIA® GPU ドライバ
  • CUDA® ツールキット(TensorFlow は 2.5.0 以降)
  • cuDNN SDK 8.1.0
    GPUサポートにソフトウェア要件及びインストールサイトが記載されていますので、最新状況はこちらを確認してください。

NVIDIA® GPU ドライバをインストールする

1. こちらのサイトへアクセスし、インストールドライバをダウンロードする。

下記コマンドで、自分が使用しているGPUの詳細情報を確認することができます。
今回の場合は、「NVIDIA GeForce RTX 3070」と記載されているので、こちらに対応したドライバをダウンロードします。

nvidia-smi

+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 570.144 Driver Version: 570.144 CUDA Version: 12.8 |
|-----------------------------------------+------------------------+----------------------+
| 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 RTX 3070 Off | 00000000:07:00.0 On | N/A |
| 0% 44C P8 20W / 220W | 572MiB / 8192MiB | 26% Default |
| | | N/A |
+-----------------------------------------+------------------------+----------------------+

+-----------------------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=========================================================================================|
| 0 N/A N/A 2348 G /usr/lib/xorg/Xorg 160MiB |
| 0 N/A N/A 2643 G /usr/bin/gnome-shell 105MiB |
| 0 N/A N/A 3341 G .../6042/usr/lib/firefox/firefox 252MiB |
+-----------------------------------------------------------------------------------------+

2. UbuntuをCUIの画面に変更する

ダウンロードしたファイルをコマンドからインストールする際、GUIが起動したままだとGPUが使用中の状態となり、インストール時に不具合が発生する可能性があります。
そのため、下記コマンドを実行してCUIの状態にして再実行をする必要があります。

sudo systemctl isolate multi-user.target

3. 先程保存したディレクトリへ移動し、.run(先ほどダウンロードしたファイル)を実行する

CUIに切り替えたあと、ログインが必要になる場合があります。

cd path/to/your/directory
sudo ./NVIDIA-Linux-x86_64-570.144.run

CUDA® ツールキットをインストールする


CUDAとは

「NVIDIAのGPUを用いて、計算を爆速で行うための仕組み」です。
本来GPUは、ゲームグラフィックを描くためのチップだけれども「、大量に簡単な計算を一気に並列処理できる」特性があるため、NVIDIAがGPU用に作ったプログラミング用の仕組みです。
こいつをインストールしないと、TensorFlowの処理がとんでもなく時間かかってしまうわけですね。


1. CUDAのサイトへアクセスし、インストールドライバをダウンロードする

今回インストールするのは、「CUDA 11.8」になりますので、「CUDA Toolkit 11.8.0 (October 2022), Versioned Online Documentation」をダウンロードします。

ubuntuの方は下記を指定していただければ大丈夫です。

  • Operating System : Linux
  • Architecture : ☓86_64
  • Distribution : Ubuntu
  • Version : 22.04

versionだけそれぞれ異なると思うので、下記コマンドを実行して確認をしてください。
最新バージョン(24.04.1 LTS)の場合は、22.04をダウンロードして大丈夫です。
○○に注意してください。

lsb_release -a

2. 上記を指定すると、下記コマンドが表示されるので実行する

# ① CUDAのリポジトリ設定ファイルをダウンロード
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-ubuntu2204.pin

# ② それを /etc/apt/preferences.d/ に移動
sudo mv cuda-ubuntu2204.pin /etc/apt/preferences.d/cuda-repository-pin-600

# ③ CUDA 11.8本体のインストーラをダウンロード
wget https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda-repo-ubuntu2204-11-8-local_11.8.0-520.61.05-1_amd64.deb

# ④ ダウンロードした.debパッケージをインストール
sudo dpkg -i cuda-repo-ubuntu2204-11-8-local_11.8.0-520.61.05-1_amd64.deb

# ⑤ セキュリティキー(GPGキー)を登録
sudo cp /var/cuda-repo-ubuntu2204-11-8-local/cuda-*-keyring.gpg /usr/share/keyrings/

# ⑥ aptのパッケージリストを更新
sudo apt-get update

# ⑦ CUDA本体をインストール!
sudo apt-get -y install cuda

3. 下記エラーが発生した場合、4以降の対応をする

このエラーの内容は、「CUDA 11.8をインストールしようとしたが、その中のツール(nsight-systems-2022.4.2)がlibtinfo5っていう古いライブラリに依存してるが、だけどUbuntu 24.04にはもうlibtinfo5が無い」ということです。

インストールすることができないパッケージがありました。おそらく、あり得
ない状況を要求したか、(不安定版ディストリビューションを使用しているの
であれば) 必要なパッケージがまだ作成されていなかったり Incoming から移
動されていないことが考えられます。
以下の情報がこの問題を解決するために役立つかもしれません:

以下のパッケージには満たせない依存関係があります:
 nsight-systems-2022.4.2 : 依存: libtinfo5 しかし、インストールすることができません
E: 問題を解決することができません。壊れた変更禁止パッケージがあります。
user@user-2412:~$ sudo apt-get -o Dpkg::Options::="--force-overwrite" install cuda-toolkit-11-8
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています... 完了        
状態情報を読み取っています... 完了        
インストールすることができないパッケージがありました。おそらく、あり得
ない状況を要求したか、(不安定版ディストリビューションを使用しているの
であれば) 必要なパッケージがまだ作成されていなかったり Incoming から移
動されていないことが考えられます。
以下の情報がこの問題を解決するために役立つかもしれません:

以下のパッケージには満たせない依存関係があります:
 nsight-systems-2022.4.2 : 依存: libtinfo5 しかし、インストールすることができません
E: 問題を解決することができません。壊れた変更禁止パッケージがあります。

ということで、対策として「本当に必要な最小限パッケージだけを個別インストール」をします。
✅ cuda-compiler-11-8
✅ cuda-cudart-11-8
✅ cuda-libraries-11-8
✅ cuda-cupti-11-8
✅ cuda-nvcc-11-8

sudo apt-get install cuda-compiler-11-8 cuda-cudart-11-8 cuda-libraries-11-8 cuda-cupti-11-8 cuda-nvcc-11-8

4. 先程インストールしたCUDAにパスを切り替える。

これではまだ別のCUDAのバージョンが参照されてしまっているため。

nano ~/.bashrc
export PATH=/usr/local/cuda-11.8/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-11.8/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
source ~/.bashrc

cuDNN SDK 8.6.0をインストールする


cuDNN(CUDA Deep Neural Network library)とは

AI学習用の「畳み込み層」「LSTM」「Pooling」みたいな処理をめちゃくちゃ高速化する専用ライブラリです。
TensorFlowやPyTorchみたいな機械学習フレームワークは、基本的に「cuDNN前提」で最適化されてるので、インストールしないと、学習速度や推論速度が数倍〜数十倍遅くなることもあるので、インストールすることを推奨されています。


1. cuDNN バージョンのサイトへアクセスし、インストールドライバをダウンロードする

警告
初めて使用する場合は、アカウント登録が必要になりますので、登録をしてください。

先ほどインストールしたCUDA Toolkitのバージョンが「11.8」の為、公式に対応しているcuDNNのバージョンである「8.6系」である「cuDNN v8.6.0 (October 3rd, 2022), for CUDA 11.x」をダウンロードします。
ダウンロードファイル一覧が表示されます。
今回は、「CUDA 11.8+cuDNN 8.6.0はUbuntu20.04」用に公式に最適化されてるので、「Local Installer for Ubuntu20.04 x86_64 (Deb)」をダウンロードして実行します。

# cuDNNの.debをインストール
sudo dpkg -i cudnn-local-repo-ubuntu2004-8.6.0.163_1.0-1_amd64.deb

# GPGキー登録
sudo cp /var/cudnn-local-repo-ubuntu2004-8.6.0.163/cudnn-*-keyring.gpg /usr/share/keyrings/

# apt更新
sudo apt-get update

# cuDNNパッケージインストール
sudo apt-get install libcudnn8 libcudnn8-dev libcudnn8-samples

2. LD_LIBRARY_PATHを設定する

export LD_LIBRARY_PATH=/usr/local/cuda-11.8/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

python3.10の仮想環境を構築する

警告
TensorFlow 2.15は3.11までしか対応していない為。

1. python3.10をインストールする

sudo apt-get update
sudo apt-get install python3.10 python3.10-venv
sudo apt update
sudo apt install -y build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev git

curl https://pyenv.run | bash
sudo apt update
sudo apt install -y build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev git

2. .bashrc という設定ファイルの一番下に、この設定を追加する。

nano ~/.bashrc

export PYENV_ROOT="$HOME/.pyenv"
[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init - bash)"
eval "$(pyenv virtualenv-init -)"

source ~/.bashrc

3. 仮想環境を作成

python -m venv .venv

4. 仮想環境にアクセスする

source .venv/bin/activate

5. TensorFlowをインストール

pip install tensorflow==2.15.0

以上でTensorFlowでGPUを動かす手順の説明を終わります。
これが皆さんの環境構築の手助けになることを祈ります。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?