pytorch训练模型时,检测不到GPU(机器本身包含GPU)

May 05, 2025 / 老大 / 8阅读 / 0评论/ 分类: 默认分类

CPU/GPU简介

CPU专为串行处理设计,擅长处理顺序任务。

适用场景:

  • 小规模模型、轻量级推理、数据预处理

GPU专为并行计算设计,适合高吞吐量的简单重复计算。

适用场景:

  • 大规模神经网络训练、批量推理

问题分析

机器本身包含GPU的配置,但是训练模型时检测不到GPU,可以参考以下步骤解决:

  1. 确认GPU硬件和驱动(检查机器 NVIDIA GPU)

nvidia-smi

如下图中查看到的 CUDA 版本是12.7:image-tnpi.png

  1. 验证 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版本(我自己就是这种情况),卸载重装即可。

解决方法

  1. 卸载torch,torchvision

pip uninstall torch torchvision
  1. 进入pytorch官网https://pytorch.org/get-started/locally/,根据机器配置选择对应版本,执行命令再次安装:

pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu126
  1. 再次验证 CUDA 与 PyTorch 兼容性,即可训练模型。


评论