WSL2 上の Ubuntu 24.04 で NVIDIA CUDA, PyTorch, TensorFlow (最新版) をセットアップする手順

目次

  1. はじめに
    • 本記事の目的と前提
    • 全体の流れ
  2. 前準備 (Windows / WSL)
  3. PyTorch (最新版) のセットアップ (WSL Ubuntu)
  4. TensorFlow (最新版) のセットアップ (WSL Ubuntu)
  5. TensorFlow の簡単なプログラム例
  6. (オプション) CUDA / cuDNN の手動インストール

サイト内の関連ページ

はじめに

本記事では、Windows Subsystem for Linux 2 (WSL2) 上の Ubuntu 24.04 LTS 環境において、NVIDIA GPU を活用した深層学習フレームワークである PyTorch および TensorFlow (最新版) をセットアップする手順を解説する。Windows 環境で Linux ベースの最新深層学習環境を構築する際の一助となることを目的とする。

本手順は主に以下の公式ドキュメントや最新の情報を基に構成されている。

注意: 本記事では、TensorFlow のインストールにおいて、必要な CUDA/cuDNN ライブラリを自動的にセットアップする `tensorflow[and-cuda]` パッケージの利用を推奨する。手動での CUDA/cuDNN インストール手順もオプションとして記載するが、通常は自動インストールで十分である。

全体の流れは以下の通りである。

  1. Windows 側での前準備 (WSL2有効化、NVIDIAドライバインストール)
  2. WSL Ubuntu 24.04 環境の準備 (カーネル確認)
  3. PyTorch (最新版) のセットアップ (仮想環境利用推奨)
  4. TensorFlow (最新版) のセットアップ (仮想環境利用推奨、自動依存関係解決)
  5. 各フレームワークの動作確認 (GPU認識確認含む)
  6. (オプション) CUDA / cuDNN の手動インストール手順

ソフトウェア類の利用条件は各自で確認すること。

前準備 (Windows / WSL)

NVIDIA 公式の WSL User Guide などを参考に、前準備を行う。

https://docs.nvidia.com/cuda/wsl-user-guide/index.html#abstract

Windows の要件確認

WSL 2 で NVIDIA GPU を利用するには、特定のバージョンの Windows が必要である。

