当前位置: 首页 > news >正文

PyTorch安装CUDA标准流程(可解决大部分GPU无法使用问题)

最近一段时间在研究PyTorch中的GPU的使用方法,之前曾经安装过CUDA,不过在PyTorch中调用CUDA时无法使用。考虑到是版本不兼容问题,卸载后尝试了其他的版本,依旧没有能解决问题,指导查阅了很多资料后才找到了解决方案。

这里假设您使用的是Nvidia显卡并且您已经安装了conda,并在conda在创建了一个环境,在环境中已经安装PyTorch相关包等,conda在深度学习研究中能够很好的解决一些Python之间的版本兼容问题。

我们先输入以下命令查看相关信息:

import torchprint(torch.__version__)
print(torch.cuda.is_available())
print(torch.version.cuda)

得到信息如下:

2.3.1+CPU
False
None

 表示目前无可用GPU,我们需要重新安装正确版本的CUDA,确保GPU能够正常使用

这里要记住PyTorch版本是2.3.1(以自己安装的Pytorch为准),后面需要用到

1、卸载之前安装的CUDA(如未安装则跳过)

CUDA安装时一般有很多组件在同一时间安装,卸载时注意卸载干净,防止之后安装出现报错

2、查看GPU驱动相关信息

GPU驱动一般在最初装机时已经安装好,只需查看其版本号,之后安装CUDA的版本号<=GPU驱动版本号

在Python中输入

!nvidia-smi

查看相关信息

可以看到 CUDA Version 12.5 之后安装的CUDA版本要<=12.5,避免出现不兼容问题

其他信息如下所示:

3、查询兼容的CUDA

我们访问PyTorch官网:Previous PyTorch Versions | PyTorch

根据我们的PyTorch版本号查询对应的CUDA,我的是V2.3.1

 

可以看到 PyTorch v2.3.1支持CUDA 11.8 和 12.1,这里我选择11.8

在安装前,现在Conda中执行 安装11.8所需的python包

conda install pytorch==2.3.1 torchvision==0.18.1 torchaudio==2.3.1 pytorch-cuda=11.8 -c pytorch -c nvidia

如安装失败,请考虑降低Python版本并重新安装或者无视即可

4、下载并安装CUDA

 我们访问:https://developer.nvidia.com/cuda-toolkit-archive

查询CUDA历史版本

选择CUDA 11.8,下载即可

安装CUDA

安装一般选择精简模式即可,其余随意

安装完成后在cmd中输入NVCC -V 查看安装情况

可以看到 CUDA 11.8成功安装到电脑上

5、查看GPU是否可用

在Python中再次输入以下命令,查看GPU情况

import torchprint(torch.__version__)
print(torch.cuda.is_available())
print(torch.version.cuda)

可以看到GPU可以正常使用了!

6、使用时产生的一些问题

在进行深度学习研究时,经常要安装一些python包,例如:pytorch,mxnet,d2l等,使用conda或pip下载时经常报错,这种情况往往是python版本太高导致的,请尝试降低python版本或者去官网上查询所下载包对应的最高python版本。python降级后,一些包的版本也可能会随之降级,进而需要CUDA重新安装选择正确的版本。

http://www.lryc.cn/news/407452.html

相关文章:

  • C++从入门到起飞之——初始化列表类型转换static成员 全方位剖析!
  • PHP框架简介
  • 微信小程序-粘性组件
  • 微服务注册中心
  • HDU1032——The 3n + 1 problem,HDU1033——Edge,HDU1034——Candy Sharing Game
  • 内网对抗-隧道技术篇防火墙组策略HTTP反向SSH转发出网穿透CrossC2解决方案
  • 实战案例:如何用ChatGPT生成适合不同领域的高质量文章
  • 多线程案例-单例模式
  • P6 优化篇 - 数据折线图可视化步骤
  • 优选算法之二分查找(上)
  • JavaScript(16)——定时器-间歇函数
  • VUE中的重点*
  • rabbitmq生产与消费
  • spring-boot3.x整合Swagger 3 (OpenAPI 3) +knife4j
  • SM2隐式证书用户公私钥生成python代码实现
  • IEC104转MQTT网关快速实现了IEC104到MQTT的转换和数据交互
  • 【OpenCV C++20 学习笔记】调节图片对比度和亮度(像素变换)
  • web UI自动化测试 浏览器模式设置
  • OpenCV图像滤波(1)双边滤波函数bilateralFilter的使用
  • 前端开发使用Big.js精算避免误差
  • 在 Ubuntu 22.04/20.04 安装 CVAT 和 SAM 指南
  • 【SpringCloud】 微服务分布式环境下的事务问题,seata大合集
  • vite5+vue3开发阅读APP实战笔记20240725
  • Intel任命Micron技术开发主管领导Intel Foundry制造运营
  • 苹果发布iOS 18 Beta 4,新增CarPlay 壁纸等多项功能改进
  • 谷粒商城实战笔记-50-51-商品分类的删除
  • vue3+g2plot实现词云图
  • Golang | Leetcode Golang题解之第273题整数转换英文表示
  • 使用C#手搓Word插件
  • WordPress主题追格企业官网主题免费开源版V1.1.6