欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2024-01-11 16:55:34
...

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

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

 

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

1.ubuntu18.04安装rtx3080的驱动

我采取的是网上最简单的方法,参见这篇博文https://blog.csdn.net/weixin_40859436/article/details/83152249

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的驱动了,应用之后不要忘了重启。

在执行上述操作之前,我有试着按照网上的教程禁用ubuntu自带的驱动nouveau,但是结合我之前笔记本安装驱动的经验这一步可能并不需要,当然这是在你使用了上述方法进行安装的前提下。

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.]