- TensorFlow深度学习应用实践
- 王晓华
- 1987字
- 2021-04-02 04:16:23
2.1 Python基本安装和用法
Python是深度学习的首选开发语言,但是对于安装来说,很多第三方提供了集成大量科学计算类库的Python标准安装包,而最常用的是Anaconda。
Anaconda的作用就是里面集成了很多关于Python科学计算的第三方库,主要是安装方便。而Python是一个脚本语言,如果不使用Anaconda,那么第三方库的安装会较为困难,各个库之间的依赖性就很难连接好。因此在这里推荐使用集合了大量第三方类库的安装程序Anaconda来替代Python的安装。
2.1.1 Anaconda的下载与安装
1.第一步:下载和安装
Anaconda的下载地址是https://www.continuum.io/downloads/,页面如图2-1所示。
![](https://epubservercos.yuewen.com/6A4E2C/15253389604123106/epubprivate/OEBPS/Images/Figure-P28_957.jpg?sign=1739681128-cTeetj6Cn4k2GetYaZ6nMLgi7Y5spcRb-0-e251a6840e7ca3a2950cd17c8bbbe389)
图2-1 Anaconda下载页面
目前提供的是Anaconda 4.3.1版本下载,里面集成了Python 3.6。读者可以根据自己的操作系统进行下载。
这里笔者选择的是Windows版本,单击运行即可安装,与普通软件一样。安装完成以后,出现程序面板,目录如图2-2所示。
![](https://epubservercos.yuewen.com/6A4E2C/15253389604123106/epubprivate/OEBPS/Images/Figure-P28_967.jpg?sign=1739681128-z0qP7qqxB3y7EM3V43Ug9A4occYz6cfq-0-b90dde76b90be3278df5f838830fac7b)
图2-2 Anaconda安装目录
2.第二步:打开控制台
之后依次单击开始→所有程序→Anaconda→Anaconda Promp,打开窗口的效果如图2-3所示。这些步骤和打开CMD控制台类似,输入命令就可以控制和配置Python。在Anaconda中最常用的是conda命令。利用这个命令可以执行一些基本操作。
![](https://epubservercos.yuewen.com/6A4E2C/15253389604123106/epubprivate/OEBPS/Images/Figure-P29_980.jpg?sign=1739681128-mckuf9DFvzQeTfFezzKexaFlEAuQD8QI-0-491e3a5cb4d4c629ee253d6e86b66a49)
图2-3 Anaconda Prompt控制台
3.第三步:验证Python
之后在控制台中输入Python,打印出版本号以及控制符号,并在控制符号下输入代码:
![](https://epubservercos.yuewen.com/6A4E2C/15253389604123106/epubprivate/OEBPS/Images/Figure-T29_54736.jpg?sign=1739681128-74CQOAA1dxFyS8Cbdt7WYZ7v9wxB8CAG-0-76e3dde547d1a9498a6e928fcb31dc01)
输出结果如图2-4所示,表明Anaconda安装成功。
![](https://epubservercos.yuewen.com/6A4E2C/15253389604123106/epubprivate/OEBPS/Images/Figure-P29_991.jpg?sign=1739681128-8Wz2rffmw3psn4sscIIB0dI1J7EwkQGK-0-9667223402189d828d303a22a45a50a9)
图2-4 验证Anaconda Python安装成功
4.第四步:使用conda命令
笔者建议读者使用Anaconda的好处在于,其能够极大地帮助读者安装和使用大量第三方类库。查看已安装的第三方类库的命令是:
![](https://epubservercos.yuewen.com/6A4E2C/15253389604123106/epubprivate/OEBPS/Images/Figure-T30_54737.jpg?sign=1739681128-IszasFPyAH9AE307kh6Wgzqe9EqoKyhj-0-2161f5c37dec9de61402b3012b2b773c)
在Anaconda Prompt控制台中输入exit()或者重新打开Anaconda Prompt控制台后直接输入conda list代码,结果如图2-5所示。
![](https://epubservercos.yuewen.com/6A4E2C/15253389604123106/epubprivate/OEBPS/Images/Figure-P30_1012.jpg?sign=1739681128-dtgcfR9EW0r03SBZDfvy34eWTMj9XpRF-0-c04f32bad3ddb21b54e0159136a397a2)
图2-5 列出已安装的第三方类库
Anaconda中使用conda进行操作的方法还有很多,其中最重要的是安装第三方类库,命令如下:
![](https://epubservercos.yuewen.com/6A4E2C/15253389604123106/epubprivate/OEBPS/Images/Figure-T30_54738.jpg?sign=1739681128-O9QrGUGDvXvaetYfDKjgHWWBAjVTLqea-0-984fbe0a943c4e9579ac633aa44be383)
这里的name是需要安装的第三方类库名,例如需要安装NumPy包(这个包已经安装过),那么输入的相应命令就是:
![](https://epubservercos.yuewen.com/6A4E2C/15253389604123106/epubprivate/OEBPS/Images/Figure-T30_54739.jpg?sign=1739681128-W5vHdCVvZBt5241k3uV0obCH6rDf8oUO-0-45b904f9b115d2b51f34341cfdb88e83)
使用Anaconda的好处就是可以自动安装所安装包的依赖类库,如图2-6所示。这样大大减轻了使用者在安装和使用某个特定类库的情况下造成的依赖类库的缺失的困难,使得后续工作顺利进行。
![](https://epubservercos.yuewen.com/6A4E2C/15253389604123106/epubprivate/OEBPS/Images/Figure-P31_1038.jpg?sign=1739681128-lWJ7fBHHSHKeWZ7hH5EcxElbI9H1FRwn-0-87f524b763f272582cd7dc495c85a076)
图2-6 自动获取或更新依赖类库
2.1.2 Python编译器PyCharm的安装
和其他语言类似,Python程序的编写可以使用Windows自带的控制台完成。但是这种方式对于较为复杂的程序工程来说,容易混淆相互之间的层级和交互文件,因此在编写程序工程时,笔者建议使用专用的Python编译器PyCharm。
1.第一步:PyCharm的下载和安装
PyCharm的下载地址为http://www.jetbrains.com/pycharm/。
进入Download页面后可以选择不同的版本,收费的专业版和免费的社区版,如图2-7所示。这里笔者建议读者选择免费的社区版。
![](https://epubservercos.yuewen.com/6A4E2C/15253389604123106/epubprivate/OEBPS/Images/Figure-P31_1043.jpg?sign=1739681128-D3yvNpElETbapsS8NaHGl2HvtZjnAY6k-0-85525f37b5ac674f686a5681605f4543)
图2-7 PyCharm的免费版
双击运行后进入安装界面,直接单击Next按钮采用默认安装即可,如图2-8所示。
![](https://epubservercos.yuewen.com/6A4E2C/15253389604123106/epubprivate/OEBPS/Images/Figure-P32_1063.jpg?sign=1739681128-uEs9837utjbQXfdI3sFjl9f4XrRU2iND-0-5fbb88b90b10fda0786e1068c301949a)
图2-8 PyCharm的安装文件
这里需要注意的是,在安装PyCharm的过程中需要对安装的位数进行选择,这里笔者建议读者选择与所安装Python相同位数的文件,如图2-9所示。
![](https://epubservercos.yuewen.com/6A4E2C/15253389604123106/epubprivate/OEBPS/Images/Figure-P32_1067.jpg?sign=1739681128-hklm0dQyO2978VFrEbPFvxNOig7rAnRr-0-628a8f895c172f2a8e87d78af9185483)
图2-9 PyCharm的位数选择
安装完成后出现Finish按钮,单击后安装完成,如图2-10所示。
![](https://epubservercos.yuewen.com/6A4E2C/15253389604123106/epubprivate/OEBPS/Images/Figure-P33_1079.jpg?sign=1739681128-carycH6sIdO1gz68xzAljOVZOWKJI9tG-0-b45d68655179ea4e1b5c72bf9e1a4679)
图2-10 PyCharm安装完成
单击桌面上新生成的图标进入PyCharm程序界面,首先是第一次启动的定位,如图2-11所示。
2.第二步:使用PyCharm创建程序
![](https://epubservercos.yuewen.com/6A4E2C/15253389604123106/epubprivate/OEBPS/Images/Figure-P33_1086.jpg?sign=1739681128-fJ3pU58rowAgVY3W6p08N4EuYx4rpVBQ-0-b6e2c263f66eb9f320ea2add626823bf)
图2-11 PyCharm启动定位
这里是对程序存储的定位,一般建议选择第二个由PyCharm自动指定。之后单击Accept按钮,接受相应的协议,进入界面配置选项,如图2-12所示。
![](https://epubservercos.yuewen.com/6A4E2C/15253389604123106/epubprivate/OEBPS/Images/Figure-P33_1090.jpg?sign=1739681128-s8kVExoo7Eu6b5KkwhomTQJsxwLCN3bI-0-5fdfcf69acb1a553ca0be6f3ec29d518)
图2-12 PyCharm界面配置
在配置区域可以选择自己的使用风格对PyCharm界面进行配置。如果对其不熟悉,直接单击OK按钮使用默认设置即可。
最后就是创建一个新的工程。单击Create New Project按钮,即可新建一个PyCharm工程,如图2-13所示。
![](https://epubservercos.yuewen.com/6A4E2C/15253389604123106/epubprivate/OEBPS/Images/Figure-P34_1104.jpg?sign=1739681128-vYTHbX18JrTy2wweY7ix4WPs6LR5QQhs-0-b5626c0df6910de715dcab1df620feb7)
图2-13 PyCharm工程创建界面
在这里,笔者建议读者新建一个PyCharm的工程文件。右击新建的工程名“PyCharm”,在弹出的菜单中单击New|Python File命令(图2-14),新建一个helloworld文件,内容如图2-15所示。
![](https://epubservercos.yuewen.com/6A4E2C/15253389604123106/epubprivate/OEBPS/Images/Figure-P34_1108.jpg?sign=1739681128-ZoFf22ojrac7dVqLacEuBMnSCxggOdas-0-869dd2cf93f117aeaf010e5fce4df9ac)
图2-14 PyCharm新建文件
![](https://epubservercos.yuewen.com/6A4E2C/15253389604123106/epubprivate/OEBPS/Images/Figure-P34_1117.jpg?sign=1739681128-XiYjMd7oVwGzL2XSTiQJuK9sqvUtQQr1-0-9681693f6b68d49bf90c782779c6f0c3)
图2-15 PyCharm工程创建界面
输入代码后,单击Run|Run…菜单命令开始运行,或者直接右击“helloworld.py”文件后在弹出的菜单中选择“Run”命令。如果成功输出“hello world”,那么恭喜你,Python与PyCharm的配置就成了!
2.1.3 使用Python计算softmax函数
对于Python科学计算来说,最简单的想法就是可以将数学公式直接表达成程序语言。可以说,Python满足了这个想法。本小节将使用Python实现和计算一个深度学习中最为常见的函数——softmax函数。至于这个函数的作用现在不加以说明,笔者只是带领读者尝试实现其程序的编写。
softmax计算公式如下:
![](https://epubservercos.yuewen.com/6A4E2C/15253389604123106/epubprivate/OEBPS/Images/Figure-P35_54744.jpg?sign=1739681128-E9FVpnnJq1d4c8H0FPn9Zg1Z9ABlzu40-0-79928eddbbd931b1d9decd05adf9edf6)
其中,Vi是长度为j的数列V中的一个数,带入softmax的结果其实就是先对每一个Vi取e为底的指数计算变成非负,然后除以所有项之和进行归一化,之后每个Vi就可以解释成观察到的数据Vi属于某个类别的概率,或者称作似然(Likelihood)。
提示
softmax用以解决概率计算中概率结果大占绝对优势的问题。例如,函数计算结果中有两个值a和b,且a>b。如果简单地以值的大小为单位衡量,那么在后续的使用过程中a永远被选用,而b由于数值较小则不会被选择。但是有时也需要数值小的b被使用,此时softmax就可以解决这个问题。
softmax按照概率选择a和b,由于a的概率值大于b,因此在计算时a经常会被取得,而b由于概率较小,取得的可能性也较小,但是也有概率被取得。
公式softmax的代码如下:
![](https://epubservercos.yuewen.com/6A4E2C/15253389604123106/epubprivate/OEBPS/Images/Figure-T35_54746.jpg?sign=1739681128-dLWlOAo74E7Zek4iWUvT5QqT5hG3LJOu-0-9201de118615e82e3f82b6b5dd6d40be)
可以看出,当传入一个数列后,分别计算每个数值所对应的指数函数值,之后将其相加后计算每个数值在数值和中的概率。
![](https://epubservercos.yuewen.com/6A4E2C/15253389604123106/epubprivate/OEBPS/Images/Figure-P36_1254.jpg?sign=1739681128-yb6URJQ07F4y8hHwK6RaZS0939CjE4cf-0-7d7d48e31a3d224d50c2423cb5e404cd)
结果如下:
![](https://epubservercos.yuewen.com/6A4E2C/15253389604123106/epubprivate/OEBPS/Images/Figure-P36_1257.jpg?sign=1739681128-lxOOTJpdjSzHPODDulL2MkZuhccXCPJa-0-4f03a2e6dc62ababa5d82d591ec3781b)