PyTorch + CUDA环境配置

  这篇文章转的是我老铁的,我自己也配过几次,但是一直没时间写出来,就直接从他那边拉过来了,之后再配就不用到处找了。

  从目前的情况来看,CUDA版本和PyTorch和Py自身版本是绑定的,而cuDNN和CUDA的大版本绑定,而其中主要受限的其实是PyTorch支持的CUDA版本,因此,这里采用CUDA来适配PyTorch的方式。

PyTorch安装

首先,下载PyTorch的本地安装包,需要下载的组件包有TorchTorchAudioTorchVision,要注意,这些组件包之间也是要对应版本的,不然在安装时就会跑去下其他版本的包了,一般来说都是版本完全对应,可能vision有差别可以用小版本对应。

具体可以在安装时在命令行输出的版本依赖信息看到

https://download.pytorch.org/whl/torch_stable.html

在文件命名中,通常以[组件包]-[版本]+cuxxx[CUDA版本]-cpxxx[Py版本]-cpxxx[Py版本]-win[操作系统]_amd64[架构].whl来命名。

  • 组件包包含上文提到的TorchTorchAudioTorchVision

  • cu后跟的是CUDA版本,例如11.7就是cu117

  • Py版本需要对应你现在安装的Python版本

  • 操作系统支持Linux和Windows,MacOS不支持CUDA版

  • 平台架构支持amd64和x86_64

这里也能下载到PyTorch,但是只有torch,建议用上面的。

https://download.pytorch.org/whl/torch/

当然,如果你对网络环境足够自信,也可以用官网的版本选择器来安装

最后,分别对三个组件包使用pip install xxx.whl进行安装。

CUDA安装

进入以下CUDA ToolKit页面进行下载

CUDA Toolkit Archive | NVIDIA Developer

一般情况下,最新版本的CUDA是不一定不支持的,因此需要根据上面选择的Torch版本进行安装,小版本无所谓,主要是对应中版本,例如我选择的是11.7.1这个版本

下载后根据提示安装即可,其流程和显卡驱动安装流程一样

安装完成后,会自动添加环境变量,输入nvcc -V来确认CUDA编译器

nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2022 NVIDIA Corporation
Built on Wed_Jun__8_16:59:34_Pacific_Daylight_Time_2022
Cuda compilation tools, release 11.7, V11.7.99
Build cuda_11.7.r11.7/compiler.31442593_0

cuDNN安装

其实不能算是安装,cuDNN并没有单独的安装程序,其实是扩展在CUDA ToolKit里的相关库文件和头文件,简单来说就是把下载的文件放入CUDA中。找到cuDNN的下载页面

cuDNN Archive | NVIDIA Developer

cuDNN的版本仅绑定CUDA的大版本,因此直接找大版本下的最新版本即可。下载压缩包后,分别解压其中的binincludelib到CUDA工具链的安装位置,默认工具链的位置为

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.7\

其中v11.7是你安装的CUDA版本,需要根据你实际安装的版本修改。

然后添加以下环境变量到path

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.7\lib\x64

同样其中的版本也要修改,最后定位到工具链的extras\demo_suite目录,运行bandwidthTest.exedeviceQuery.exe,看到Result = PASS则安装完成。

TensorRT安装

因为后续做深度学习用到了飞桨PaddlePaddle,其推理库Paddle-Inference在测试时发现需要TensorRT,因此也追加一个关于这个的安装,与上述cuDNN一样,都是一些库文件

https://developer.nvidia.com/nvidia-tensorrt-download

根据你用到的框架的版本要求,下载对应版本

解压bininclude到工具链的相应位置,同时解压lib中的.dll动态库到bin.lib静态库到lib

验证安装

import torch
# 返回当前设备索引
print(torch.cuda.current_device())
# 返回GPU的数量
print(torch.cuda.device_count())
# 返回gpu名字,设备索引默认从0开始
print(torch.cuda.get_device_name(0))
# cuda是否可用,为true就可用了
print(torch.cuda.is_available())
#查看cudnn版本
print(torch.backends.cudnn.version())
#查看torch版本
print(torch.__version__)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值