1 CUDA设备
如果你的电脑显示 device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
后的结果是 Using device: cpu
,这通常意味着以下几个可能的问题之一:
-
没有安装NVIDIA显卡驱动程序:
- 确保你的计算机上安装了NVIDIA显卡及其驱动程序。你可以访问NVIDIA官方网站下载并安装最新的驱动程序。
-
没有安装CUDA Toolkit:
- 安装CUDA Toolkit是使用GPU进行深度学习的前提。你可以从NVIDIA的官方网站下载并安装适合你系统的 CUDA Toolkit 版本。
-
PyTorch没有正确安装CUDA支持:
- 确保你安装的PyTorch版本支持CUDA。你可以通过以下命令重新安装带有CUDA支持的PyTorch:
这里的pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu12.4
cu124
表示CUDA 12.4版本,你可以根据你的CUDA版本选择合适的版本号。
- 确保你安装的PyTorch版本支持CUDA。你可以通过以下命令重新安装带有CUDA支持的PyTorch:
-
环境变量配置问题:
- 确保CUDA的路径已经添加到系统环境变量中。你可以在命令行中运行
nvcc --version
来检查CUDA是否正确安装并配置。
- 确保CUDA的路径已经添加到系统环境变量中。你可以在命令行中运行
-
多个Python环境冲突:
- 如果你有多个Python环境,确保你使用的Python环境与安装CUDA支持的PyTorch版本一致。你可以使用虚拟环境来管理不同的Python版本和包。
-
检查PyTorch是否检测到CUDA设备:
- 在Python环境中运行以下代码,检查PyTorch是否检测到CUDA设备:
import torch device = torch.device("cuda" if torch.cuda.is_available() else "cpu") print(f"Using device: {device}") if torch.cuda.is_available(): print(f"{device}:{torch.cuda.is_available()}") print("device_count:", torch.cuda.device_count()) print("current_device:", torch.cuda.current_device()) print("device_name:", torch.cuda.get_device_name(0))
- 在Python环境中运行以下代码,检查PyTorch是否检测到CUDA设备:
通过这些步骤,就应该能够诊断并解决为什么PyTorch没有检测到CUDA设备的问题。
2 CUDA的路径添加到系统环境变量
步骤1:检查CUDA是否安装并配置正确
-
打开命令提示符:
- 在Windows上,你可以按
Win + R
,然后输入cmd
并按回车键。 - 在Linux或Mac上,打开终端。
- 在Windows上,你可以按
-
运行
nvcc --version
命令:- 输入以下命令并按回车键:
nvcc --version
- 输入以下命令并按回车键:
-
检查输出:
- 如果CUDA已正确安装并配置,你应该会看到类似以下的输出:
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2024 NVIDIA Corporation
Built on Thu_Mar_28_02:30:10_Pacific_Daylight_Time_2024
Cuda compilation tools, release 12.4, V12.4.131
Build cuda_12.4.r12.4/compiler.34097967_0
-
- 如果没有看到上述输出,而是看到类似于
nvcc 不是内部或外部命令
的错误消息,说明CUDA没有正确安装或路径未添加到系统环境变量中。
- 如果没有看到上述输出,而是看到类似于
步骤2:添加CUDA路径到系统环境变量
Windows
-
找到CUDA安装路径:
- 默认情况下,CUDA安装在
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\vX.X
,其中vX.X
是CUDA的版本号。
- 默认情况下,CUDA安装在
-
编辑系统环境变量:
- 右键点击“此电脑”或“计算机”,选择“属性”。
- 点击“高级系统设置”。
- 在“系统属性”窗口中,点击“环境变量”按钮。
- 在“系统变量”部分,找到
Path
变量,然后点击“编辑”。 - 在“编辑环境变量”窗口中,点击“新建”,然后添加 CUDA 的
bin
目录路径,例如:
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.4\bin
或者是在这个目录里
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.4\cuda_nvcc\nvcc\bin - 点击“确定”保存更改。
-
验证更改:
- 关闭所有命令提示符窗口,重新打开一个新的命令提示符窗口。
- 再次运行
nvcc --version
命令,检查是否成功。
Linux
-
找到CUDA安装路径:
- 默认情况下,CUDA安装在
/usr/local/cuda-X.X
,其中X.X
是CUDA的版本号。
- 默认情况下,CUDA安装在
-
编辑环境变量文件:
- 打开终端,编辑
.bashrc
或.profile
文件:nano ~/.bashrc
- 添加以下行:
export PATH=/usr/local/cuda-X.X/bin${PATH:+:${PATH}} export LD_LIBRARY_PATH=/usr/local/cuda-X.X/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
- 保存并关闭文件。
- 打开终端,编辑
-
应用更改:
- 运行以下命令使更改生效:
source ~/.bashrc
- 运行以下命令使更改生效:
-
验证更改:
- 在终端中运行
nvcc --version
命令,检查是否成功。
- 在终端中运行