200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > RTX-3090 GPU 搭建深度学习环境-测试低版本tensorflow-gpu

RTX-3090 GPU 搭建深度学习环境-测试低版本tensorflow-gpu

时间:2022-08-18 23:03:42

相关推荐

RTX-3090 GPU 搭建深度学习环境-测试低版本tensorflow-gpu

目录

1 显卡要满足cuda develop的支持

2 安装cuda的同时装内置的driver

3 安装

删除原有的NVIDIA驱动程序

bios禁用secure boot,也就是设置为disable

禁用nouveau

重启reboot

停止可视化桌面:

安装driver

重启​

安装cudnn

直接测试高版本tensorflow-gpu==2.5.0

5 安装和测试低版本tensorflow-gpu

安装anaconda,构建conda环境

测试案例

配置环境

测试

NVIDIA最新的GPU 3090和tensorflow-gpu目前有些不兼容(之后这些问题应该会逐渐消失),试过几个driver版本,cuda版本后,经过各种折腾后终于测试通过。推荐下面的版本:

Ubuntu:18.04.5NVIDIA Driver:470.42.01CUDA Version:11.4cudnn Version:cudnn-8.2.2.26

1 显卡要满足cuda develop的支持

不是所有的NVIDIA的显卡都可以支持cuda develop,super系列都不支持,如2080s,不支持cuda develop的无法做深度学习(即不支持tf和pytorch),cuda develop支持的显卡列表:

/cuda-gpus

2 安装cuda的同时装内置的driver

在/geforce/drivers/网站搜索3090+linux64环境下支持的driver最低版本;

在/cuda/cuda-toolkit-release-notes/index.html#cuda-major-component-versions网站的table3 看一下cuda对driver版本的最低要求;

从/cuda-toolkit-archive网站选择合适的cuda版本,不需要额外装driver,cuda含有适配的driver的最低版本。

注意:新发行的GPU不能装太低版本的driver,这要求我们要装的cuda内含有默认的driver版本不能太低,比如cuda_11.2.0_460.27.04_linux.run文件,装cuda11.2内置的driver为460.27.04,这个版本的driver不支持3090,这就导致你装cuda失败。

新版本GPU装低版本cuda解决方法:

第一种方法,可以采用cuda和driver分开装,在/drivers/unix/linux-amd64-display-archive/网站找一个高版本的driver安装好,再去/cuda-toolkit-archive找到你要的低版本cuda,同时在安装cuda的时候不要选中默认的driver;

第二种方法(推荐),机器直接装高版本cuda(内置的driver是支持新发行的GPU的),利用conda install cudatoolkit==x.x.x cudnn=x.x.x装低版本的cuda,这里的cudatoolkit是给tf或pytorch使用的,不可以不装高版本的cuda.run文件,只装cudatoolkit+driver会报错,因为cudatoolkit缺少很多run文件中才有的库。

RTX-3090我选的是cuda_11.4.0_470.42.01_linux.run,即cuda11.4+driver470.42.01。

在/rdp/cudnn-download网站选对应cuda版本的cudnn加速库,这里需要注册英伟达开发者账号下载,我选的是cudnn-11.4-linux-x64-v8.2.2.26.tgz,其他历史版本/rdp/cudnn-archive

3 安装

删除原有的NVIDIA驱动程序

如果你没有安装过,或者已经卸载,可以忽略:

sudo apt-get remove --purge nvidia*

bios禁用secure boot,也就是设置为disable

如果没有禁用secure boot,会导致NVIDIA驱动安装失败,或者不正常。

禁用nouveau

打开编辑配置文件:sudo gedit /etc/modprobe.d/blacklist.conf

在最后一行添加:blacklist nouveau

这一条的含义是禁用nouveau第三方驱动,之后也不需要改回来

由于nouveau是构建在内核中的,所以要执行下面命令生效:

sudo update-initramfs -u

重启reboot

重启之后,可以查看nouveau有没有运行:

lsmod | grep nouveau # 没输出代表禁用生效

停止可视化桌面:

为了安装新的Nvidia驱动程序,我们需要停止当前的显示服务器。

最简单的方法是使用telinit命令更改为运行级别3

sudo telinit 3

之后会进入一个新的命令行会话,使用当前的用户名密码登录

安装driver

给驱动文件增加可执行权限:chmod777cuda_11.4.0_470.42.01_linux.run

然后执行安装:sudo bash cuda_11.4.0_470.42.01_linux.run

accept 后在options中选 '不要装openGL'

重启

安装cudnn

tar -xvf cudnn-11.4-linux-x64-v8.2.2.26.tgz

cd cuda

sudo cp include/* /usr/local/cuda/include

sudo cp lib64/* /usr/local/cuda/lib64

直接测试高版本tensorflow-gpu==2.5.0

import tensorflow as tf; print('GPU',tf.test.is_gpu_available()) 返回True代表成功。

5 安装和测试低版本tensorflow-gpu

安装anaconda,构建conda环境

anaconda安装和使用自行百度

测试案例

低版本的tf,相应的cuda版本也要降级,采用conda安装低版本的cudatoolkit兼容高版本的cuda。

python=3.5cudnn=7.6.5cudatoolkit=9.0tensorflow-gpu=1.11

配置环境

conda create -n randlanet python=3.5

conda activate randlanet

conda install cudatoolkit=9.0 cudnn -c https://mirrors./anaconda/pkgs/main/

pip install tensorflow-gpu==1.11

测试

import tensorflow as tf; print('GPU',tf.test.is_gpu_available()) 返回True代表成功。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。