热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Ubuntu16.04下搭建TensorFlow运行环境(用Anaconda)

TensorFlow(下面简称TF)有很多种安装方式,比如原生pip方式,docker方式等等,参考官网,但是个人认为,作为学习阶段,最为方便的安装方式是用Anaconda的集成虚拟环境

TensorFlow (下面简称TF)有很多种安装方式,比如原生pip方式,docker方式等等,参考官网 ,但是个人认为,作为学习阶段,最为方便的安装方式是用Anaconda的集成虚拟环境,可以免去手工安装CUDA驱动的麻烦。

一、安装准备

需要注意的,在Ubuntu下安装TensorFlow ,有如下前提条件:

  • 64-bit 台式机 或 笔记本
  • Ubuntu 14.04 或更高

满足了这些条件之后,你需要考虑的是,你是否有NVIDIA的显卡,需要 CUDA Compute Capability 3.5 或以上的,可以去英伟达官网查询你的显卡是否可用。若可用,则建议您安装GPU版本的TF,若你的显卡太老旧了,或者你没有NVIDIA的显卡,则建议您安装CPU版本的TF。

*若您选择安装GPU版本的TF,本文假设你已经在操作系统上安装好了该显卡的驱动程序。

Anaconda 是一个用于科学计算的 Python 发行版,支持 Linux, Mac, Windows, 包含了众多流行的科学计算、数据分析的 Python 包。目前官方提供了基于python2.7的 anaconda2 和基于 python3.6 的anaconda3 下载。

我是下载的Anaconda2-5.1.0-Linux-x86_64.sh

Anaconda 安装包可以到 https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/ 下载。

ps:也可以去官网下载 https://www.anaconda.com/download/

二、开始安装

下载后,进入该文件目录:

bash ./Anaconda2-5.1.0-Linux-x86_64.sh

回车

全程Yes,默认安装在当前用户的home目录下,注意,最后一步,是问你要不要添加环境变量,默认是NO,最好选择YES.
安装完毕之后,可以用如下命令查看环境变量是否添加成功:
gedit ~/.bashrc

环境变量会在新打开的终端中生效,当前终端是不行的,因为.bashrc文件是在新打开一个终端时自动运行的。

到这里,就安装完毕了,不过呢,由于国内访问国外的官方源实在太慢了,所以我们需要把Anaconda的源切换到国内的,比如清华大学的源.

三、切换源

打开终端 ,执行如下命令,更换清华源
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --set show_channel_urls yes

四、如何使用anaconda

本质上,Anaconda就是一个python发行版,因此,要使用Anaconda,  无非就是配置环境变量,使我在终端中敲python命令时,执行的是anaconda里的那个python程序及环境,而不是linux系统内置的那个python程序环境。

在终端里执行如下命令即可完成配置,这是由anaconda为我们提供的快捷设置或切换环境的脚本工具。

source activate root

解释:source 是linux的命令,意思是在当前bash环境下读取并执行后面的脚本

   activate 是 ~/anaconda2/bin/activate 文件,由于我们在安装时自动配置了PATH环境变量,所以可以省略路径

   root    是anaconda安装好之后,默认的建立的一个python环境,你可以不用这个环境,自己用anaconda新建一个环境,可以去参考官方文档,不过,与一般的观点不同,我不建议你那么做,因为这个root环境已经安装好了大量的丰富的包,自己去建一个环境费时费力,除非你确实想隔离影响,否则,像我这种懒人是会直接用root环境的。

当执行完上面的source命令之后,命令行会多一个root前缀,表示我们当前是在root这个虚拟环境下的。你可以用

which python 命令看看,当前的python是否是正确的指向了anaconda目录下的python

后续我们大量的命令都将在这个环境下执行。


五、安装TensorFlow

终于说到正题了,在anaconda里安装TensorFlow有两种方式,一种是命令行,另一种是图形界面,网上大多数据文章都是介绍的命令行方式,这里我就给大家介绍下图形界面方式,更为直观和友好。

在终端键入anaconda-navigator命令,启动主界面

(root) forest@forest-MS-7A20:~$ anaconda-navigator 

如下图,选择左边的Environments菜单,All, 键入tensorflow 搜索,在出现的列表种,勾选想要安装的tensorflow版本,tensorflow是CPU版本,tensorflow-gpu是GPU版本。点击apply,anaconda会自动检索其依赖项,确认安装即可。是不是超级方便?


六、神器jupyter notebook

anaconda默认安装了一个python开发神器,Jupyter Notebook,(此前被称为 IPython notebook)是一个交互式笔记本,支持运行 40 多种编程语言。接下来,我们就用它来写一个tensorflow 的 helloworld ,验证我们之前的安装是否成功。