詳細は公式ドキュメント (https://docs.nvidia.com/cuda/wsl-user-guide/index.html#getting-started) を参照すること。

WSL 2 と Ubuntu 24.04 のインストール

WSL2 が未インストールの場合は、管理者権限の PowerShell またはコマンドプロンプトで以下を実行する。

wsl --install

これにより、WSL2 とデフォルトの Ubuntu (通常は最新 LTS) がインストールされる。特定のディストリビューション (例: Ubuntu 24.04) をインストールしたい場合は、Microsoft Store を利用するか、`wsl --install -d Ubuntu-24.04` のようにディストリビューションを指定する。

詳細な手順は 別ページ » も参照すること。

WSL 2 Ubuntu のカーネルバージョン確認

WSL2 で GPU を利用するには、適切なカーネルバージョンが必要である。通常、現在の WSL2 であれば要件を満たしている。

  1. Windows で,コマンドプロンプトまたは PowerShell を実行する。
  2. インストール済みの Ubuntu 24.04 のカーネルバージョンを確認する。
    • まず、「wsl -l -v」でディストリビューション名と WSL バージョンを確認する (WSL バージョンが 2 であることを確認)。
      wsl -l -v
      
    • 次に、「wsl -d <ディストリビューション名> uname -r」を実行して,Ubuntu のカーネルバージョンを表示させる (例: Ubuntu-24.04)。
      wsl -d Ubuntu-24.04 uname -r
      
  3. 表示されたバージョンが、WSL 2 の GPU サポートに必要なバージョン(5.10.x 以上)であることを確認する。現在の WSL2 カーネルは通常 5.15.x 以上であり、この要件を満たしている。

カーネルバージョンが古い場合 (通常は発生しないが)、Windows コマンドプロンプトを管理者として開き「wsl --update」を実行し、その後「wsl --shutdown」で WSL を再起動する。それでも更新されない場合は、Windows Update の設定で「他の Microsoft 製品の更新プログラムを受け取る」がオンになっているか確認すること。

NVIDIA ドライバのインストール (Windows)

WSL2 環境では、NVIDIA ドライバは Windows 側にのみインストールする。WSL (Ubuntu) 側にはインストールしない。

  1. グラフィックス・カードの種類を確認しておく (タスクマネージャーの「パフォーマンス」タブなど)。
  2. ドライバインストールの前に、念のため WSL をシャットダウンする。Windows のコマンドプロンプトまたは PowerShell で以下を実行する。
    wsl --shutdown
    
  3. NVIDIA ドライバの利用条件などは,次のページで,利用者自身で確認すること.

    https://docs.nvidia.com/cuda/wsl-user-guide/index.html

  4. NVIDIA 公式サイトから、最新の Windows 用ドライバをダウンロードする。

    NVIDIA ドライバのダウンロードページ】 https://www.nvidia.co.jp/Download/index.aspx?lang=jp

    ダウンロードページでは、通常「Game Ready ドライバ」と「Studio ドライバ」が選択できる。CUDA を利用した開発や計算が主目的の場合、「Studio ドライバ」は安定性に重点を置いたテストが行われているため、より適している場合がある。「Game Ready ドライバ」は最新ゲームへの最適化が優先される。自身の用途に合わせて選択すること。

  5. ダウンロードしたファイルを実行して,画面の指示に従いインストールする。
  6. インストール完了後、Windows を再起動することが推奨される場合がある。

PyTorch (最新版) のセットアップ (WSL Ubuntu)

WSL Ubuntu の起動

Windows のコマンドプロンプトまたは PowerShell を開き、以下のコマンドで WSL Ubuntu 24.04 を起動する。

# デフォルトが Ubuntu 24.04 の場合
wsl

# ディストリビューション名を指定する場合
wsl -d Ubuntu-24.04

以降の手順は、この起動した Ubuntu ターミナル上で実行する。

必要な Python 環境の準備

PyTorch のインストールに必要な Python 関連の基本パッケージを apt でインストールする。また、パッケージ管理のために仮想環境 (venv) を利用することを強く推奨する。

  1. 基本パッケージのインストール

    sudo apt update
    sudo apt -y install python3-dev python3-pip python3-setuptools python3-venv
    
  2. 仮想環境の作成と有効化 (推奨)

    プロジェクトごとに独立した Python 環境を作成する。

    # プロジェクト用ディレクトリを作成し移動 (例: pytorch_project)
    mkdir ~/pytorch_project
    cd ~/pytorch_project
    
    # 仮想環境を作成 (例: .venv という名前で)
    python3 -m venv .venv
    
    # 仮想環境を有効化 (プロンプトの先頭に (.venv) が表示される)
    source .venv/bin/activate
    
    # pip を最新版にアップグレード (推奨)
    pip install --upgrade pip
    
    # (仮想環境を抜けるには deactivate コマンドを実行する)
    

PyTorch のインストール (pip)

仮想環境が有効化されていることを確認し、PyTorch をインストールする。

  1. パソコンの Web ブラウザで,PyTorch の公式 Web ページを開き、"Get Started" セクションに進む。

    https://pytorch.org/get-started/locally/

  2. 自身の環境に合わせてオプションを選択し、表示される `pip install` コマンドを確認する。
    • PyTorch Build: Stable (安定版) を選択する。
    • Your OS: Linux を選択する。
    • Package: Pip を選択する。
    • Language: Python を選択する。
    • Compute Platform: CUDA 12.1 または利用可能な最新の CUDA バージョンを選択する (通常、最新の NVIDIA ドライバは CUDA 12.x に対応している)。GPU を使用しない場合は CPU を選択する。

    「Run this Command」に表示されるコマンドを確認する。

  3. 表示されたコマンドをコピーし、Ubuntu ターミナルで実行する。仮想環境内では `sudo` は不要である。
    # 例 (CUDA 12.1 の場合、公式サイトで確認したコマンドを実行)
    pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121
    
    # もしくは、単に最新安定版をインストール (通常は CUDA 対応版が選択される)
    # pip3 install torch torchvision torchaudio
    

動作確認 (バージョン確認, GPU認識確認)

  1. Python でPyTorch のバージョン確認を行う。

    バージョン番号が表示されればインストールは成功である。

    python3 -c "import torch; print( torch.__version__ )"
    
  2. PyTorch で GPU が使用できるか確認する。

    CUDA 版をインストールした場合、次の Python コマンドを実行して `True` が表示されれば、GPU が認識されている。

    python3 -c "import torch; print(torch.cuda.is_available())"
    
  3. python3 で PyTorch の簡単な動作確認を行う。

    テンソルが表示されれば成功である。

    # Python対話モード (python3) またはファイルに保存して実行
    import torch
    x = torch.rand(5, 3)
    print(x)
    

TensorFlow (最新版) のセットアップ (WSL Ubuntu)

PyTorch と同様に、WSL Ubuntu 24.04 ターミナルで作業を行う。

必要な Python 環境の準備

TensorFlow 用にも仮想環境を作成することを強く推奨する。PyTorch と同じ仮想環境を使用することも可能だが、依存関係の衝突を避けるために別の環境を作成する方が安全な場合がある。

  1. 基本パッケージのインストール (apt)

    PyTorch のセクションで実施済みの場合は不要である。

    sudo apt update
    sudo apt -y install python3-dev python3-pip python3-setuptools python3-venv
    
  2. 仮想環境の作成と有効化 (推奨)

    PyTorch とは別の仮想環境を作成する場合の例を示す。

    # プロジェクト用のディレクトリを作成し移動 (例: tf_project)
    mkdir ~/tf_project
    cd ~/tf_project
    
    # 仮想環境を作成
    python3 -m venv .venv
    
    # 仮想環境を有効化
    source .venv/bin/activate
    
    # pip を最新版にアップグレード (推奨)
    pip install --upgrade pip
    

TensorFlow のインストール (推奨: 自動依存関係解決)

TensorFlow 2.16 以降では、`pip` で TensorFlow をインストールする際に、必要な CUDA および cuDNN ライブラリも同時にインストールできるようになった。これにより、手動での CUDA Toolkit や cuDNN のインストールが不要になり、プロセスが大幅に簡略化される。

仮想環境が有効化されていることを確認し、以下のコマンドを実行する (`sudo` は不要である)。

# TensorFlow と CUDA/cuDNN 依存関係を自動でインストール
pip install tensorflow[and-cuda]

このコマンドは、システムにインストールされている NVIDIA ドライバと互換性のあるバージョンの CUDA および cuDNN ライブラリを TensorFlow パッケージと共にインストールする。

エラーメッセージが出ていないことを確認する。

動作確認 (バージョン確認, GPU認識確認)

  1. TensorFlow のバージョン確認

    次のコマンドを実行し、インストールされた TensorFlow のバージョンを確認する。

    python3 -c "import tensorflow as tf; print( tf.__version__ )"
    

    最新のバージョンが表示されれば OK である。

  2. GPU が認識できているかの確認

    TensorFlow が GPU を認識できているか確認する。

    python3 -c "import tensorflow as tf; print(tf.config.list_physical_devices('GPU'))"
    

    出力に GPU デバイスの情報 (例: `[PhysicalDevice(name='/physical_device:GPU:0', device_type='GPU')]`) が含まれていれば、GPU が認識されている。空のリスト `[]` が返る場合は認識されていない。

    GPU が認識されない場合は、以下の点を確認すること。

    • Windows 側で最新の NVIDIA ドライバが正しくインストールされているか (Windows のコマンドプロンプトで `nvidia-smi` を実行)。
    • WSL Ubuntu ターミナルで `nvidia-smi` コマンドが実行でき、GPU 情報が表示されるか? (WSL2 の場合、通常 `/usr/lib/wsl/lib/nvidia-smi` にあるため、フルパスで実行するか、`PATH` に追加する必要があるかもしれない)。
    • TensorFlow をインストールした仮想環境が有効になっているか?
    • `pip install tensorflow[and-cuda]` がエラーなく完了したか? 問題があった場合は、仮想環境を再作成して再試行するか、手動での CUDA/cuDNN インストールを検討する。
    • WSL を再起動してみる (`wsl --shutdown` を Windows 側で実行後、再度 WSL を起動)。
    • NVIDIA の WSL User Guide (https://docs.nvidia.com/cuda/wsl-user-guide/index.html#abstract) も参照すること。

TensorFlow の簡単なプログラム例

簡単な Python プログラムを実行して TensorFlow の基本的な動作を確認する。TensorFlow の基本的な API はバージョン間で互換性が保たれていることが多い。

Python プログラムの実行方法

これらの Python プログラムを実行するには、以下のいずれかの方法がある。

  1. ファイルとして保存して実行:
    • 下記のコードをテキストエディタ (例: `nano`, `vim`) で `hello.py` のようなファイル名で保存する。
    • WSL Ubuntu ターミナルで `python3 hello.py` のように実行する。(仮想環境が有効なことを確認すること)
  2. Python 対話モードで実行:
    • ターミナルで `python3` と入力し、Python 対話モードを開始する。(仮想環境が有効なことを確認すること)
    • 表示された `>>>` プロンプトに対して、コードを入力し、Enter キーを押す。

* Python プログラムを動かすために,WSL 2Ubuntu では「python3」コマンドを使う。(仮想環境が有効な場合は、単に `python` でも良い場合がある)

(オプション) CUDA / cuDNN の手動インストール

`pip install tensorflow[and-cuda]` で問題が発生する場合や、特定のバージョンの CUDA Toolkit / cuDNN をシステム全体にインストールしたい場合は、以下の手順で手動インストールを行うことができる。これは Ubuntu 24.04 LTS での手順である。

注意: この手順を実行する前に、`tensorflow[and-cuda]` でインストールされた可能性のある CUDA/cuDNN 関連パッケージ (例: `nvidia-cudnn-cu12`, `nvidia-cuda-nvrtc-cu12` など) を `pip uninstall` で削除しておくことが推奨される。

CUDA Toolkit のインストール

NVIDIA の公式リポジトリから、Ubuntu 24.04 向けの CUDA Toolkit (例: CUDA 12.x の最新版) をインストールする。

  1. NVIDIA リポジトリと GPG キーの設定

    NVIDIA CUDA ダウンロードページ (https://developer.nvidia.com/cuda-downloads) で Linux > x86_64 > Ubuntu > 24.04 > deb (network) を選択し、表示される最新のコマンドを実行する。以下は一例 (CUDA 12.5 の場合など)。必ず公式サイトで最新のコマンドを確認すること。

    # ピン設定 (ファイル名はバージョンにより変わる可能性あり)
    wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2404/x86_64/cuda-ubuntu2404.pin
    sudo mv cuda-ubuntu2404.pin /etc/apt/preferences.d/cuda-repository-pin-600
    
    # リポジトリキーリングのインストール (ファイル名はバージョンにより変わる可能性あり)
    wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2404/x86_64/cuda-keyring_1.1-1_all.deb
    sudo dpkg -i cuda-keyring_1.1-1_all.deb
    sudo apt-get update
    
  2. CUDA Toolkit パッケージのインストール

    インストールしたい CUDA Toolkit バージョンを指定してインストールする (例: `cuda-toolkit-12-5`)。`cuda-toolkit` を指定すると利用可能な最新版がインストールされることが多い。

    sudo apt-get -y install cuda-toolkit-12-5
    # または単に最新版をインストール
    # sudo apt-get -y install cuda-toolkit
    

cuDNN のインストール

CUDA Toolkit に対応する cuDNN をインストールする。Ubuntu 24.04 / CUDA 12.x の場合、`libcudnn9` パッケージなどが利用可能である。

sudo apt-get update
# ランタイムライブラリと開発用ヘッダをインストール
sudo apt-get install libcudnn9 libcudnn9-dev

インストールする cuDNN のバージョンは、使用する TensorFlow や PyTorch のバージョンとの互換性を確認すること。

環境変数の設定

手動でインストールした CUDA Toolkit のパスを環境変数に設定する必要がある場合がある (通常、TensorFlow/PyTorch は自動で見つけることが多いが、念のため)。`.bashrc` などに追記する。

# 例: CUDA 12.5 をインストールした場合
echo 'export PATH=/usr/local/cuda-12.5/bin:${PATH}' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH=/usr/local/cuda-12.5/lib64:${LD_LIBRARY_PATH}' >> ~/.bashrc
source ~/.bashrc

設定後、`nvcc --version` で CUDA Toolkit のバージョンが表示されるか確認する。

nvcc --version