Ubuntu 16.04, GIGABYTE 3090 X2 CUDA11.2 CUDNN PYTORCH

Ubuntu 16.04, GIGABYTE 3090 X2, 装驱动和pytorch兼容

背景:原有Ubuntu16.04系统,原有1080ti的驱动,然后卸载了1080硬件和驱动,换上了两个3090显卡。需要重新装驱动,cuda等。据说和pytorch兼容有问题,还需要解决这个问题。目标是能跑起来原来的代码。

一、装驱动

步骤参见

https://blog.csdn.net/qq_39248298/article/details/107823324

我装的驱动版本是:NVIDIA-Linux-x86_64-460.67.run,是在这里下载的:https://www.nvidia.cn/drivers/results/171392/

使用nvidia-smi查询驱动版本。

二、cuda, cudnn

使用了11.2版本,貌似是3090的支持问题?

有两种方式:网上安装,下载安装。我采用的是网上安装,如果下载安装,在这里下载:https://developer.nvidia.com/cuda-toolkit-archive

我采用的是网上安装方法,在这里选择平台和其它参数:

https://developer.nvidia.com/cuda-11.2.0-download-archive?target_os=Linux&target_arch=x86_64&target_distro=Ubuntu&target_version=1604&target_type=runfilelocal

然后按照下面的代码进行安装。

$wget https://developer.download.nvidia.com/compute/cuda/11.2.0/local_installers/cuda_11.2.0_460.27.04_linux.run
$sudo sh cuda_11.2.0_460.27.04_linux.run

安装过程中,会让用户选择安装项,不用选择显 卡驱动(第一项)因为之前已经安装过了。

Ubuntu 16.04, GIGABYTE 3090 X2 CUDA11.2 CUDNN PYTORCH_第1张图片

可以看到我最开始两次都安装failed,就是因为选了安装显卡驱动,但是因为显卡驱动已经有了,所以就安装失败了。将显卡驱动选项去掉,就安装成功了。

安装完成了,出现了提示,即添加系统路径PATH和库路径LD_LIBRARY_PATH。我做了下述工作:

1)在home下面的bashrc里面,加入了两行:

export PATH="/usr/local/cuda-11.2":$PATH
export LD_LIBRARY_PATH="/usr/local/cuda-11.2/lib64":$LD_LIBRARY_PATH

然后另起一个终端中 source .bashrc。

2)在etc/ld.so.conf中加了一句话:

/usr/local/cuda-11.2/lib64

可以用以下方法写入:

$echo '/usr/local/cuda-11.2/lib‘ >> /etc/ld.so.conf 

因为我之前装了cuda8.0,所以在usr/local下面的cuda文件夹仍然是以前cuda8.0的软连接,如果要使用新的cuda版本,要重新设置软连接(切换版本方法)。方法就是删除之前的软连接,建立你想要的版本链接即可:

$sudo rm -rf cuda
$sudo ln -s /usr/local/cuda-10.0 /usr/local/cuda

然后安装cudnn,在网上注册,以前注册就登录https://developer.nvidia.com/rdp/cudnn-download

这个是我下载的

Download cuDNN v8.1.1 (Feburary 26th, 2021), for CUDA 11.0,11.1 and 11.2

下载下来名字为:cudnn-11.2-linux-x64-v8.1.1.33.tgz

然后进行解压缩和拷贝:

$ cd ~/Downloads #文件路径
$ tar xvzf cudnn-11.2-linux-x64-v8.1.1.33.tgz
$ sudo cp cuda/include/cudnn.h /usr/local/cuda/include
$ sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
$ sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*

查看cuda版本:

打开终端,输入以下语句即可显示cuda版本。

nvcc --version

或者使用nvidia-smi查询驱动版本和cuda版本。

三、pytorch 1.7.1

在anaconda环境下安装。首先建立一个新的虚拟环境空间,取名叫做:pytorch171

# To activate this environment, use:
# > source activate pytorch171
#
# To deactivate an active environment, use:
# > source deactivate

发现我的显卡驱动版本太高,导致cuda版本太高,然后pytorch的清华镜像这里目前没有11.2cuda对应的pytorch,

附:清华镜像:https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/linux-64/?C=M&O=A

然而我也懒得管了直接装pytorch试一下。首先激活pytorch171环境,经试验直接用下面的用conda安装了pytorch和相关需要使用的组件,会报错:

conda install pytorch==1.7.1 torchvision==0.8.2 torchaudio==0.7.2 cudatoolkit=11.0 -c pytorch  

报的错为:version libcublasLt.so.11 not defined in file libcublasLt.so.11 with link time reference

然后发现在pytorch环境中,直接pip安装,就没有这个问题了:

pip install torch==1.7.1+cu110 torchvision==0.8.2+cu110 torchaudio==0.7.2 -f https://download.pytorch.org/whl/torch_stable.html

接下来,运行我的pix2pix代码,发现报错找不到skimage,以及dominate两个module,分别pip安装下就可以了。

安装skimage:

pip install scikit-image

安装dominate:

在pytorch171环境下,用下面语句:

conda install -c conda-forge dominate

然后终端在pytorch171环境下运行:

python test.py --dataroot ./testData/apollo_float_TIF/AB --direction AtoB --model pix2pix --checkpoints_dir /home/yexin/Documents/SFS/pytorch-CycleGAN-and-pix2pix/checkpoints --name pix2pix_float_TIF_AtoB --input_nc 1 --output_nc 1 --num_test 10

发现可以了。

 

 

 

你可能感兴趣的:(python,Deep,learning)