1、原因
最近在跑Semantics-guided Part Attention Network的代码,作者给出的环境配置是python3.6与pytorch1.6。于是,自己首先创建一个虚拟环境,并使用python3.6
然后,依据requirements.txt的,安装了torch1.6:
原本以为安装好之后,代码就可以跑起来,可是,现实却给了一巴掌,错误如下:
通过torch.cuda.is_available()
为false
,可以看出安装的torch1.6框架并不能使用预装好的CUDA10.0,进而使用不了显卡进行训练。
对于torch1.6不能使用CUDA10.0,去torch的官网看了一下,发现torch1.6只支持CUDA9.2,CUDA10.1,CUDA10.2,并不支持CUDA10.0,需要非root用户在linux下安装CUDA9.2和对应的cuDNN,服务器是团队或者项目组的,因此CUDA还是自己的好用!!!
2、为什么安装CUDA9.2,而不是10.1与10.2
2.1 查看CUDA驱动版本
驱动版本即为cuda driver version,输入nvidia-smi
,看到我们服务器上的为:
输入cat /proc/driver/nvidia/version
,也可以得出CUDA驱动版本
由不同版本cunda对应的NVIDIA驱动版本的对应表,以及390.46<410.78<418.39可知,我们可以安装CUDA9.2而不是CUDA10.1或CUDA10.2
2.2 查看base environment中CUDA运行版本
运行版本即为cuda runtime version,在基础环境中,是安装在python中的cudatoolkit和cudNN程序包的版本:
- 通过
cat /usr/local/cuda/version.txt
来查看在base environment中安装的cudn版本 - 通过
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
查看cudNN的版本,若出现下面的第一个信息则表示安装成功。
2.3 查看当前虚拟环境中CUDA版本
- 输入pip list即可看到相应的CUDA,但是在此指令之中,没有看到相应的CUDA版本,是当前的pip版本中未安装CUDA。
- 或者输入conda list,看到CUDA与cudNN的版本为:
参考:https://blog.csdn.net/weixin_36474809/article/details/87820314