
1.1 Python基本安装和用法
Python是深度学习的首选开发语言,对于安装它来说,有很多种选择。目前很多第三方提供了集成大量科学计算类库的Python标准安装包,最常用的是Anaconda。
Anaconda的作用就是里面集成了很多关于Python科学计算的第三方库,主要是安装方便,而Python是一个脚本语言,如果不使用Anaconda,那么第三方库的安装会较为困难,各个库之间的依赖性就很难连接得很好。因此,这里推荐直接安装Anaconda软件来替代Python语言的安装。
1.1.1 Anaconda的下载与安装
1. 第一步:下载和安装
Anaconda官方的下载地址是:https://www.anaconda.com/distribution/#download-section,其页面如图1.1所示。

图1.1 Anaconda下载页面
截至到本书出版时,官方最新提供的是集成了Python 3.7版本的Anaconda下载。作者经过测试,无论是3.7版本或者3.6版本的Python,都不影响TensorFlow 2.0的使用,读者可以根据自己喜好以及操作系统的位数选择相应的软件下载安装。
(1)这里作者推荐使用的是Windows平台Python 3.6的版本,因为3.7版本推出的时间不是很长,在安装TensorFlow时有可能会遇到一些莫名其妙的问题,因此建议喜欢挑战的读者下载。集成Python 3.6版本的Anaconda可以在清华大学Anaconda镜像网站下载(https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/),打开后如图1.2所示。

图1.2 清华大学Anaconda镜像网站提供的副本
注意
作者的Windows是64位的,因此选择Anaconda3-5.2.0-Windows-x86_64.exe安装文件下载!
(2)下载完成后得到的文件是exe版本,直接运行即可进入安装过程(大概5分钟)。安装完成以后,出现如图1.3所示的目录结构,说明安装正确。

图1.3 Anaconda安装目录
2. 第二步:打开控制台
之后依次单击:开始→所有程序→Anaconda3→Anaconda Prompt,打开Anaconda Prompt窗口,它与CMD控制台类似,输入命令就可以控制和配置Python。在Anaconda中最常用的是conda命令,该命令可以执行一些基本操作。
3. 第三步:验证Python
接下来在控制台中输入python,如安装正确,会打印Python的版本号以及控制符号>>>。在控制符号下输入代码:

输出结果如图1.4所示。

图1.4 验证Anaconda Python安装成功
4. 使用conda命令
使用Anaconda的好处在于,它能够很方便地帮助读者安装和使用大量第三方类库。查看已安装的第三方类库的代码:

提示
如果此时命令行还在>>>状态,可以输入exit()退出。
在Anaconda Prompt控制台输入conda list代码,结果如图1.5所示。

图1.5 列出已安装的第三方类库
Anaconda中使用conda进行操作的方法还有很多,其中最重要的是安装第三方类库,命令如下:

这里的name是需要安装的第三方类库名(见图1.6),例如当需要安装NumPy包(这个包已经安装过),那么输入的命令如下:


图1.6 自动获取或更新依赖类库
使用Anaconda一个特别的好处就是默认安装好了大部分学习所需的第三类库,这样避免了读者在安装和使用某个特定类库时,可能出现的依赖类库缺失的情况。
1.1.2 Python编译器PyCharm的安装
和其他语言类似,Python程序的编写可以使用Windows自带的控制台进行程序编写。但是这种方式对于较为复杂的程序工程来说,容易混淆相互之间的层级和交互文件,因此在编写程序工程时,作者建议使用专用的Python编译器PyCharm。
1. 第一步:PyCharm的下载和安装
PyCharm的下载地址为:http://www.jetbrains.com/pycharm/。
(1)进入Download页面后可以选择不同的版本,如图1.7所示,收费的专业版和免费的社区版。这里建议读者选择免费的社区版本即可。

图1.7 PyCharm的免费版
(2)双击运行后进入安装界面,如图1.8所示。直接单击Next按钮,采用默认安装即可。

图1.8 PyCharm的安装文件
(3)如图1.9所示,这里需要注意,在安装PyCharm的过程中,需要对安装的位数进行选择,这里建议读者选择与已安装的Python相同位数的文件。

图1.9 PyCharm的配置选择(按个人真实情况选择)
(4)安装完成后出现Finish按钮,单击该按钮安装完成,如图1.10所示。

图1.10 PyCharm安装完成
2. 第二步:使用PyCharm创建程序
(1)单击桌面上新生成的图标进入PyCharm程序界面,首先是第一次启动的定位,如图1.11所示。这里是对程序存储的定位,一般建议选择第2个,由PyCharm自动指定即可。之后单击弹出的“Accept”按钮,接受相应的协议。

图1.11 PyCharm启动定位
(2)接受协议后进入界面配置选项,如图1.12所示。

图1.12 PyCharm界面配置
(3)在配置区域可以选择自己的使用风格,对PyCharm的界面进行配置,如果对其不熟悉的话,直接单击OK按钮,使用默认配置即可。
(4)最后就是创建一个新的工程,如图1.13所示。

图1.13 PyCharm创建工程界面
这里,建议读者新建一个PyCharm的工程文件,结果如图1.14所示。

图1.14 PyCharm新建文件界面
之后鼠标右击新建的工程名PyCharm(见图1.15),选择New|Python File菜单新建一个helloworld.py文件。

图1.15 PyCharm工程创建界面
输入代码并单击菜单栏的Run|run…运行代码,或者直接右击helloworld.py文件名,在弹出的快捷菜单中选择run。如果成功输出hello world,那么恭喜你,Python与PyCharm的配置就完成了!
1.1.3 使用Python计算softmax函数
对于Python科学计算来说,最简单的想法就是可以将数学公式直接表达成程序语言,可以说,Python满足了这个想法。本小节将使用Python实现和计算一个深度学习中最为常见的函数——softmax函数。至于这个函数的作用,现在不加以说明,作者只是带领读者尝试实现其程序的编写。
首先softmax计算公式如下所示:

其中Vi是长度为j的数列V中的一个数,带入softmax的结果其实就是先对每一个Vi取e为底的指数计算变成非负,然后除以所有项之和进行归一化,之后每个Vi就可以解释成:在观察到的数据集类别中,特定的Vi属于某个类别的概率,或者称作似然(Likelihood)。
提示
softmax用以解决概率计算中概率结果大而占绝对优势的问题。例如函数计算结果中2个值a和b,且a>b,如果简单地以值的大小为单位衡量的话,那么在后续的使用过程中,a永远被选用而b由于数值较小而不会被选择,但是有时候也需要使用数值小的b,那么softmax就可以解决这个问题。
softmax按照概率选择a和b,由于a的概率值大于b,在计算时a经常会被取得,而b由于概率较小,取得的可能性也较小,但是也有概率被取得。
公式softmax的代码如下:
【程序1-1】

从代码可以看到,当传入一个数列后,该函数分别计算每个数值所对应的指数值,之后将其相加后计算每个数值在数值和中的概率。