欢送拜访我的 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 版本是 <font color=”red”>10.1</font>
版本匹配
- 去 tensorflow 官网查看版本匹配关系,地址:https://tensorflow.google.cn/…
- 如下图,在我的电脑上有三个适合的版本:
装置
- 留神:接下来的所有操作 <font color=”red”> 并未应用 </font>root 账号
- 下载 anaconda3,地址:https://www.anaconda.com/prod…,如下图,可见官网最新版本对应的 Python 是 3.8,合乎后面的 TensorFlow 版本匹配表中的 Python 版本,所以,就下载最新版吧(此刻是 <font color=”blue”>2021.05</font> 版)
- 因为集体习惯,我的操作都是在 MacBook 上近程 SSH 到 Ubuntu16 电脑上操作的,和在本地执行命令行并无区别,您能够随便
- 减少可执行权限:
chmod a+x Anaconda3-2021.05-Linux-x86_64.sh
- 运行:
bash Anaconda3-2021.05-Linux-x86_64.sh
- 依照提醒输出回车:
- 翻阅文档,依照要求输出 <font color=”blue”>yes</font>:
- 是否初始化,输出 <font color=”blue”>yes</font>:
- 装置实现:
- 退出 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 环境,名为 <font color=”blue”>py38</font>:
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 环境,以及正在应用哪个,输出命令 <font color=”blue”>conda info –e</font>,如下,星号所在的行示意正在应用的是 base 环境,并非咱们要用的 py38:
(base) will@ubuntu-hp:~$ conda info --e
# conda environments:
#
base * /home/will/anaconda3
py38 /home/will/anaconda3/envs/py38
- 执行 <font color=”blue”>source activate py38</font> 即可切换到 py38 环境
- 间接输出 <font color=”blue”>python</font> 进入 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 执行后果:
- 至此,装置实现。
你不孤独,欣宸原创一路相伴
- Java 系列
- Spring 系列
- Docker 系列
- kubernetes 系列
- 数据库 + 中间件系列
- DevOps 系列
欢送关注公众号:程序员欣宸
微信搜寻「程序员欣宸」,我是欣宸,期待与您一起畅游 Java 世界 …
https://github.com/zq2599/blog_demos