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.5
  • NVIDIA Driver:470.42.01   
  • CUDA Version:11.4
  • cudnn Version:cudnn-8.2.2.26

1  显卡要满足cuda develop的支持

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

https://developer.nvidia.com/cuda-gpus

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

https://www.nvidia.cn/geforce/drivers/网站搜索3090+linux64环境下支持的driver最低版本;

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

https://developer.nvidia.com/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分开装,在https://www.nvidia.cn/drivers/unix/linux-amd64-display-archive/网站找一个高版本的driver安装好,再去https://developer.nvidia.com/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。

https://developer.nvidia.com/rdp/cudnn-download网站选对应cuda版本的cudnn加速库,这里需要注册英伟达开发者账号下载,我选的是cudnn-11.4-linux-x64-v8.2.2.26.tgz,其他历史版本https://developer.nvidia.com/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

给驱动文件增加可执行权限:chmod  777 cuda_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.5
  • cudnn=7.6.5
  • cudatoolkit=9.0
  • tensorflow-gpu=1.11

配置环境

conda create -n randlanet python=3.5
conda activate randlanet
conda install cudatoolkit=9.0 cudnn -c https://mirrors.ustc.edu.cn/anaconda/pkgs/main/
pip install tensorflow-gpu==1.11

测试

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

 

  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值