本篇博客记录了自己电脑安装pytorch GPU版本整个过程,包括很多踩过的坑,希望能帮助到有需要的人。
检测显卡型号:如何查看电脑显卡型号
查看自己显卡是否支持CUDA安装:官网链接
(注:1050Ti是支持的,不知道为什么官网这里没有显示)
更新显卡驱动(cuda toolkit版本号和显卡驱动版本号有很严格的对应,所以为了安装高版本的kit需要升级到最新的驱动版本,驱动版本是向下兼容,高版本的驱动可以安装低版本的kit。驱动下载里面选择studio就行,这个听说是更稳定的版本,game ready是时候游戏使用):官网更新驱动链接
然后跟据驱动的版本号选择toolkit的版本号:CUDA版本与显卡驱动对照表
从官网下载toolkit:toolkit官网下载链接
选择local把toolkit下载到本地,后续安装很大概率会失败几次,用在线安装每次都得花很长时间下载。
下载完成后,双击安装包
这时候会选择解压目录,选择非C盘就行(其实哪也无所谓,安装完成后会自动删掉)。
这里有一个小技巧,解压完成后,先别着急安装,把解压完成的内容复制一份,安装失败后也不用再重新解压,可以直接点解压文件里面的"setup.exe"安装。
选择自定义
接下来就是最容易踩坑的地方了!
大多数的教程是要求把"visual studio integration"、“NVIDIA GeForce Experience …”、"Other components"和"Driver components"都取消勾选。但是我按照这样的方法安装了很多次都失败。你们在安装的时候可以先尝试上面我说这种方法,如果失败了再用我后面的方法。
====== 分界线 =====
这是我按照上面方法安装的结果
在我的安装失败结果中有显示"Nsight Compute"安装失败,和这篇博客里面提到的内容一样,于是跟据这篇博客说的。我这次选择不勾选"Nsight Compute"。其他的都勾选了。
安装路径选择非C盘的地方都OK
但是还是有组件没安装成功,不过这不影响我后面用来跑深度学习,所以只需要满足跑深度学习的朋友可以在此不深究了。如果有需要可以看下这篇博客的内容。
需要说明的是,在我整个尝试安装过程中还参考了两外两篇博客,他们提到了两点内容可以参考:1. 先卸载电脑上NVIDIA相关的软件再安装toolkit 2. 关闭腾讯下的产品包括QQ,腾讯管家这些。关闭360等杀毒软件。
测试toolkit环节:
打开CMD,输入"nvcc -V"(空格和大写V需要注意,推荐直接复制),看是否显示版本号,如果有就表明成功安装了。
cuDNN下载(下载和toolkit对应的版本就行,toolkit 11.3的对应11.x的cuDNN):cuDNN下载
下载完成后解压,然后复制文件到安装cuda toolkit的目录下(我的目录名是CUDA)
在官网选择安装语句:官网安装
在CMD中激活conda环境后,先卸载pytorch-cpu:
conda uninstall pytorch
conda uninstall libtorch
pip uninstall torch
然后粘贴安装pytorch-gpu语句
conda install pytorch==1.10.1 torchvision==0.11.2 torchaudio==0.10.1 cudatoolkit=11.3 -c pytorch -c conda-forge
最后安装完成后,在CMD python中测试是否有GPU,返回True表示成功安装pytorch-gpu
torch.cuda.is_available()
最后测试下是否能在GPU上跑通代码(代码借用这篇博客,感谢~)
import torch
import time
from torch import autograd
#GPU加速
print(torch.__version__)
print(torch.cuda.is_available())
a=torch.randn(100,200)
b=torch.randn(200,200)
print(a)
print(b)
t0=time.time()
c=torch.matmul(a,b)
t1=time.time()
print(a.device,t1-t0,c.norm(2))
device=torch.device('cuda')
print(device)
a=a.to(device)
b=b.to(device)
t0=time.time()
c=torch.matmul(a,b)
t2=time.time()
print(a.device,t2-t0,c.norm(2))
t0=time.time()
c=torch.matmul(a,b)
t2=time.time()
print(a.device,t2-t0,c.norm(2))
OK,现在可以愉快的入坑深度学习了~
如果我的方法没能解决你的问题,除了上面我提到的博客,还有很多特别优质的博客可以参考:
https://blog.csdn.net/L1778586311/article/details/112425993
https://zhuanlan.zhihu.com/p/439206922
https://blog.csdn.net/qq_39407949/article/details/117049738
https://zhuanlan.zhihu.com/p/358737417
/L1778586311/article/details/112425993
https://zhuanlan.zhihu.com/p/439206922
https://blog.csdn.net/qq_39407949/article/details/117049738
https://zhuanlan.zhihu.com/p/358737417
最后如果都没能解决,推荐万能的淘宝~