在终端中键入jupyter notebook

(root) forest@forest-MS-7A20:~$ jupyter notebook 

或用下图的方式启动jupyter notebook


在弹出的浏览器窗口中,选择New, Python 2


键入如下代码,点击运行,若输出hello,TensorFlow,则说明TensorFlow安装成功.

# Python
import tensorflow as tf
hello = tf.constant('Hello, TensorFlow!')
sess = tf.Session()
print(sess.run(hello))


推荐阅读
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • 本文介绍了在Linux下安装和配置Kafka的方法,包括安装JDK、下载和解压Kafka、配置Kafka的参数,以及配置Kafka的日志目录、服务器IP和日志存放路径等。同时还提供了单机配置部署的方法和zookeeper地址和端口的配置。通过实操成功的案例,帮助读者快速完成Kafka的安装和配置。 ... [详细]
  • 本文介绍了在CentOS上安装Python2.7.2的详细步骤,包括下载、解压、编译和安装等操作。同时提供了一些注意事项,以及测试安装是否成功的方法。 ... [详细]
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • 安装mysqlclient失败解决办法
    本文介绍了在MAC系统中,使用django使用mysql数据库报错的解决办法。通过源码安装mysqlclient或将mysql_config添加到系统环境变量中,可以解决安装mysqlclient失败的问题。同时,还介绍了查看mysql安装路径和使配置文件生效的方法。 ... [详细]
  • 树莓派Linux基础(一):查看文件系统的命令行操作
    本文介绍了在树莓派上通过SSH服务使用命令行查看文件系统的操作,包括cd命令用于变更目录、pwd命令用于显示当前目录位置、ls命令用于显示文件和目录列表。详细讲解了这些命令的使用方法和注意事项。 ... [详细]
  • 本文介绍了在Linux下安装Perl的步骤,并提供了一个简单的Perl程序示例。同时,还展示了运行该程序的结果。 ... [详细]
  • HDFS2.x新特性
    一、集群间数据拷贝scp实现两个远程主机之间的文件复制scp-rhello.txtroothadoop103:useratguiguhello.txt推pushscp-rr ... [详细]
  • 本文介绍了Linux Shell中括号和整数扩展的使用方法,包括命令组、命令替换、初始化数组以及算术表达式和逻辑判断的相关内容。括号中的命令将会在新开的子shell中顺序执行,括号中的变量不能被脚本余下的部分使用。命令替换可以用于将命令的标准输出作为另一个命令的输入。括号中的运算符和表达式符合C语言运算规则,可以用在整数扩展中进行算术计算和逻辑判断。 ... [详细]
  • 本文讨论了clone的fork与pthread_create创建线程的不同之处。进程是一个指令执行流及其执行环境,其执行环境是一个系统资源的集合。在调用系统调用fork创建一个进程时,子进程只是完全复制父进程的资源,这样得到的子进程独立于父进程,具有良好的并发性。但是二者之间的通讯需要通过专门的通讯机制,另外通过fork创建子进程系统开销很大。因此,在某些情况下,使用clone或pthread_create创建线程可能更加高效。 ... [详细]
  • 本文介绍了Windows操作系统的版本及其特点,包括Windows 7系统的6个版本:Starter、Home Basic、Home Premium、Professional、Enterprise、Ultimate。Windows操作系统是微软公司研发的一套操作系统,具有人机操作性优异、支持的应用软件较多、对硬件支持良好等优点。Windows 7 Starter是功能最少的版本,缺乏Aero特效功能,没有64位支持,最初设计不能同时运行三个以上应用程序。 ... [详细]
  • 树莓派语音控制的配置方法和步骤
    本文介绍了在树莓派上实现语音控制的配置方法和步骤。首先感谢博主Eoman的帮助,文章参考了他的内容。树莓派的配置需要通过sudo raspi-config进行,然后使用Eoman的控制方法,即安装wiringPi库并编写控制引脚的脚本。具体的安装步骤和脚本编写方法在文章中详细介绍。 ... [详细]
  • 本文总结了Linux下多线程执行shell脚本的4种方法,包括切换到工作目录执行、使用绝对路径执行、直接使用bash或sh执行。同时介绍了为什么需要加上"./"来执行脚本的原因。 ... [详细]
  • 本文分析了Wince程序内存和存储内存的分布及作用。Wince内存包括系统内存、对象存储和程序内存,其中系统内存占用了一部分SDRAM,而剩下的30M为程序内存和存储内存。对象存储是嵌入式wince操作系统中的一个新概念,常用于消费电子设备中。此外,文章还介绍了主电源和后备电池在操作系统中的作用。 ... [详细]
author-avatar
弓X箭_281
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有