30系显卡配置tensorflow1.x环境

说明:
nvidia 30系显卡仅支持cuda11.0及以上版本,对应cudnn最低版本为8.0,tf版本为2.4.0
在win系统中无法实现30系显卡运行tf1的代码

该教程使用的环境如下:

  • Ubuntu20.04
  • 3060 显卡
  • cuda 11.1
  • cudnn 8.0.5
  • python 3.6
  • tensorflow 1.15
  • 其中 python 版本和 tensorflow 版本是固定的
  • 简陋的目录
  • 安装显卡驱动
  • 安装cuda
  • 安装cudnn
  • 安装python(直接略过,我使用的conda 里面创建了一个python3.6的虚拟环境)
  • 安装tensorflow1.15

安装 显卡驱动

# 依次执行以下命令
ubuntu-drivers devices		#查看电脑所需要的驱动
# 通过上述命令也可能返回为空什么都不显示,添加官方ppa的源,在更新以下
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update
sudo ubuntu-drivers autoinstall		#让其自动安装显卡驱动
#安装完成后通过nvdia-smi仍然无法查到显卡型号。重启一下。
#通过设置->软件更新->附加驱动里面查看选择相应的显卡驱动

安装 CUDA

  • 在nvidia官网下载相应cuda文件
  • cuda文件链接
  • 选择相应版本进行安装
    30系显卡配置tensorflow1.x环境_第1张图片
#安装方式参考cuda官网即可
# 例:
wget https://developer.download.nvidia.com/compute/cuda/11.1.0/local_installers/cuda_11.1.0_455.23.05_linux.run
sudo sh cuda_11.1.0_455.23.05_linux.run

在安装时,由于事先已经安装了显卡驱动,因此此时不用选择显卡驱动选项
在这里插入图片描述
该页面输入accept

30系显卡配置tensorflow1.x环境_第2张图片该页面将第一个Driver取消勾选,然后执行最后的install

然后配置cuda环境变量
gedit ~/.bashrc 打开相应的文件,并在文件最后插入以下内容

# cuda-11.1 位置出改成自己对应的文件夹名称
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-11.1/lib64
export PATH=$PATH:/usr/local/cuda-11.1/bin
export CUDA_HOME=$CUDA_HOME:/usr/local/cuda-11.1

保存文件,执行source ~/.bashrc激活环境
若执行nvcc -V成功,则配置完毕

安装 cudnn

cuda 与 cudnn版本对应关系自行网上搜索

需要注册账号,登陆才能下载

cudnn链接地址
以图中为例
30系显卡配置tensorflow1.x环境_第3张图片
下载deb文件进行安装,例如:

cuDNN Runtime Library for Ubuntu20.04 x86_64 (Deb)

cuDNN Developer Library for Ubuntu20.04 x86_64 (Deb)

cuDNN Code Samples and User Guide for Ubuntu20.04 x86_64 (Deb)

下载完毕之后进行安装

sudo dpkg -i libcudnn8_8.0.5.39-1+cuda11.1_amd64.deb
sudo dpkg -i libcudnn8-dev_8.0.5.39-1+cuda11.1_amd64.deb
sudo dpkg -i libcudnn8-samples_8.0.5.39-1+cuda11.1_amd64.deb
# 三个文件的安装顺序不能错

下面是cudnn测试,不测也可以

# 将cuDNN示例复制到可写路径
cp -r /usr/src/cudnn_samples_v8/ $HOME
# 进入到可写路径
cd  $HOME/cudnn_samples_v8/mnistCUDNN
# 编译mnistCUDNN示例
make clean && make
# 运行mnistCUDNN示例
./mnistCUDNN

安装conda以及python

略过

安装tensorflow1.15

pip install --upgrade pip
pip install nvidia-pyindex
pip install nvidia-tensorflow[horovod]
pip install nvidia-tensorboard==1.15

测试

import tensorflow as tf
import tensorboard

tf.enable_eager_execution()
a = tf.random.uniform([1000, 1000])
b = tf.random.uniform([1000, 1000])
print(tf.matmul(a, b))		# 检查输出即可

本文参考:

的本天行者同学
weixin_43751285
谷米今天认路了吗

你可能感兴趣的:(python,深度学习,人工智能,框架搭建,linux,tensorflow,深度学习,python)