服务器的CUDA是哪里来的?pytorch会自动安装CUDA吗?如何选择CUDA版本?nvcc --version的版本和nvidia-smi不一样是怎么回事?pytorch无法使用GPU怎么办?

目录

  • 前情提要:
  • 发出疑问
  • 答案在这里:

前情提要:

今天使用conda install pytorch torchvision torchaudio cudatoolkit=11.1 -c pytorch -c nvidia 命令在服务器安装pytorch后,使用torch.cuda.is_available()检查GPU是否可用时,返回为FALSE。

于是上网搜了搜,发现可能是pytorch版本和CUDA版本不一样,于是使用nvcc --version命令查看CUDA版本,返回是9.1。But,我在官网并没有找到CUDA 9.1适配的pytorch安装命令。
服务器的CUDA是哪里来的?pytorch会自动安装CUDA吗?如何选择CUDA版本?nvcc --version的版本和nvidia-smi不一样是怎么回事?pytorch无法使用GPU怎么办?_第1张图片

我又在网上找啊找,发现使用pip install https://download.pytorch.org/whl/cu91/torch-0.4.0-cp36-cp36m-linux_x86_64.whl命令可以适配9.1版本的CUDA。于是我高兴地在服务器输入这行命令,却出现报错*** is not a supported wheel on this platform。o(╥﹏╥)o
照着安装pytorch,报错*** is not a supported wheel on this platform文章的方法,我手动下载了whl包,准备手动安装。

就在此时,我输了一下nvidia-smi命令,惊奇的发现,CUDA version居然是11.4!
服务器的CUDA是哪里来的?pytorch会自动安装CUDA吗?如何选择CUDA版本?nvcc --version的版本和nvidia-smi不一样是怎么回事?pytorch无法使用GPU怎么办?_第2张图片
为什么会这样呢?【CUDA】nvcc和nvidia-smi显示的版本不一致?,nvidia-smi 和 nvcc 结果的版本为何不一致这两篇文章给出了解释。

CUDA版本不一致真麻烦呀,那可以自己升级CUDA版本吗?
答案是可以的:非root用户安装cuda与cudnn - 你好小雅的文章 - 知乎,服务器安装(多版本) CUDA 和 cuDNN,不影响其他人
但是这些教程看起来就很复杂,万一我把公司的服务器弄坏就不好搞了,于是放弃了这条路。

发出疑问

这个时候我产生了一个疑问,我们安装pytorch的时候,也会顺带安装cuda,那这个cuda和服务器自带的cuda是什么关系呢?服务器自带的cuda是谁安装的呢?
服务器的CUDA是哪里来的?pytorch会自动安装CUDA吗?如何选择CUDA版本?nvcc --version的版本和nvidia-smi不一样是怎么回事?pytorch无法使用GPU怎么办?_第3张图片
另外,安装pytorch的时候,这里的platform究竟是什么意思呢?① 服务器中的cuda版本 ② 我想要安装的cuda版本
服务器的CUDA是哪里来的?pytorch会自动安装CUDA吗?如何选择CUDA版本?nvcc --version的版本和nvidia-smi不一样是怎么回事?pytorch无法使用GPU怎么办?_第4张图片

带着这个问题,我询问了实验室优秀的同门和师弟,没想到却难倒他们了:
服务器的CUDA是哪里来的?pytorch会自动安装CUDA吗?如何选择CUDA版本?nvcc --version的版本和nvidia-smi不一样是怎么回事?pytorch无法使用GPU怎么办?_第5张图片在这里插入图片描述

不过功夫不负有心人,在某位大佬的帮助下,我成功解决了这个疑问。

答案在这里:

  • 如果只用pytorch,那么安装的时候会自动安装cudacudnn
  • 如果自己装一个cuda的话,路径一般在/usr/local/cuda
  • 一般情况下我们都不会用到系统的cuda,系统中的初始cuda也是别人装的

那为什么我明明安装了pytorch,却无法使用GPU呢?
抱着试一试的心态,我使用官网中的conda install pytorch torchvision torchaudio cudatoolkit=11.3 -c pytorch重新安装了一下。
最好使用conda安装,因为如果使用pip安装,从自己的一些源下载的话可能会给定向到一些乱七八糟的版本

安装过程中,要注意一下[y]/n的时候安装的是什么东西,有没有cuda(千万不要安装成cpu版本哦!):
服务器的CUDA是哪里来的?pytorch会自动安装CUDA吗?如何选择CUDA版本?nvcc --version的版本和nvidia-smi不一样是怎么回事?pytorch无法使用GPU怎么办?_第6张图片

当当当,神奇的事情发生了!!!居然成功了!
服务器的CUDA是哪里来的?pytorch会自动安装CUDA吗?如何选择CUDA版本?nvcc --version的版本和nvidia-smi不一样是怎么回事?pytorch无法使用GPU怎么办?_第7张图片

那为什么之前的不行呢?我问了问之前使用这个命令的同门,他表示:“那个可能过时了,当时好像是3090的原因”。
所以,大家下载pytorch的时候,一定要从官网寻找合适的命令安装!

你可能感兴趣的:(学习笔记,pytorch,服务器,深度学习)