必须让显卡、驱动、CUDA运行时、cuDNN和PyTorch五者版本严格匹配,否则torch.cuda.is_available()将静默返回False;需依次确认NVIDIA显卡型号与驱动状态(nvidia-smi查CUDA Version上限)、安装≤该版本的CUDA Toolkit与对应cuDNN、用conda创建虚拟环境并执行官方GPU安装命令,最后在环境中运行四行Python代码验证。

要在Windows电脑上真正跑起PyTorch的GPU加速模型,必须让显卡、驱动、CUDA运行时、cuDNN和PyTorch五者严丝合缝地对上版本,漏掉任意一环都会导致torch.cuda.is_available()返回False——这不是报错,而是静默失败,新手常在这里卡住三天。
确认显卡型号与驱动状态
按下 Win+X → 选择“设备管理器” → 展开“显示适配器”,确认是NVIDIA GeForce/RTX/Quadro/Tesla系列显卡;AMD或Intel核显无法使用官方CUDA后端。
右键开始菜单 → “Windows Terminal(管理员)” → 输入 nvidia-smi 回车,查看顶部显示的“Driver Version”(如 536.67)和右侧“CUDA Version”(如 12.2)——注意:这个CUDA Version是驱动**最高支持**的CUDA运行时版本,不是你已安装的CUDA版本。
若命令报“不是内部或外部命令”,说明NVIDIA驱动未安装或损坏,必须先用DDU在安全模式下彻底清除旧驱动,再从NVIDIA官网下载对应型号的Studio Driver(比Game Ready更稳定)重新安装。
安装CUDA Toolkit与cuDNN
打开NVIDIA CUDA Toolkit Archive页面(https://developer.nvidia.com/cuda-toolkit-archive),选择**≤你nvidia-smi显示的CUDA Version**的最新稳定版,例如驱动显示支持12.2,则选CUDA 12.1.1或12.2.0,**不要选12.3+**——高版本CUDA需要更高驱动,强行安装会导致nvcc编译失败且不提示原因。
下载安装包后,勾选“Add CUDA to system PATH”和“Install Visual Studio Integration”(即使不用VS也建议勾选,部分PyTorch编译依赖其头文件);安装路径保持默认 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\vX.X,避免中文或空格路径。
前往cuDNN Archive(https://developer.nvidia.com/rdp/cudnn-archive),登录后选择与CUDA版本严格对应的cuDNN,例如CUDA 12.1 → 选cuDNN 8.9.7 for CUDA 12.x;解压后将 bin、include、lib 三个文件夹内的**所有文件**(不是整个文件夹)复制到CUDA安装目录同名子目录中,覆盖提示一律点“是”。【漏掉lib目录下的cudnn.lib会导致PyTorch链接失败】
配置Conda虚拟环境并安装PyTorch
第一步:安装Miniconda(比Anaconda轻量,无冗余包)→ 官网下载Windows 64-bit Python 3.11 installer → 安装时取消勾选“Add to PATH”,但勾选“Register as default Python” → 记住安装路径(如 F:\miniconda3)。
第二步:打开“Anaconda Prompt (miniconda3)” → 执行以下命令创建隔离环境:
conda create -n pt-gpu python=3.11
conda activate pt-gpu
第三步:添加清华镜像源提速(国内直连极慢):
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
让 Windows 桌面程序在开机时静默自启并隐藏到系统托盘。特别适用于 Flutter、Electron 等无视 VBS/ProcessStartInfo 窗口样式、难以隐藏的顽固应用。提供「VBS 启动器 + Python ctypes/Win32 API」的隐藏窗口方案,可稳定把窗口收进托盘且不闪控制台。
conda config --set show_channel_urls yes
第四步:根据你安装的CUDA版本,从PyTorch官网(https://pytorch.org/get-started/locally/)复制对应conda命令,例如CUDA 12.1 → 运行:
conda install pytorch torchvision torchaudio pytorch-cuda=12.1 -c pytorch -c nvidia
这一步会自动解决CUDA toolkit、cudnn、NCCL等依赖,无需手动指定cudatoolkit包——conda install自带的pytorch-cuda=xx已封装全部GPU后端。
验证GPU是否可用
在已激活的pt-gpu环境中,启动Python交互终端:
python
依次输入:
import torch
print(torch.__version__)
print(torch.cuda.is_available())
print(torch.cuda.device_count())
print(torch.cuda.get_current_device())
四行输出应全部为True/正整数/0;若第二行是False,立即检查:①是否在正确conda环境中执行 ②nvidia-smi能否正常调出 ③CUDA安装路径是否被加入系统PATH(需重启终端生效) ④cuDNN文件是否真的覆盖到了CUDA目录对应位置。










