Anaconda3+CUDA10.1+CUDNN7.6+TensorFlow2.6安装(Ubuntu16)

欢迎访问我的GitHub
https://github.com/zq2599/blog_demos
内容:所有原创文章分类汇总及配套源码,涉及Java、Docker、Kubernetes、DevOPS等;
本篇概览

  • 本篇记录了自己在Ubuntu 16.04.7 LTS系统上搭建TensorFlow2开发环境的过程,用于将来重装时的参考
  • 硬件是2018年购买的惠普暗隐精灵3代,显卡GTX1060,已经安装了Ubuntu16 LTS桌面版
  • 执行本篇操作前需要安装Nvidia的驱动,详情请参考《Ubuntu16安装Nvidia驱动(GTX1060显卡)》
  • 查看驱动信息,如下图,可见CUDA版本是10.1
Anaconda3+CUDA10.1+CUDNN7.6+TensorFlow2.6安装(Ubuntu16)
文章图片

版本匹配
  • 去tensorflow官网查看版本匹配关系,地址:https://tensorflow.google.cn/...
  • 如下图,在我的电脑上有三个合适的版本:
【Anaconda3+CUDA10.1+CUDNN7.6+TensorFlow2.6安装(Ubuntu16)】Anaconda3+CUDA10.1+CUDNN7.6+TensorFlow2.6安装(Ubuntu16)
文章图片

安装
  • 注意:接下来的所有操作并未使用root账号
  • 下载anaconda3,地址:https://www.anaconda.com/prod...,如下图,可见官方最新版本对应的Python是3.8,符合前面的TensorFlow版本匹配表中的Python版本,所以,就下载最新版吧(此刻是2021.05版)
Anaconda3+CUDA10.1+CUDNN7.6+TensorFlow2.6安装(Ubuntu16)
文章图片

  • 由于个人习惯,我的操作都是在MacBook上远程SSH到Ubuntu16电脑上操作的,和在本地执行命令行并无区别,您可以随意
  • 增加可执行权限:
chmod a+x Anaconda3-2021.05-Linux-x86_64.sh

  • 运行:
bash Anaconda3-2021.05-Linux-x86_64.sh

  • 按照提示输入回车:
Anaconda3+CUDA10.1+CUDNN7.6+TensorFlow2.6安装(Ubuntu16)
文章图片

  • 翻阅文档,按照要求输入yes
Anaconda3+CUDA10.1+CUDNN7.6+TensorFlow2.6安装(Ubuntu16)
文章图片

  • 是否初始化,输入yes
Anaconda3+CUDA10.1+CUDNN7.6+TensorFlow2.6安装(Ubuntu16)
文章图片

  • 安装完成:
Anaconda3+CUDA10.1+CUDNN7.6+TensorFlow2.6安装(Ubuntu16)
文章图片

  • 退出ssh重新登录,输入python即可进入anaconda环境的python:
(base) will@ubuntu-hp:~$ python Python 3.8.8 (default, Apr 13 2021, 19:58:26) [GCC 7.3.0] :: Anaconda, Inc. on linux Type "help", "copyright", "credits" or "license" for more information.

  • 创建新的conda环境,名为py38
conda create -n py38 python=3.8.8

  • 激活py38:
conda activate py38

  • 安装指定版本的tensorflow,指定国内源以加快下载速度:
pip install tensorflow-gpu==2.3.0 -i https://pypi.tuna.tsinghua.edu.cn/simple

  • 安装CUDA:
conda install cudatoolkit=10.1 -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/linux-64/

  • 安装cudnn:
conda install cudnn=7.6.5

  • 安装完成,接下来验证一下是否GPU版的TensorFlow是否安装成功
验证
  • 退出ssh,重新登录
  • 查看有哪些conda环境,以及正在使用哪个,输入命令conda info --e,如下,星号所在的行表示正在使用的是base环境,并非咱们要用的py38:
(base) will@ubuntu-hp:~$ conda info --e # conda environments: # base*/home/will/anaconda3 py38/home/will/anaconda3/envs/py38

  • 执行source activate py38即可切换到py38环境
  • 直接输入python进入python交互模式
  • 导入tensorflow:
import tensorflow as tf

  • 显示导入成功:
2021-10-08 23:08:55.391471: I tensorflow/stream_executor/platform/default/dso_loader.cc:48] Successfully opened dynamic library libcudart.so.10.1

  • 以下代码表示检查tensorflow能否得到CUDA支持,支持就会返回True,否则返回false:
tf.test.is_built_with_cuda()

  • 以下代码表示检查tensorflow能否获取到GPU:
tf.test.is_gpu_available()

  • 如果能获取到会返回Ture,并且输出的部分日志信息如下,可见显卡信息已成功取到:
2021-10-08 23:09:34.367795: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:982] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero 2021-10-08 23:09:34.368110: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1402] Created TensorFlow device (/device:GPU:0 with 5088 MB memory) -> physical GPU (device: 0, name: GeForce GTX 1060 6GB, pci bus id: 0000:01:00.0, compute capability: 6.1) True

  • 作为对比,下图是MabBook上的CPU版本TensorFlow执行结果:
Anaconda3+CUDA10.1+CUDNN7.6+TensorFlow2.6安装(Ubuntu16)
文章图片

  • 至此,安装完成。
你不孤单,欣宸原创一路相伴
  1. Java系列
  2. Spring系列
  3. Docker系列
  4. kubernetes系列
  5. 数据库+中间件系列
  6. DevOps系列
欢迎关注公众号:程序员欣宸
微信搜索「程序员欣宸」,我是欣宸,期待与您一同畅游Java世界...
https://github.com/zq2599/blog_demos

    推荐阅读