WSL2 上の Ubuntu 24.04 で NVIDIA CUDA、PyTorch、TensorFlow(最新版)をセットアップする手順
本記事では、Windows Subsystem for Linux 2(WSL2)上のUbuntu 24.04 LTS環境において、NVIDIA GPUを活用した深層学習フレームワークであるPyTorchおよびTensorFlowをセットアップする手順を解説する。
【目次】
- はじめに
- 本記事の目的と前提
- 全体の流れ
- 前準備(Windows / WSL)
- PyTorch(最新版)のセットアップ(WSL Ubuntu)
- TensorFlow(最新版)のセットアップ(WSL Ubuntu)
- TensorFlowの簡単なプログラム例
- (オプション)CUDA / cuDNNの手動インストール
【サイト内の関連ページ】
はじめに
本手順は主に以下の公式ドキュメントを基に構成されている。
- NVIDIA CUDA on WSL User Guide: https://docs.nvidia.com/cuda/wsl-user-guide/index.html#abstract
- TensorFlow install guide: https://www.tensorflow.org/install/pip
- PyTorch Get Started: https://pytorch.org/get-started/locally/
tensorflow[and-cuda]パッケージの利用を推奨する。手動でのCUDA/cuDNNインストール手順もオプションとして記載するが、通常は自動インストールで十分である。
全体の流れは以下のとおりである。
- Windows側での前準備(WSL2有効化、NVIDIAドライバインストール)
- WSL Ubuntu 24.04環境の準備(カーネル確認)
- PyTorchのセットアップ(仮想環境利用を推奨)
- TensorFlowのセットアップ(仮想環境利用を推奨、自動依存関係解決)
- 各フレームワークの動作確認(GPU認識確認を含む)
- (オプション)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バージョンが必要である。
- Windows 11またはWindows 10 バージョン21H2以降
- 最新のWindows Updateを適用することを推奨する。
詳細は公式ドキュメント(https://docs.nvidia.com/cuda/wsl-user-guide/index.html#getting-started)を参照すること。
WSL 2とUbuntu 24.04のインストール
WSL2が未インストールの場合は、管理者権限のPowerShellまたはコマンドプロンプトで以下を実行する。
wsl --install
このコマンドにより、WSL2とデフォルトのUbuntuがインストールされる。特定のディストリビューションをインストールする場合は、Microsoft Storeを利用するか、wsl --install -d Ubuntu-24.04のようにディストリビューションを指定する。
詳細な手順は別ページ »も参照すること。
WSL 2 Ubuntuのカーネルバージョン確認
WSL2でGPUを利用するには、カーネルバージョン5.10.43.3以上が必要である。現在のWSL2では通常この要件を満たしている。
- Windowsで、コマンドプロンプトまたはPowerShellを実行する。
- インストール済みのUbuntu 24.04のカーネルバージョンを確認する。
- まず、
wsl -l -vでディストリビューション名とWSLバージョンを確認する(WSLバージョンが2であることを確認)。wsl -l -v - 次に、
wsl -d <ディストリビューション名> uname -rを実行して、Ubuntuのカーネルバージョンを表示させる。wsl -d Ubuntu-24.04 uname -r
- まず、
- 表示されたバージョンが5.10.43.3以上であることを確認する。現在のWSL2カーネルは通常5.15.x以上であり、この要件を満たしている。
wsl --updateを実行し、その後wsl --shutdownでWSLを再起動する。それでも更新されない場合は、Windows Updateの設定で「他のMicrosoft製品の更新プログラムを受け取る」がオンになっているか確認すること。
NVIDIAドライバのインストール(Windows側)
WSL2環境では、NVIDIAドライバはWindows側にのみインストールする。WSL(Ubuntu)側にはインストールしない。
- グラフィックスカードの種類を確認しておく(タスクマネージャーの「パフォーマンス」タブなど)。
- ドライバインストールの前に、WSLをシャットダウンする。WindowsのコマンドプロンプトまたはPowerShellで以下を実行する。
wsl --shutdown - NVIDIAドライバの利用条件は、次のページで利用者自身が確認すること。
- NVIDIA公式サイトから、最新のWindows用ドライバをダウンロードする。
【NVIDIAドライバのダウンロードページ】 https://www.nvidia.co.jp/Download/index.aspx?lang=jp
ダウンロードページでは、「Game Readyドライバ」と「Studioドライバ」が選択できる。CUDAを利用した開発や計算が主目的の場合、安定性に重点を置いた「Studioドライバ」が適している場合がある。「Game Readyドライバ」は最新ゲームへの最適化が優先される。用途に合わせて選択すること。
- ダウンロードしたファイルを実行して、画面の指示に従いインストールする。
- インストール完了後、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)を利用することを推奨する。
基本パッケージのインストール
sudo apt update sudo apt -y install python3-dev python3-pip python3-setuptools python3-venv仮想環境の作成と有効化(推奨)
プロジェクトごとに独立した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をインストールする。
- Webブラウザで、PyTorchの公式Webページを開き、「Get Started」セクションに進む。
- 自身の環境に合わせてオプションを選択し、表示される
pip installコマンドを確認する。- PyTorch Build: Stable(安定版)を選択する。
- Your OS: Linuxを選択する。
- Package: Pipを選択する。
- Language: Pythonを選択する。
- Compute Platform: CUDA 12.1または利用可能な最新のCUDAバージョンを選択する。GPUを使用しない場合はCPUを選択する。
「Run this Command」に表示されるコマンドを確認する。
- 表示されたコマンドをコピーし、Ubuntuターミナルで実行する。仮想環境内では
sudoは不要である。# 例(CUDA 12.1の場合、公式サイトで確認したコマンドを実行) pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121
動作確認(バージョン確認、GPU認識確認)
- PythonでPyTorchのバージョン確認を行う。
バージョン番号が表示されればインストールは成功である。
python3 -c "import torch; print( torch.__version__ )" - PyTorchでGPUが使用できるか確認する。
CUDA版をインストールした場合、次のコマンドを実行して
Trueが表示されれば、GPUが認識されている。python3 -c "import torch; print(torch.cuda.is_available())"
- PyTorchの簡単な動作確認を行う。
テンソルが表示されれば成功である。
# Python対話モード(python3)またはファイルに保存して実行 import torch x = torch.rand(5, 3) print(x)
TensorFlow(最新版)のセットアップ(WSL Ubuntu)
PyTorchと同様に、WSL Ubuntu 24.04ターミナルで作業を行う。
Python環境の準備
TensorFlow用にも仮想環境を作成することを推奨する。PyTorchと同じ仮想環境を使用することも可能だが、依存関係の衝突を避けるために別の環境を作成する方がよい場合がある。
基本パッケージのインストール(apt)
PyTorchのセクションで実施済みの場合は不要である。
sudo apt update sudo apt -y install python3-dev python3-pip python3-setuptools python3-venv仮想環境の作成と有効化(推奨)
PyTorchとは別の仮想環境を作成する場合の例を示す。
# プロジェクト用のディレクトリを作成し移動(例:tf_project) mkdir ~/tf_project cd ~/tf_project # 仮想環境を作成 python3 -m venv .venv # 仮想環境を有効化 source .venv/bin/activate # pipを最新版にアップグレード(推奨) pip install --upgrade pip
TensorFlowのインストール(自動依存関係解決)
現在のTensorFlowでは、pipでインストールする際に、CUDA およびcuDNNライブラリも同時にインストールできる。これにより、手動でのCUDA ToolkitやcuDNNのインストールが不要となる。
仮想環境が有効化されていることを確認し、以下のコマンドを実行する(sudoは不要)。
# TensorFlowとCUDA/cuDNN依存関係を自動でインストール
pip install tensorflow[and-cuda]
このコマンドは、NVIDIAドライバと互換性のあるCUDAおよびcuDNNライブラリをTensorFlowパッケージと共にインストールする。
エラーメッセージが出ていないことを確認する。
動作確認(バージョン確認、GPU認識確認)
TensorFlowのバージョン確認
次のコマンドを実行し、インストールされたTensorFlowのバージョンを確認する。
python3 -c "import tensorflow as tf; print( tf.__version__ )"バージョン番号が表示されれば成功である。
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)も参照すること。
- Windows側で最新のNVIDIAドライバが正しくインストールされているか(Windowsのコマンドプロンプトで
TensorFlowの簡単なプログラム例
簡単なPythonプログラムを実行してTensorFlowの基本的な動作を確認する。
Pythonプログラムの実行方法
これらのPythonプログラムを実行するには、以下のいずれかの方法がある。
- ファイルとして保存して実行:
- 下記のコードをテキストエディタ(例:
nano、vim)でhello.pyのようなファイル名で保存する。 - WSL Ubuntuターミナルで
python3 hello.pyのように実行する(仮想環境が有効なことを確認すること)。
- 下記のコードをテキストエディタ(例:
- Python対話モードで実行:
- ターミナルで
python3と入力し、Python対話モードを開始する(仮想環境が有効なことを確認すること)。 - 表示された
>>>プロンプトに対して、コードを入力し、Enterキーを押す。
- ターミナルで
- 次のPythonプログラムを実行してみる。
結果として「Hello, TensorFlow」を含むテンソル情報が表示されるので確認する。
import tensorflow as tf hello = tf.constant('Hello, TensorFlow!') tf.print(hello)
- 次のPythonプログラムを実行する。
結果として「42」を含むテンソル情報が表示されるので確認する。
import tensorflow as tf a = tf.constant(10) b = tf.constant(32) tf.print( a + b )
- 次のPythonプログラムを実行する(行列演算の例)。
結果として「12.0」を含むテンソル情報が表示されるので確認する。
import tensorflow as tf matrix1 = tf.constant([[3., 3.]]) matrix2 = tf.constant([[2.],[2.]]) tf.print( tf.matmul(matrix1, matrix2) )
(オプション)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をインストールする。
NVIDIAリポジトリとGPGキーの設定
NVIDIA CUDAダウンロードページ(https://developer.nvidia.com/cuda-downloads)でLinux > x86_64 > Ubuntu > 24.04 > deb(network)を選択し、表示される最新のコマンドを実行する。以下は一例である。必ず公式サイトで最新のコマンドを確認すること。
# ピン設定(ファイル名はバージョンにより変わる可能性あり) 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 updateCUDA 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のパスを環境変数に設定する必要がある場合がある。.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