AI開発の現場でもっともよく遭遇するつまずきのひとつが、PyTorchやCUDAのインストールエラーです。「pipでインストールしたのにGPUが認識されない」「cuda versionが合わない」「torch.cuda.is_available() が False になる」――こうした問題は、原因さえ把握できれば確実に解決できます。
まず試す最短の解決策
多くの場合、原因はドライバーと合わないCUDAビルドのPyTorchを入れていることです。nvidia-smi の右上に出る最大CUDAバージョンを確認し、次を実行してみてください。
pip uninstall torch torchvision torchaudio -y
pip cache purge
# ドライバーの最大CUDAバージョンに合う cuXXX を選ぶ
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121その後 python -c "import torch; print(torch.cuda.is_available())" で確認します。これでも False のままなら、以下の原因と手順を順に確認していきましょう。個人開発で何度もこのエラーに遭ってきた私自身が、実際にたどっている確認順です。
よくある症状と発生パターン
PyTorchのインストール時に遭遇しやすいエラーを症状別に分類します。
症状A: pipインストール後にGPUが使えない
import torch
print(torch.cuda.is_available())
# → False(本来はTrueになるはず)症状B: CUDAバージョン不一致エラー
RuntimeError: CUDA error: no kernel image is available for execution on the device
UserWarning: CUDA initialization: CUDA unknown error
症状C: pipインストール自体が失敗する
ERROR: Could not find a version that satisfies the requirement torch==2.5.0+cu121
ERROR: No matching distribution found for torch==2.5.0+cu121
症状D: インポート時にライブラリ読み込みエラー
ImportError: libcuda.so.1: cannot open shared object file: No such file or directory
OSError: CUDA_HOME environment variable is not set.
原因の分析 — なぜエラーが起きるのか
原因1: PythonバージョンとPyTorchの非対応
PyTorchはPythonのバージョンごとにビルド済みwheelが提供されています。Python 3.13など最新バージョンでは、対応するPyTorchのwheelがまだリリースされていない場合があります。
原因2: CUDAドライバーとCUDAツールキットのバージョン不一致
NVIDIAドライバー(GPUドライバー)とCUDAツールキット(nvcc)は別物であり、両者のバージョンが対応していないと動作しません。また、インストールしたPyTorchのCUDAビルドと、システムにインストールされているCUDAバージョンが合っていない場合も同様のエラーが発生します。
原因3: 環境変数の未設定
CUDA_HOME や LD_LIBRARY_PATH が正しく設定されていないと、Pythonランタイムがライブラリを見つけられません。
原因4: 仮想環境の混在
システムのPythonとvenv・conda環境が混在し、意図しない環境にインストールされている場合があります。
原因5: pipのキャッシュによる古いパッケージ
pipのキャッシュに古いバージョンが残っており、最新の依存関係解決が正しく行われないことがあります。
解決手順 — Step by Step
Step 1: 現在の環境を確認する
まずは環境情報を整理します。
# Pythonバージョン確認
python --version
python3 --version
# NVIDIAドライバーとCUDAバージョン確認
nvidia-smi
# CUDAツールキット(nvcc)のバージョン確認
nvcc --version
# インストール済みPyTorchの確認
pip show torch
python -c "import torch; print(torch.__version__); print(torch.cuda.is_available())"nvidia-smi の出力右上に表示される「CUDA Version」は、ドライバーがサポートする最大CUDAバージョンです。PyTorchのCUDAビルドはこれ以下のバージョンを選ぶ必要があります。
Step 2: 既存のPyTorchを完全アンインストールする
バージョン不一致が疑われる場合は、一度きれいに消去します。
pip uninstall torch torchvision torchaudio -y
pip cache purgeStep 3: 正しいPyTorchをインストールする
PyTorch公式インストールページでOS・パッケージマネージャー・CUDAバージョンを選択し、生成されたコマンドをそのまま実行するのが最も確実です。
# 例: CUDA 12.1 対応のPyTorch 2.5.0をインストール
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121
# CUDA 11.8 の場合
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
# CPUのみ(GPUなし環境)
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpuStep 4: 環境変数を設定する(Linux/macOS)
# CUDA_HOMEを設定(nvccのパスから逆算)
which nvcc
# → /usr/local/cuda/bin/nvcc の場合
export CUDA_HOME=/usr/local/cuda
export LD_LIBRARY_PATH=$CUDA_HOME/lib64:$LD_LIBRARY_PATH
export PATH=$CUDA_HOME/bin:$PATH恒久的に反映させるには ~/.bashrc や ~/.zshrc に追記してください。
echo 'export CUDA_HOME=/usr/local/cuda' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH=$CUDA_HOME/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc
source ~/.bashrcStep 5: conda環境を使う場合の対処(推奨)
複数プロジェクトでCUDAバージョンを使い分ける場合は、conda環境の利用が特に効果的です。
# conda環境を作成(Python 3.11を指定)
conda create -n pytorch_env python=3.11 -y
conda activate pytorch_env
# CUDAツールキットをcondaから直接インストール
conda install pytorch torchvision torchaudio pytorch-cuda=12.1 -c pytorch -c nvidia -ycondaを使うと、CUDAツールキット自体をcondaが管理するため、システムのCUDAバージョンに左右されにくくなります。
確認方法 — 解決できたかの検証
以下のコードを実行してGPUが正常に認識されているか確認します。
import torch
# バージョン確認
print(f"PyTorch version: {torch.__version__}")
# CUDA利用可否
print(f"CUDA available: {torch.cuda.is_available()}")
# GPU名の確認
if torch.cuda.is_available():
print(f"GPU: {torch.cuda.get_device_name(0)}")
print(f"CUDA version: {torch.version.cuda}")
# 実際にGPUで計算できるか確認
x = torch.randn(3, 3).cuda()
print(f"Tensor on GPU: {x.device}")
print("✅ GPU正常動作確認完了")
else:
print("❌ CUDAが利用できません。上記の手順を再確認してください。")期待する出力例:
PyTorch version: 2.5.0+cu121
CUDA available: True
GPU: NVIDIA GeForce RTX 4090
CUDA version: 12.1
Tensor on GPU: cuda:0
✅ GPU正常動作確認完了
Antigravity IDEでの活用 — インストール管理を効率化する
Antigravityのターミナル統合機能を活用すると、インストール作業やバージョン管理がさらに快適になります。エラーが発生した際は、Antigravityのエージェントに「このエラーメッセージの原因と解決方法を教えて」と相談するのが効果的です。
また、Antigravityで構築するLangChainカスタムAIパイプラインでは、PyTorchを活用したAIパイプラインの実装例を紹介しています。
予防策 — 再発を防ぐためのベストプラクティス
1. プロジェクトごとに仮想環境を分ける
# venvを使う場合
python -m venv .venv
source .venv/bin/activate # Linux/macOS
.venv\Scripts\activate # Windows
# condaを使う場合
conda create -n myproject python=3.11
conda activate myproject2. requirements.txtにバージョンを明示する
torch==2.5.0+cu121
torchvision==0.20.0+cu121
torchaudio==2.5.0+cu121
--extra-index-url https://download.pytorch.org/whl/cu121
3. NVIDIAドライバーを更新するときはPyTorchも確認する
ドライバー更新後は nvidia-smi でCUDAバージョンを再確認し、PyTorchが対応しているかチェックする習慣をつけましょう。
4. Docker/Dev Containerを活用する
本番環境との差異をなくすため、NVIDIAが提供するCUDA公式Dockerイメージ(nvcr.io/nvidia/pytorch)を使うと、環境構築の手間が大幅に減ります。
全体を振り返って
PyTorchとCUDAのインストールエラーは、主にバージョンの不一致と環境変数の未設定が原因です。解決の基本ステップは「現在の環境を確認 → 既存パッケージを削除 → 公式サイトのコマンドで再インストール」の3ステップです。
conda環境を使って環境を分離しておくことで、複数プロジェクト間での競合を防ぎ、再現性の高い開発環境を維持できます。Antigravity IDEのエージェント機能を活用すれば、エラーメッセージの解析もより素早く行えます。