pytorch训练模型时,检测不到GPU(机器本身包含GPU)
CPU/GPU简介
CPU专为串行处理设计,擅长处理顺序任务。
适用场景:
小规模模型、轻量级推理、数据预处理
GPU专为并行计算设计,适合高吞吐量的简单重复计算。
适用场景:
大规模神经网络训练、批量推理
问题分析
机器本身包含GPU的配置,但是训练模型时检测不到GPU,可以参考以下步骤解决:
确认GPU硬件和驱动(检查机器 NVIDIA GPU)
nvidia-smi
如下图中查看到的 CUDA 版本是12.7:
验证 CUDA 与 PyTorch 兼容性
import torch
import torchvision
print(torch.__version__)
print(torch.cuda.is_available()) # 如果返回 True,则表示有可用 GPU
print(torch.cuda.get_device_name(0)) # 输出 GPU 名称,确认是否是你的 (RTX 4060)
print(torch.__version__)
print(torchvision.__version__)
如果机器存在GPU,但就返回false
,很可能的原因是安装库的时候使用的是清华镜像源,导致下载的是对应CPU版本的torch和torchvision,而不是GPU版本(我自己就是这种情况),卸载重装即可。
解决方法
卸载
torch,torchvision
pip uninstall torch torchvision
进入pytorch官网https://pytorch.org/get-started/locally/,根据机器配置选择对应版本,执行命令再次安装:
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu126
再次验证 CUDA 与 PyTorch 兼容性,即可训练模型。
评论