第一种方法
昨天晚上鼓起勇气又开始安装pyTorch,其实之前安装过CPU版本,GPU版本一直没有安装成功。
首先就是在windows power shell输入nvcc -V,查看cuda版本,我的是11.3
需要注意nvidia-smi看到的CUDA版本可能和nvcc -V输出的版本不同,原因可能是我安装了好几次显卡驱动有点混乱,反正最后是以nvcc -V输出的CUDA版本为准,建议以已安装的CUDA版本去寻找对应版本的pyTorch,因为我试过安装指定版本的CUDA结果后来一直踩坑。
去下面的官网下载pytorch
打开官网下滑就能看到下面的界面,大部分教程建议下面的方式选择conda和对应的版本安装,但我尝试很多次都因为网络等原因无法安装,试过换源、搭梯子、改版本都不行,因此不推荐。
我是点击左下角的历史版本,找到对应我的显卡CUDA版本的PyTorch,找到pip安装的命令复制,这是1.12版本的,但是先将就用,总比没有好。
安装命令如下:
pip install torch==1.12.1+cu113 torchvision==0.13.1+cu113 torchaudio==0.12.1 -i https://pypi.tuna.tsinghua.edu.cn/simple
注意我将最后的网址替换为了清华的源
当然不替换源也可以,亲测也很快
pip install torch==1.12.1+cu113 torchvision==0.13.1+cu113 torchaudio==0.12.1 --extra-index-url https://download.pytorch.org/whl/cu113
安装成功,比conda真的顺利多了,测试一下
成功了,可以开始愉快地玩耍了。
第二种方法(未成功)
你以为到此就结束了吗,我后面为了用YOLO跑测试,发现需要安装更高版本的PyTorch,所以需要同时更新CUDA和Pytorch,查询一番后发现CUDA的更新似乎不是通过显卡驱动程序直接更新的,好像是有一套CUDA toolkit。
然后我去英伟达官网找CUDA toolkit驱动,虽然没搞明白怎么下载,但是意外发现可以通过conda安装CUDA对应版本。
修改成自己需要的CUDA版本,Pytorch最新支持CUDA12.1
conda install cuda -c nvidia/label/cuda-12.1.0
输入CMD命令行试试
虽然似乎有报错,但最终居然还是下载成功了,而且令我惊讶的是这个驱动约1GB,大概不到五分钟就下完了,且没有指定国内源。
一堆东西安装完之后nvcc -V查看CUDA版本
安装Pytroch最新版,指定清华源只需要一分钟不到
pip3 install torch torchvision torchaudio --index-url https://pypi.tuna.tsinghua.edu.cn/simple
试一下是否能调用GPU
额,失败了,有空再试试吧
官网下载了CUDA驱动(和显卡驱动不同)
好吧,不论是通过conda还是英伟达官网CUDA安装之后都无法正常通过PyTorch调用 GPU。
不过应当注意CPU版本推理也不是很慢(差别较大的是训练),所以我就用CPU版的PyTorch2.2.1跑YOLO检测了,三张图0.7秒。