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の導入手順も参照してください。