从零开始的深度强化学习之旅3——ubuntu18.04 + rtx3080 + cuda11.1 + cudnn8.0.4+ tensorflow-gpu-1.15

  最近我们给实验室新攒了一台电脑(终于不用再拿我可怜的笔记本跑程序了wwwww),配置见下图,用上了最新的rtx3080显卡,所以在此记录一下配置环境的过程,防止以后还要用(往事不堪回首......)

从零开始的深度强化学习之旅3——ubuntu18.04 + rtx3080 + cuda11.1 + cudnn8.0.4+ tensorflow-gpu-1.15_第1张图片

 

主要参考博文https://blog.csdn.net/weixin_43896241/article/details/108979744

1.ubuntu18.04安装rtx3080的驱动

1)最简单的方法,参见这篇博文https://blog.csdn.net/weixin_40859436/article/details/83152249

在“软件和更新”中更换ubuntu软件下载源,我选择的是科大源

1. 更新apt-get源列表
sudo apt-get update
sudo apt-get upgrade
2. 添加驱动源
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update
然后在软件和更新的附加驱动里面就可以找到3080的驱动了,应用之后不要忘了重启。

2)为了给后面的服务器的配置开路,我采用了第二种方法

参考博文https://zhuanlan.zhihu.com/p/59618999

参考博文https://blog.csdn.net/chekongfu/article/details/90758638#commentBox

官网下载驱动网址:http://www.nvidia.cn/page/home.html

将安装文件保存在/home下

(我下载的是455.38版本的驱动,我怕最新的驱动有坑)

首先禁用nouveau:

sudo gedit /etc/modprobe.d/blacklist.conf

在文件最后部分插入以下两行内容

blacklist nouveau
options nouveau modeset=0

更新系统

sudo update-initramfs -u

重启系统

安装一些 NVIDIA 显卡依赖的软件,在终端依次执行如下命令:

  • sudo dpkg --add-architecture i386
  • sudo apt update
  • sudo apt install build-essential libc6:i386

打开终端,输入如下命令:sudo telinit 3。然后按快捷键:CTRL+ALT+F1 进入字符界面,输入用户名和密码,然后登录系统,执行:

sudo bash 你的驱动安装文件名称.run

重启:reboot

查看是否安装成功:

nvidia-smi

 

2.安装 cuda11.1 + cudnn8.0.4

下载链接:https://developer.nvidia.com/zh-cn

具体安装教程参见:https://blog.csdn.net/hou9021/article/details/104311088?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase

类比一下即可

3.安装anaconda+tensorflow-gpu-1.15

anaconda的安装以及源的更换参见《从零开始的深度强化学习之旅2》。

安装完成后,使用以下命令:

conda create -n tensorflow python=3.7.0                  #创建虚拟环境tensorflow,此处使用python3.7版本

source activate tensorflow                                                        #激活虚拟环境tensorflow

conda install cudatoolkit=11                                   #以下两步按照开头提到的博文的步骤来

pip install tensorflow-gpu==1.15

4.测试能否使用gpu

参考博文https://blog.csdn.net/william_hehe/article/details/79615894

import tensorflow as tf

with tf.device('/cpu:0'):
    a = tf.constant([1.0,2.0,3.0],shape=[3],name='a')
    b = tf.constant([1.0,2.0,3.0],shape=[3],name='b')
with tf.device('/gpu:0'):
    c = a+b

#因为不是所有的操作都可以被放在GPU上,如果强行将无法放在GPU上的操作指定到GPU上,将会报错。
sess = tf.Session(config=tf.ConfigProto(allow_soft_placement=True,log_device_placement=True))
#sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))
sess.run(tf.global_variables_initializer())
print(sess.run(c))

输出结果:

Device mapping:
/job:localhost/replica:0/task:0/device:XLA_CPU:0 -> device: XLA_CPU device
/job:localhost/replica:0/task:0/device:XLA_GPU:0 -> device: XLA_GPU device

[2. 4. 6.]

tips.

踩过的坑之一,系统自己更新了内核导致驱动和内核不匹配,分辨率变大,解决方法:

https://blog.csdn.net/liu13364876993/article/details/103145720?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.control

参考上面这篇博文,恢复内核版本

为了避免再次发生,参考https://www.cnblogs.com/yangzhaon/p/12911751.html

禁止内核自动升级即可。

你可能感兴趣的:(从零开始的深度强化学习之旅,tensorflow)