资讯动态

【人工智能技术应用学习笔记04】如何检查 PyTorch 是否成功调用 NVIDIA GPU

发布时间:2026/10/14 9:40:42 来源:尧图企业网站定制
【人工智能技术应用学习笔记04】如何检查 PyTorch 是否成功调用 NVIDIA GPU希望通过持续记录把原本零散的人工智能知识逐渐连接成一个完整的技术学习体系。系列《人工智能技术应用学习笔记》第 4 篇如何检查 PyTorch 是否成功调用 NVIDIA GPU关键词PyTorch、NVIDIA、GPU、CUDA、深度学习、人工智能、环境配置一、前言在前面的学习中我们已经了解了 CUDA 与 cuDNN 的基本概念并记录了 Windows 环境下安装 PyTorch GPU 版本的过程。但是安装完成并不意味着 PyTorch 一定能够正常使用 NVIDIA GPU。例如电脑已经安装了 NVIDIA 显卡驱动PyTorch 也可以正常导入但运行深度学习程序时仍然可能使用 CPU 进行计算。那么如何判断 PyTorch 是否成功调用了 NVIDIA GPU又该如何验证 GPU 是否真正参与了计算本文将从显卡驱动检查、CUDA 可用性判断、GPU 信息查看和实际计算测试等方面进行记录帮助初学者完成 PyTorch GPU 环境验证。二、检查 NVIDIA 显卡和驱动在检查 PyTorch 之前首先需要确认系统能够正常识别 NVIDIA 显卡。打开 Windows 命令提示符CMD或 PowerShell输入nvidia-smi如果显卡驱动正常安装通常可以看到以下信息GPU NameNVIDIA 显卡型号。Driver Version显卡驱动版本。Memory-Usage当前显存使用情况。GPU-Util当前 GPU 利用率。CUDA Version当前驱动支持的 CUDA 最高版本范围信息。需要注意nvidia-smi中的CUDA Version并不直接代表本机安装的 CUDA Toolkit 版本。如果命令无法正常执行应优先检查 NVIDIA 驱动是否正确安装以及系统是否能够识别显卡。三、检查 PyTorch 是否支持 CUDA确认显卡驱动正常后接下来检查 PyTorch 是否能够使用 CUDA。如果使用 Conda 创建了名为pytorch-gpu的环境可以先激活环境conda activate pytorch-gpu然后执行python进入 Python 交互环境输入以下代码importtorchprint(PyTorch版本,torch.__version__)print(CUDA是否可用,torch.cuda.is_available())print(CUDA运行时版本,torch.version.cuda)print(CUDA设备数量,torch.cuda.device_count())如果输出类似PyTorch版本 2.x.x CUDA是否可用 True CUDA运行时版本 12.x CUDA设备数量 1说明 PyTorch 当前能够使用 CUDA并检测到了一个 CUDA 设备。这里的版本号仅为示例实际结果以本机输出为准。其中最重要的是torch.cuda.is_available()返回True当前 PyTorch 可以使用 CUDA。返回False当前 PyTorch 无法使用 CUDA需要进一步排查。不过CUDA 可用并不代表所有运算都会自动在 GPU 上执行后续还需要检查数据和计算任务所在的设备。四、查看 GPU 型号和设备信息如果 CUDA 已经可用可以继续查看 PyTorch 识别到的 GPU 信息。importtorchiftorch.cuda.is_available():print(GPU型号,torch.cuda.get_device_name(0))print(GPU数量,torch.cuda.device_count())print(当前GPU编号,torch.cuda.current_device())memorytorch.cuda.get_device_properties(0).total_memoryprint(GPU显存总量,round(memory/1024**3,2),GB)else:print(当前无法使用CUDA请检查环境配置。)如果程序能够正确输出 NVIDIA 显卡型号和显存信息说明 PyTorch 已经能够识别该 GPU。需要注意torch.cuda.current_device()返回的是当前 CUDA 设备的编号而不是显卡型号。五、通过实际计算验证 GPU仅仅检查 CUDA 是否可用还不够我们还需要进行一次实际计算测试。1. 创建 GPU 张量运行以下代码importtorchiftorch.cuda.is_available():devicetorch.device(cuda)atorch.tensor([1.0,2.0,3.0],devicedevice)btorch.tensor([4.0,5.0,6.0],devicedevice)cabprint(张量a所在设备,a.device)print(张量b所在设备,b.device)print(计算结果所在设备,c.device)print(计算结果,c)else:print(CUDA不可用当前无法执行GPU测试。)如果输出类似张量a所在设备 cuda:0 张量b所在设备 cuda:0 计算结果所在设备 cuda:0 计算结果 tensor([5., 7., 9.], devicecuda:0)说明输入张量位于 GPU 上并且加法运算也在 GPU 上执行。这里的cuda:0表示第 0 个 CUDA 设备。2. 进行矩阵乘法测试为了进一步验证 GPU 计算能力可以运行矩阵乘法测试importtorchiftorch.cuda.is_available():devicetorch.device(cuda)atorch.randn(2000,2000,devicedevice)btorch.randn(2000,2000,devicedevice)ctorch.matmul(a,b)torch.cuda.synchronize()print(矩阵a所在设备,a.device)print(矩阵b所在设备,b.device)print(矩阵c所在设备,c.device)print(矩阵乘法测试完成)else:print(CUDA不可用无法执行GPU矩阵运算测试。)这段代码创建两个随机矩阵并使用torch.matmul()进行矩阵乘法。由于输入矩阵创建时指定了devicecuda因此矩阵位于 GPU 上计算也会由相应的 GPU 计算后端执行。torch.cuda.synchronize()用于等待此前提交到 CUDA 设备的工作完成避免 GPU 运算尚未结束就提前结束测试。通过这个案例可以更直观地理解 PyTorch 如何将张量放到 GPU 上并利用 GPU 执行计算。六、结合 nvidia-smi 观察 GPU 状态除了在 Python 中验证还可以通过系统工具观察 GPU 的运行情况。打开一个新的终端执行nvidia-smi-l1该命令会每隔约 1 秒刷新一次显卡状态。随后在另一个终端中运行前面的矩阵乘法测试可以观察GPU 利用率是否发生变化。显存使用量是否增加。是否出现对应的 Python 进程。如果这些信息发生变化可以作为 GPU 正在参与计算的辅助证据。需要注意小规模运算可能执行得非常快因此监控工具未必能捕捉到明显的利用率变化。判断 GPU 是否正常工作时应优先结合 PyTorch 的设备信息和实际计算测试而不是只看 GPU 利用率。七、常见问题与排查方法1.torch.cuda.is_available()返回 False可以先执行importtorchprint(torch.__version__)print(torch.version.cuda)如果torch.version.cuda返回None通常说明当前安装的 PyTorch 构建不包含 CUDA 支持例如安装了 CPU 版本。此时需要参考 PyTorch 官方安装页面选择适合当前系统和环境的安装命令。官方安装页面https://pytorch.org/get-started/locally/2.nvidia-smi正常但 PyTorch 无法使用 GPU这可能与 PyTorch 安装版本、CUDA 运行时兼容性或 Python 环境有关。建议依次检查当前安装的 PyTorch 是否支持 CUDA。NVIDIA 驱动是否满足相应 CUDA 运行时的要求。是否在正确的 Conda 或 Python 环境中运行程序。是否按照 PyTorch 官方页面选择了正确的安装命令。3. PyTorch 可以使用 CUDA但程序仍然使用 CPUCUDA 可用并不意味着所有张量都会自动移动到 GPU。例如importtorch atorch.tensor([1,2,3])print(a.device)默认情况下这个张量通常位于 CPU 上。如果希望将它放到 GPU需要显式指定设备atorch.tensor([1,2,3],devicecuda)print(a.device)对于深度学习模型还需要确保模型参数和输入数据位于兼容的设备上否则可能出现设备不一致的错误。4. 是否必须单独安装 CUDA Toolkit 和 cuDNN使用 PyTorch 官方提供的预编译 CUDA 安装包时通常不需要为了运行常见的 GPU 计算任务而单独安装完整的 CUDA Toolkit 和 cuDNN。但如果需要编译自定义 CUDA 扩展或者开发底层 CUDA 程序就可能需要额外安装 CUDA Toolkit 等开发组件。具体要求应以所使用的软件版本及其官方文档为准。八、总结通过本篇学习我们掌握了检查 PyTorch 是否成功调用 NVIDIA GPU 的基本方法使用nvidia-smi检查 NVIDIA 显卡和驱动状态。使用torch.cuda.is_available()判断 CUDA 是否可用。使用torch.cuda.get_device_name(0)查看 GPU 型号。通过张量的device属性确认数据所在设备。通过矩阵乘法测试验证 GPU 实际计算能力。结合nvidia-smi观察显存、利用率和进程信息。在学习人工智能技术应用的过程中配置环境只是第一步。只有学会检查环境、验证计算结果并排查常见问题才能为后续的深度学习模型训练和推理打下基础。下期预告下一篇将继续学习 PyTorch 的基础操作围绕《人工智能技术应用学习笔记05PyTorch 中 CPU 与 GPU 计算有什么区别》展开尝试比较 CPU 和 GPU 的计算方式了解如何将张量与模型迁移到 GPU以及 GPU 加速在深度学习任务中的作用。通过持续记录和动手实践逐步建立完整的人工智能技术学习体系。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