Python是深度学习的首选开发语言。对于安装来说,很多第三方都提供了集成大量科学计算类库的Python标准安装包,常用的是Anaconda。
Anaconda里面集成了很多关于Python科学计算的第三方库,主要是安装方便。Python是一个脚本语言,如果不使用Anaconda,那么第三方库的安装会较为困难,各个库之间的依赖性很难连接得很好。因此推荐使用集合了大量第三方类库的安装程序Anaconda来替代Python的安装。
Anaconda官方的下载地址是https://www.continuum.io/downloads/(见图1.1,不推荐使用Python3.7版)。
图1.1 Anaconda下载页面
这里提供的是集成了Python3.7版本的Anaconda下载。建议选用Python3.6版本的Anaconda,如果选用3.7版本,那么在使用TensorFlow 2.0的时候可能会出现一些未知原因的错误,需要花时间去排除。
(1)集成Python3.6版本的Anaconda可以在清华大学Anaconda镜像网站下载,地址为https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/,打开后如图1.2所示。
图1.2 清华大学Anaconda镜像网站提供的副本
选择以Anaconda3开头、以64结尾的安装文件,不要下载错了!
(2)下载完成后获得exe文件,直接运行即可安装,与普通软件一样。安装完成以后,出现如图1.3所示的目录结构,说明安装正确。
图1.3 Anaconda安装目录
依次单击“开始→所有程序→Anaconda→Anaconda Prompt”。这些步骤和打开Windows下的CMD控制台类似,输入命令就可以控制和配置Python。在Anaconda中常用的是conda命令。该命令可以执行一些基本操作,如更新某个包:
conda update name
在控制台中输入“python”,若安装正确则会打印出版本号,以及Python的控制符号>>>。在控制符号下输入代码:
print("hello world")
输出结果如图1.4所示。
图1.4 验证Anaconda Python安装成功
建议使用Anaconda的好处在于能够极大地帮助读者安装和使用大量第三方类库。查看已安装的第三方类库的命令是:
conda list
在Anaconda Prompt控制台中输入exit()或者重新打开Anaconda Prompt控制台后直接输入conda list命令,执行结果如图1.5所示。
图1.5 列出已安装的第三方类库
Anaconda中使用conda进行操作的方法还有很多,其中最重要的是安装第三方类库,命令如下:
conda install name
这里的name是需要安装的第三方类库名,例如安装NumPy包,那么输入的命令就是:
conda install numpy
假如之前已经安装过NumPy包,那么该命令执行后会自动获取一些新的依赖库,并询问是否更新,如图1.6所示。
图1.6 自动获取或更新依赖类库
使用Anaconda的好处就是默认安装好了大部分学习所需的第三方类库,从而大大减少了使用者在安装和使用某个特定类库时碰到依赖类库缺失的情况。
和其他语言类似,Python程序可以使用Windows自带的控制台进行编写。对于较为复杂的程序工程来说,这种方式容易混淆相互之间的层级和交互文件,因此在编写程序工程时建议使用专用的Python编译器PyCharm。
PyCharm的下载地址为http://www.jetbrains.com/pycharm/。
(1)进入Download页面后可以选择不同的版本(收费的专业版和免费的社区版),如图1.7所示。这里选择免费的社区版即可。
图1.7 选择PyCharm的免费版
(2)双击下载好的PyCharm安装文件,运行后进入安装界面,如图1.8所示。直接单击Next按钮,采用默认安装方式。
图1.8 PyCharm的安装界面
(3)进入配置选择界面,如图1.9所示。需要注意的是,在安装PyCharm的过程中要对安装的版本进行选择,即选择32位的版本还是选择64位的版本,建议选择和安装与Python位数相同的版本。
图1.9 PyCharm的配置选择(按个人真实情况选择)
(4)最后出现安装完成的界面,如图1.10所示。单击“Finish”按钮完成安装。
图1.10 PyCharm安装完成
(1)单击桌面上新生成的 图标进入PyCharm程序界面,首先是第一次启动的定位,如图1.11所示。这里是指程序存储位置的定位,建议选择第2个:由PyCharm自动指定即可。之后在弹出的对话框中单击“Accept”按钮,接受相应的协议。
图1.11 PyCharm启动定位
(2)接受协议后进入配置选项界面,如图1.12所示。
图1.12 PyCharm配置选项
(3)在配置区域可以选择自己的使用风格对PyCharm界面进行配置。如果对其不熟悉,直接单击OK按钮,使用默认选项即可。
(4)创建一个新的工程,如图1.13所示。建议新建一个PyCharm的工程文件,结果如图1.14所示。
图1.13 PyCharm工程创建界面
图1.14 PyCharm新建文件界面
之后,用鼠标右键单击新建的工程名PyCharm,在弹出的快捷菜单中选择“New→Python File”以新建一个“hello world”文件,如图1.15所示。
图1.15 PyCharm工程创建界面
输入程序代码并单击菜单栏中的“Run→run…”来运行代码,或者直接右击helloworld.py文件名,在弹出的快捷菜单中选择run命令。如果成功输出“hello world”,就表明Python与 PyCharm的配置完成了。
对于使用Python进行科学计算来说,最简单的想法就是将数学公式直接表达成程序语言。可以说,Python能满足我们的这个想法。本小节将使用Python实现和计算一个深度学习中最为常见的函数—softmax函数。至于这个函数的作用,现在不加以说明,这里只是先尝试实现其程序的编写。
softmax计算公式如下:
其中, V i 是长度为 j 的数列 V 中的一个数。带入softmax的结果其实就是先对每一个 V i ,求以e为底 V i 为指数的值,然后除以所有项之和进行归一化,之后每个 V i 就可以解释成观察到的数据 V i 属于某个类别的概率,或者称作似然(Likelihood)。
softmax用以解决概率计算中概率结果大、占绝对优势的问题。例如,函数计算结果中有2个值 a 和 b ,且 a > b 。如果简单地以值的大小为单位衡量,那么在后续的使用过程中 a 永远被选用, b 由于数值较小而不会被选用。有时候也需要数值小的b被选用,就可以用softmax解决这个问题。
softmax按照概率选择 a 和 b ,由于 a 的概率值大于 b ,因此在计算时 a 经常会被取得,而 b 的概率较小,取得的可能性也较小,但是也有概率被取得。
公式softmax的实现代码如下所示。
【程序1-1】
import numpy def softmax(inMatrix): m,n = numpy.shape(inMatrix) outMatrix = numpy.mat(numpy.zeros((m,n))) soft_sum = 0 for idx in range(0,n): outMatrix[0,idx] = math.exp(inMatrix[0,idx]) soft_sum += outMatrix[0,idx] for idx in range(0,n): outMatrix[0,idx] = outMatrix[0,idx] / soft_sum return outMatrix
可以看到,当传入一个数列后,分别计算每个数值所对应的指数函数值,将其相加后计算每个数值在数值总和中的概率。例如:
结果如下: