GeForce RTX 3060 12GBでPyTorchを使うには、PythonへCUDA対応のPyTorchを入れ、GPUを認識できるか確かめます。グラフィックドライバーが入っていても、CPU向けのPyTorchを選んでいればGPU計算は動きません。公式の導入ページを使って、インストールと確認を順に進めます。
NVIDIAのCompute Capability一覧ではRTX 3060は8.6に分類されています。PyTorchのCUDA対応版が対象とするNVIDIA GPUです。本記事はRTX 3060の12GB版を前提とし、具体的なPyTorchパッケージの版は執筆時点の固定値で指定せず、公式セレクターが表示する組み合わせを使います。
Python環境とドライバー
まずNVIDIAのグラフィックドライバーを導入し、GPUがOSから見えている状態にします。WindowsまたはLinuxのターミナルで nvidia-smi を実行すると、認識されたGPUとドライバーの情報を確認できます。RTX 3060 12GBが表示されるなら、次はPython側を設定します。
Pythonの仮想環境を作ると、ほかの画像生成アプリやLLMアプリとPyTorchの依存関係を分けられます。たとえばPythonが使えるターミナルで次のように作ります。
python -m venv .venv
仮想環境の有効化コマンドはWindowsとLinuxで異なります。WindowsのPowerShellでは .venv\Scripts\Activate.ps1、Linuxのシェルでは source .venv/bin/activate を使います。OSに入っているPythonの版が、PyTorch公式導入ページの現在の安定版の条件を満たすかも確認します。
CUDA版PyTorchの導入
PyTorchの公式セレクターでStable、利用中のOS、Pip、Pythonを選び、Compute PlatformをCUDAにします。表示されたインストールコマンドを、仮想環境を有効化したターミナルで実行します。CUDAの選択肢やパッケージの版は更新されるため、この画面に表示される組み合わせを使用します。
pipで配布されるバイナリを使う場合、PyTorch本体をソースからビルドする必要はありません。CUDA Toolkitが必要になる場面は、自分でCUDAコードをコンパイルする場合や、ライブラリをソースから構築する場合です。CUDA対応版のPyTorchを入れるという目的と、CUDA Toolkitを使って開発する目的を分けると、導入作業が明確になります。
インストール後、仮想環境の中でPythonを開き、次の小さな確認を実行します。
import torch
print(torch.cuda.is_available())
print(torch.cuda.get_device_name(0) if torch.cuda.is_available() else "CUDA unavailable")
PyTorch公式ガイドも torch.cuda.is_available() をGPUとドライバーの確認方法として案内しています。Trueが返り、デバイス名にRTX 3060が含まれれば、PyTorchからGPUを使える状態です。
GPUに計算を渡す方法
CUDAが利用可能でも、何も指定しないテンソルはCPU側で作られます。GPUへ置くにはデバイスをcudaに指定します。まず小さな計算で配置先を確認します。
import torch
x = torch.ones((1024, 1024), device="cuda")
y = x @ x
print(y.device, y.shape)
表示されるデバイスがcuda:0なら、行列計算の結果がGPU側にあります。この例でPyTorchからGPUへ計算を渡す経路を確認できます。
12GBのVRAMにはモデルの重みだけでなく、入力と中間結果も載ります。学習では勾配やオプティマイザーの状態が加わり、推論より多くのメモリが必要になりやすいです。同じモデルでも、バッチサイズを上げると同時処理するデータが増えます。CUDAのメモリ不足が出たときは、まずバッチサイズと入力解像度を下げ、不要なテンソルを保持していないか確認します。
認識されないときの切り分け
torch.cuda.is_available() がFalseなら、最初に nvidia-smi でGPUとドライバーを確認します。GPUがOSで見えているのにPyTorchだけFalseなら、仮想環境に入れたPyTorchの配布版と、実行しているPythonの場所を調べます。別の仮想環境にCPU版を入れていた場合、GPUが使えるPCでもFalseになります。
そのほか、CUDA版とドライバーの対応にも条件があります。公式セレクターで選んだCUDA版が、インストール済みのドライバーで実行できるか確認します。PyTorchの版だけを繰り返し入れ替える前に、OSのGPU認識、Python環境、PyTorchの配布版という三段階で調べると原因を絞れます。
まとめ
RTX 3060 12GBはPyTorchで使えるCompute Capability 8.6のGPUです。仮想環境で公式セレクターが示すCUDA版を導入し、torch.cuda.is_available() とデバイス名で動作を確かめます。画像生成アプリの内部でPyTorchがどう使われるかを知りたい方は、ComfyUIの導入手順も参照してください。
