Step by Step 真正从零开始,TensorFlow详细安装入门图文教程!帮你完成那个最难的从0到1

安装遇到问题请文末留言。

微信公众号:aibbtcom

AI这个概念好像突然就火起来了,年初大比分战胜李世石的AlphaGo成功的吸引了大量的关注,但其实看看你的手机上的语音助手,相机上的人脸识别,今日头条上帮你自动筛选出来的新闻,还有各大音乐软件的歌曲“每日推荐”……形形色色的AI早已进入我们生活的方方面面。深刻的影响了着我们,可以说,这是一个AI的时代。

其实早在去年年底,谷歌就开源了其用来制作AlphaGo的深度学习系统Tensorflow,相信有不少同学曾经对着这款强大的机器学习系统蠢蠢欲动,但虽然有关Tensorflow的教程其实不少,甚至谷歌官方就在Tensorflow的官网给出了一份详细的教程,也有网站已经将其翻译成了中文(点击查看),但它仍然是有门槛的,尤其是对于对计算机及编程语言了解不深的同学,可能看着页面上凭空给出的代码陷入懵逼。

真正从零开始,TensorFlow详细安装入门图文教程!

而今天我要做的,就是带着所有这些几乎没有编程基础却很想学习Tensorflow的同学跨过这道坎。告诉你们大家如何准备好使用Tensorflow进行编程所需的一切,以及如何看懂教程上的那些代码所代表的含义,那么废话不多说,我们马上开始。

在Linux操作系统下的安装

安装环境

Tensorflow的支持列表里是没有Windows的。虽然可以用Docker来实现在Windows上运行,但小问题很多,它支持的最好的还是基于unix内核的系统,如Linux,因此我们最好还是安装一个Linux的环境来运行它。Linux是一款免费的开源操作系统,应用非常广泛,如著名的Android就是基于Linux改进的一款针对手机的操作系统。而对于我们来说,最易于理解的版本就是著名的Ubuntu,点击链接即可去官网下载,正如前面所说,下载和使用都是免费的。

如果你使用的是Mac,那就方便很多了,因为Mac os本身就是一个基于Unix的操作系统,已经搭载了全部安装Tensorflow所需要的组件。所以安装的很多步骤都可以省去,直接进行Tensorflow的安装,不过命令同Ubuntu有所不同。但你也可以看看接下来的教程,对理解那些命令也会有帮助。呃……你说你在Mac上装了Windows?

下载之后,你会得到一个装着Ubuntu系统的.iso文件。有两个办法来处理它,一是直接安装,同电脑现在在用的系统组成双系统(当然你也可以换掉现在的系统,不过我想应该没有人会愿意这么做的吧哈哈)。如果你不想那么大动干戈,也可以通过虚拟机来虚拟一个系统。不过,安装虚拟机对配置有一定要求,毕竟它相当于在你的电脑上同时打开两个系统了——CPU最好不要低于4代i3(尤其是笔记本,CPU型号的i3/5/7-xxxx的四位数里第一个x就表示它的代数)。内存——注意,内存一定不能低于4g,因为你给虚拟机分配的内存在虚拟机启动之后会1:1的从你的物理内存中划走。再加上物理机系统的消耗。当然,这个配置表是只有下限没有上限的,你的电脑配置越好,体验就越好。而装双系统的话,对配置的需求就小很多了。

真正从零开始,TensorFlow详细安装入门图文教程!

虚拟机安装中

网上相关的教程都比较多,在这里就不重复了,注意搜索安装双系统教程的时候要加上你现用的系统和你下载的Ubuntu系统的版本号。这里只讲几个需要注意的地方。

真正从零开始,TensorFlow详细安装入门图文教程!

因为Linux对安全性非常重视,因此不仅权限管理十分严格,在创建操作系统的时候也会要求你一定要输入一个密码,这个密码将用来登陆和获得root权限。就比如上面这个界面,如果你不把所有空格都填好是没法点下一步的。

Python

真正从零开始,TensorFlow详细安装入门图文教程!

Ubuntu桌面的样子,(悄悄说一句笔者觉得基于Unix的系统普遍比Windows好看太多,主要是字体看着真舒服)

安装好之后,我们看到了一些熟悉的软件和一些不熟悉的软件,我们先不去管它,介绍一下Python。Python是一种高级语言,它的特点是程序很简洁,但是因为简洁,所以在将其翻译成CPU可以理解的指令——也就是执行代码的时候速度会比那些低级一些的语言,比如C语言慢一些。不过在现在电脑的性能面前,这种速度的差别大多数时候根本不足挂齿。

解释器

很多人可能会觉得Python很抽象,因为提到Python,大家不会像C语言那样马上想起它有一个专用的编译器。Python可以执行的地方千奇百怪。甚至可以很方便的在系统的Terminal(一个类似于Windows里的命令行的工具)里直接执行。Ubuntu自带了Python,因此一般不用烦心安装事宜。

Tensorflow支持多种前端语言,但对Python的支持是最好的,因此我们的教程也基于Python来进行,首先我们打开Terminal。作为Ubuntu中非常重要的一个组成部分,有很多种方法可以打开它。比如在桌面上点击右键

