pytorch环境搭建以及双CUDA搭建和切换
听师姐的话,查查对应版本,不查不知道,一查吓一跳,没想到还有人写的这么详细
<https://www.cnblogs.com/Wanggcong/p/12625540.html>这里我再整理下
pytorch cuda,系统cuda版本对应关系
版本查询
-
python版本
直接which python或者python进入界面查看;
-
pytorch版本
进入python,import torch, torch.version
-
cudatoolkit版本(这里特指conda安装的那个cuda)
进入python,import torch, torch.version.cuda
-
torchvision版本
conda list torchvision
-
查看显卡版本
ubuntu-drivers devices
nvidia-smi
-
查看cudnn版本
import torch
print(torch.backends.cudnn.version())
版本对应关系
-
这里pytorch和cudatoolkit版本对应关系:
-
cudatoolkit版本和系统cuda对应关系:
-
系统cuda和nvidia对应关系:
-
cuda和cuDNN的关系和对应关系:
说明
- 以后新建用户再也不要把自己加到别人的组了,就自己单独一个组
安装显卡驱动
-
查看显卡驱动是否安装
方法1:
首先得安装mesa-utils,在终端输入命令:
sudo apt-get install mesa-utils
然后再运行命令:
glxinfo | grep rendering
如果结果是“yes”,证明显卡 驱动已经成功安装。我发现自己用户显示的是
No protocol specified
而在师兄用户那里显示为yes。我在想是不是不同用户都需要安装显卡驱动呢?
安装CUDA
软件下载
anaconda下载:在清华开源镜像网站上下载https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/?C=M&O=D
CUDA10.0下载:
找到网页下载按钮。鼠标右击,复制链接地址。在迅雷中打开链接进行下载。下载速度相当可观!!!!比网页下载快了十几倍。
下载好之后,我直接安装cuda10.0报错:后来发现是没有安装一些依赖造成的
参考这个文件成功安装了cuda10.0https://blog.csdn.net/yinxingtianxia/article/details/80462892
实现不同版本CUDA之间的切换https://zhuanlan.zhihu.com/p/127901837
接着我安装了Anacondahttps://blog.csdn.net/fengleqi/article/details/80752751
在安装过程中弹出来conda init,然后这里我选的yes(我感觉应该选no的),可能是这个原因导致我用户前面出现了(base),后来参考https://blog.csdn.net/a15005784320/article/details/100361896将用户前面的base去掉了。
然后参考https://blog.csdn.net/qq_34638161/article/details/80845366安装了CUDNN。
6,7两条检查cuda安装是否正常https://www.jianshu.com/p/9c98d51e4de3,第7条测试均通过了
接下来我打算更换conda源为清华源。
更换完成之后,参考DeepGCNs提供的安装环境代码
nvcc -V和nvidia-smi版本号不一致说明https://blog.csdn.net/ljp1919/article/details/102640512
以nvcc -V为准,需要看看评论消息
不需要,nvidia-smi显示的是你安装的NVIDIA驱动的版本号,而不是CUDA 的版本号,意思是当你安装多个CUDA时,你的系统应该只有一个显卡驱动,nvidia-smi 显示的是你的驱动的版本号,而nvcc显示的是你的环境变量相对应的CUDA的版本号
使用conda install spyder安装的spyder
但是遇到了./config权限不够。因此参考https://www.jianshu.com/p/2ca7949f8859sudo chown -R $USER:$GROUP ~/.config
解决,但是遇到
No protocol specified
could not connect to any x display
然后我参考https://blog.csdn.net/IndexMan/article/details/37738795中的
这是因为Xserver默认情况下不允许别的用户的图形程序的图形显示在当前屏幕上. 如果需要别的用户的图形显示在当前屏幕上, 则应以当前登陆的用户, 也就是切换身份前的用户执行如下命令
内容,因为我一直在师兄用户上su到我自己那里使用的,所以这个启动图形化界面会报错,当我切换到自己的用户时就可以显示图形界面了。
但是python终端提示我.local权限不够,同样使用sudo chown -R $USER:$GROUP ~/.local
解决了问题
安装utils包:pip install utils
,后来发现是路径的问题:需要调整路径选项来修正问题。
-
打开firefox报错:
your firefox profile cannot be loaded. it may be missing or inaccessible ubuntu
解决方法:
sudo chown -R $USER:$USER ~/.cache/
cuda切换以及查看当前使用版本
$ nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2018 NVIDIA Corporation
Built on Sat_Aug_25_21:08:01_CDT_2018
Cuda compilation tools, release 10.0, V10.0.130
$
$
$ sudo rm -rf /usr/local/cuda
[sudo]的密码:
$ sudo ln -s /usr/local/cuda-10.2 /usr/local/cuda
$
$ nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2019 NVIDIA Corporation
Built on Wed_Oct_23_19:24:38_PDT_2019
Cuda compilation tools, release 10.2, V10.2.89
$ sudo rm -rf /usr/local/cuda
$ sudo ln -s /usr/local/cuda-10.0 /usr/local/cuda
$ nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2018 NVIDIA Corporation
Built on Sat_Aug_25_21:08:01_CDT_2018
Cuda compilation tools, release 10.0, V10.0.130