想玩深度学习?框架怎能少?今天就来谈谈最流行的深度学习框架Tensorflow在Ubuntu上的配置ABC。特别说明:本文主要以安装CPU版作为演示。
如果你是Mac OS X系统,这个过程会变得更加简单,因为OS X本来就是基于Unix的操作系统,而Tensorflow对类Unix的操作系统支持非常好。现在我们假设你的系统是Windows,其实Windows上面也可以使用Tensorflow,但是据说坑会比较多,所以最好的方法是装一个虚拟机。然后在虚拟机上装Linux操作系统,这样也会省去很多麻烦。
虚拟机比较推荐的有两个,一个是VM VirtualBox,由甲骨文公司出品的免费的虚拟机软件。另外一个是VMWare,这可以说是目前功能最强大的虚拟机了。但是VMWare是收费的,而且非常庞大。不过,该公司也已经顺应形势推出了一个轻巧的免费版(对于非商业用户免费)虚拟机软件——VMWare Workstation Player,这也是本文中示例所采用的虚拟机环境。
本文示例所使用的电脑安装之操作系统为Windows 10。首先请在其上安装虚拟机,然后在虚拟机上安装Ubuntu(是当前非常流行的一个Linux系统的实现),这部分网上资料比较多,此处略过(几乎就是一路点击“下一步”到底即可)。本文所采用的Ubuntu版本为16.04,如下图所示。
接下来,你要把命令行窗口打开,方法是在Ubuntu的桌面上单击鼠标右键,然后从右键菜单中选择【Open Terminal】,如下图所示。
通常你安装好Ubuntu之后,Python是已经装好的。这个时候你需要测试一下,于是在命令行提示符$之后输入 python -V,如下图所示,可见系统上已经默认安装了Python 2.7.12。
另外一个工具是pip,这是Python下面一个相当于用来进行package管理的东西,非常方便。当你输入pip -V时,发现它还没有被安装,如下图所示。
所以下面就来安装pip。在命令行提示符$之后输入sudo apt-get install python-pip。其中sudo 表示使用super user权限,所以系统会提示你输入密码,注意密码并不会显示在屏幕上,输完密码后按回车键以继续。
类似地,接下来再按照python-dev,方式是在命令行提示符后面输入sudo apt-get install python-dev。至此,可以来查看一下已经安装的pip版本,于是在命令行提示符后面输入 piv -V。如下图所示。
一切准备就绪,就可以用pip来安装tensorflow了。网上一个帖子说根据Python版本的不同和是否GPU版本,情况分为以下四种:
$ pip install tensorflow # Python 2.7; 仅支持CPU
$ pip3 install tensorflow # Python 3.n; 仅支持CPU
$ pip install tensorflow-gpu # Python 2.7; 支持CPU
$ pip3 install tensorflow-gpu # Python 3.n; 支持CPU
本文的示例是在Python 2.7中安装仅支持CPU版的Tensorflow,所以选择第一条命令。然后,系统会自行下载并安装程序,当出现Successfully built...这样的提示时(最后无任何错误报警),就表示已经安装成功啦!(如下图所示)
一个插曲是,系统是我虚拟机上的pip版本是旧版,现在可以更新。按照提示输入pip install --upgrade pip,然后更新一下pip。
接下来可以在控制台上测试一下Tensorflow是否能正确运行。在命令行提示符后面输入python,就可以进入python的解释器环境。然后输入下面测试代码。这是利用Tensorflow实现的Hello World程序。
>>> import tensorflow as tf
>>> hello = tf.constant('Hello, TensorFlow!')
>>> mysess = tf.Session()
>>> print(mysess.run(hello))
如下图所示,屏幕上正确地输出“Hello, Tensorflow!”则表示你的Tensorflow已经安装成功。然后你使用quit()函数可以退出Python的解释器环境。
当然,在命令行进行Python编程,肯定还是有各种不顺手。你可以在Ubuntu中安装各种IDE。但是,这里我要推荐的环境是Jupyter notebook。Jupyter Notebook(此前被称为 IPython notebook)是一个交互式笔记本,支持运行 40 多种编程语言。 Jupyter Notebook 的本质是一个 Web 应用程序,便于创建和共享文学化程序文档,支持实时代码,数学方程,可视化和 markdown。在Jupyter Notebook中进行机器学习、数据挖掘、数据清洗等工作是非常流行的工作方式。当然默认情况下,你的Ubuntu中是没有Jupyter Notebook的。所以你在命令行提示符后面输入jupyter notebook会得到"command not found"这个提示。
但现实我们已经有了pip,这时安装Jupyter Notebook就只需要一条命令(注意,要用super user权限):sudo pip install jupyter。如下图所示。