真正从零开始,TensorFlow详细安装入门图文教程!

也可以点击左上角的那个Ubuntu图标搜索。打开后可以看到Terminal窗口如下所示。标题栏里@符号前面是你的用户名。

真正从零开始,TensorFlow详细安装入门图文教程!

如果你在你的计算机使用史中从来没有离开过图形用户界面(就是有一个鼠标和很多图标让你点的那种)。看到这个简单得吓人的窗口不要慌,只要输入正确的命令就好了。

在正式开始之前我想说:一定要注意窗口给出的提示(英文)。在实际操作中可能会碰到各种各样的问题,但常见的问题其实都可以根据它的报错信息找到原因,只要上网搜一搜相应的信息就能解决,甚至它自己就会给出解决的建议。如果你发现你的步骤一切正确,但就是无法成功,多试几次就好了,毕竟这些服务都是谷歌提供的,而谷歌……你懂的。

必不可少的python-pip和python-dev

在这个窗口中输入命令:

$ sudo apt-get install python-pip python-dev

注意,窗口中其实已经有一个$符号了,因此你在复制或者输入命令时其实不用将这个$符号也包括进去,但是网上的教程给出命令的时候一般是会把这个符号包括进去的,作为一个标志。注意一下就好。

命令最开始的sudo意味着这条指令将以root权限执行,所以需要输入你最开始设置的那个密码,注意输入过程在屏幕上是不会有任何体现的。输完直接按回车就行。

真正从零开始,TensorFlow详细安装入门图文教程!

输入后会出现一串代码,然后问是否继续,输入y回车

然后可以静待安装完成,解释一下这条命令:apt-get是从软件仓库中获取软件的一条命令,而软件仓库是Linux各大发行版的共有特征:它是一系列存放软件的服务器或网站,包含了软件包和索引文件,用户可以很轻松的使用命令自动定位并安装其中的软件,而省去了到处搜索的麻烦。install则是安装指令,而python-pip和python-dev则是两个需要安装的软件包的名字。pip可以理解成一个比较高级的软件安装器,安装Tensorflow要用到,而dev则是一个额外的类库,也是Tensorflow的安装和运行需要的。如果一切顺利,在大串英文划过后,我们会看到如下的界面:

真正从零开始,TensorFlow详细安装入门图文教程!

此时就可以安装Tensorflow了,指令如下:

$ sudo pip install –upgrade https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.8.0-cp27-none-linux_x86_64.whl

就像前面所说的,你可能会碰到这样那样的问题,比如下图这样的

真正从零开始,TensorFlow详细安装入门图文教程!

在这些时刻,不要慌张,仔细阅读错误信息,越往后的通常越重要,因为结论都是在最后给出的,像这个的最后:

真正从零开始,TensorFlow详细安装入门图文教程!

你看,它不仅告诉了你应该试着做什么,连怎么做都告诉你了。按它说的做就好

不过其实当时笔者用的并不是8.1.1版本,使用升级命令后也只是升级到了8.1.1版本,再次输入相同命令,它会告诉你你的版本已经是最新的了。但问题确实解决了,这条提示在之后没有再出现。

真正从零开始,TensorFlow详细安装入门图文教程!

更新程序将版本更新到了8.1.1,然后这个提示就不会再烦你了

再次输入安装Tensorflow的命令,如果不行,就多试几次,

真正从零开始,TensorFlow详细安装入门图文教程!

仔细看这些黄字的信息,会发现Network is unreachable这样的字样,如果你有什么传说中的利器的话,现在是时候拿出来用了。但是不用也没关系,多试几次,还是可以成功的。

真正从零开始,TensorFlow详细安装入门图文教程!

出现上图这样的界面的时候,你就可以长舒一口气,因为安装已经完成,现在你已经可以使用Tensorflow了,让我们跟着教程向世界说声hi吧。

从Terminal进入Python环境的方法也很简单,直接输入命令:Python。如果本机已经安装了Python,Terminal会显示Python的版本号等信息,同时下一个指令的前缀会由用户名等一串字符变成这样的东西:“>>>”,这说明进入完成了。

真正从零开始,TensorFlow详细安装入门图文教程!

按照下面的命令一行一行的敲入代码,语法我在这就不解释了~

真正从零开始,TensorFlow详细安装入门图文教程!

为了到达这一步,你可能付出了很多艰辛,可能中途出了很多错,但相信当你看到程序真的按照你的指令来运行了一遍,你会觉得这一切都是值得的。

真正从零开始,TensorFlow详细安装入门图文教程!

#彩蛋时间#

1.程序员们在接触一门新语言的时候,通常做的第一件事就是编写一个Hello World程序,这一惯例源自最初一批大神们对计算机程序的希冀,希望它们就像一个新生儿一样,能友善的对这个世界宣告它的到来。

2.数字42的含义非常深刻。据著名一本道科幻小说“银河系漫游指南”所说,42是一个关于“生命、宇宙以及一切”的问题的答案(哈?你问我问题