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

版本匹配
- 去tensorflow官网查看版本匹配关系,地址:https://tensorflow.google.cn/install/source
- 如下图,在我的电脑上有三个合适的版本:

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

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

- 翻阅文档,按照要求输入yes:

- 是否初始化,输入yes:

- 安装完成:

- 退出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执行结果:

- 至此,安装完成。
你不孤单,欣宸原创一路相伴
欢迎关注公众号:程序员欣宸
微信搜索「程序员欣宸」,我是欣宸,期待与您一同畅游Java世界...
https://github.com/zq2599/blog_demos
Anaconda3+CUDA10.1+CUDNN7.6+TensorFlow2.6安装(Ubuntu16)的更多相关文章
- Note | PyTorch1.2 + CUDA10.0 + cuDNN7.6 + Anaconda3配置
目标: 在2080Ti GPU上,运行PyTorch1.2 GPU版本. 经过确认,PyTorch1.2可以搭配CUDA10.0,而CUDA10.0搭配cuDNN7.6(官网下载页面可以直接看到). ...
- win10+Anaconda3+CUDA9.0+CUDNN7.1+TensorFlow-gpu1.9+Pycharm
想在win10上运行下YOLO的例子,要先配置环境,折腾了两天,终于好了,整理下自己觉得有用且正确的流程. win10+Anaconda3+CUDA9.0+CUDNN7.1+TensorFlow1.9 ...
- Ubuntu16.04 + cuda9.0 + cudnn7.1.4 + tensorflow安装
安装前的准备 UEFI 启动GPT分区 Win10和Ubuntu16.04双系统安装 ubuntu16.04 NVIDIA 驱动安装 ubuntu16.04 NVIDIA CUDA8.0 以及cuDN ...
- Ubuntu18.04+CUDA9.0+cuDNN7.1.3+openface安装总结
目录 前言 编译工具CMake C++标准库安装 下载OpenFace代码 OpenCV安装 luarocks-Lua 包管理器,提供一个命令行的方式来管理 Lua 包依赖.安装第三方 Lua 包等功 ...
- win10安装ubuntu16.04及后续配置
原文地址:https://www.jianshu.com/p/842e36a8255c UEFI 模式下win10安装ubuntu16.04双系统教程 - baobei0112的专栏 - CSDN博客 ...
- Win7 U盘安装Ubuntu16.04 双系统详细教程
Win7 U盘安装Ubuntu16.04 双系统详细教程 安装主要分为以下几步: 一. 下载Ubuntu 16.04镜像软件: 二. 制作U盘启动盘使用ultraISO: 三. 安装Ubuntu系统: ...
- 路由器安装ubuntu-16.04.1-server-amd64出现“无法安装busybox-initramfs”错误。向目标系统中安装busybox-initramfs软件包时出现一个错误。请检查/var/log/syslog或查看第四虚拟控制台以获得详细
公司的路由器要ubuntu服务器进行路由网络功能的管理,在安装的时候出现下面的错误提示: 安装ubuntu-16.04.1-server-amd64出现“无法安装busybox-initramfs”错 ...
- 初用Linux, 安装Ubuntu16.04+NVIDIA387+CUDA8.0+cudnn5.1+TensorFlow1.0.1
因为最近Deep Learning十分热门, 装一下TensorFlow学习一下. 本文主要介绍安装流程, 将自己遇到的问题说明出来, 并记录自己如何处理, 原理方面并没有能力解释. 由于本人之前从来 ...
- 安装Ubuntu16.04失败
原本安装的是Ubuntu14,但是在使用caffe时总是出错,所以干脆将Ubuntu从14升级到16,结果整出一堆麻烦.在解决这些麻烦的过程也学习了不少系统启动的细节.印证了那句话"如何没有 ...
随机推荐
- 什么是git?
目录 一.简介 Git与SVN 区别 一.简介 Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目. Git 是 Linus Torvalds 为了帮助管理 Linux 内核 ...
- noVNC连接多台远程主机
noVNC是一个HTML5 VNC客户端,采用HTML5 websockets.Canvas和JavaScript实现,noVNC被普遍应用于各大云计算.虚拟机控制面板中,比如OpenStack Da ...
- 【教程】OBS直播推流教程(Windows & macOS)
OBS Open Broadcaster Software | OBS (obsproject.com) Windows直播推流教程 Windows下OBS直播推流非常简单,本教程将会介绍,具体步骤如 ...
- [BUUCTF]REVERSE——[WUSTCTF2020]Cr0ssfun
[WUSTCTF2020]Cr0ssfun 附件 步骤: 例行检查,无壳儿,64位程序,直接ida载入,检索程序里的字符串,根据提示跳转 看一下check()函数 内嵌了几个检查的函数,简单粗暴,整理 ...
- MySQL管理之道,性能调优,高可用与监控(第二版)pdf下载
MySQL管理之道,性能调优,高可用与监控(第二版) 书中内容以实战为导向,所有内容均来自于笔者多年实践经验的总结和新知识的拓展,同时也针对运维人员.DBA等相关工作者会遇到的有代表性的疑难问题给出了 ...
- 突出显示(Project)
<Project2016 企业项目管理实践>张会斌 董方好 编著 当一个大的项目文件做好以后,查看全部内容,肉眼多少会有点吃不消,这时就需要"划重点".在Porect里 ...
- java 多线程 线程组ThreadGroup;多线程的异常处理。interrupt批量停止组内线程;线程组异常处理
1,线程组定义: 线程组存在的意义,首要原因是安全.java默认创建的线程都是属于系统线程组,而同一个线程组的线程是可以相互修改对方的数据的.但如果在不同的线程组中,那么就不能"跨线程组&q ...
- Unhandled Exception: FormatException: Unexpected character
错误原因 json格式不正确,检查:是否加了注释.最后一个是否加了逗号... 正确格式 { "name": "shellon", "age" ...
- JAVA工具类获取HttpServletRequest、HttpServletResponse 对象
添加依赖 <!-- Spring Web --> <dependency> <groupId>org.springframework</groupId> ...
- JAVA通过经纬度获取两点之间的距离
private static double EARTH_RADIUS = 6378.137; private static double rad(double d) { return d * Math ...