进入Miniconda官方网站,打开下载页面,如图2-1所示。
读者可以根据自己使用的操作系统选择不同平台的Miniconda下载,目前官网提供的是最新集成了Python 3.10版本的Miniconda。如果读者目前使用的是以前的Python版本,例如Python 3.7,也是完全可以的。从图中可以看到,使用3.7~3.10版本的Python都能支持PyTorch的使用。读者可以根据自己的操作系统选择下载相应的文件。
图2-1 下载页面
这里推荐使用Windows Python 3.9版本,相对于3.10版本,3.9版本经过一段时间的训练,具有一定的稳定性。当然,读者可根据自己的喜好选择集成Python 3.10版本的Miniconda。下载页面如图2-2所示。
图2-2 集成Python 3.10版本的官方网站Miniconda3下载页面
注意: 如果读者使用的是64位操作系统,那么可以选择以Miniconda3开头、以64结尾的安装文件,不要下载错了。
下载完成后得到的安装文件是exe版本,直接运行即可进入安装过程,安装比较简单,按界面提示进行操作即可。安装完成后,出现如图2-3所示的目录结构,说明安装正确。
图2-3 Miniconda3安装目录
依次单击“开始”→“所有程序”→Miniconda3→Miniconda Prompt,打开Miniconda Prompt窗口,它与CMD控制台类似,输入命令就可以控制和配置Python。在Miniconda中最常用的是conda命令,该命令可以执行一些基本操作。
接下来在控制台中输入python,若安装正确,则会打印版本号和控制符号。在控制符号下输入以下代码:
print("hello Python")
输出结果如图2-4所示,可以验证Miniconda Python已经安装成功。
图2-4 安装成功
使用Miniconda的好处在于,它能够很方便地帮助读者安装和使用大量第三方类库。查看已安装的第三方类库的命令如下:
pip list
注意: 如果此时命令行还处于>>>状态,那么可以输入exit()退出。
在Miniconda Prompt控制台输入pip list命令,结果如图2-5所示。
图2-5 已安装的第三方类库
Miniconda中使用pip进行的操作还有很多,其中最重要的是安装第三方类库,命令如下:
pip install name
这里的name是需要安装的第三方类库名,假设需要安装NumPy包(这个包已经安装过),那么输入的命令如下:
pip install numpy
结果如图2-6所示。
图2-6 安装NumPy包
使用Miniconda的一个好处是默认安装了大部分深度学习所需要的第三方类库,这样可以避免使用者在安装和使用某个特定的类库时出现依赖类库缺失的情况。
和其他语言类似,Python可以使用Windows自带的控制台进行程序编写。但是这种方式对于较为复杂的程序工程来说,容易混淆相互之间的层级和交互文件,因此在编写程序工程时,建议使用专用的Python编译器PyCharm。
(1)进入PyCharm官网的Download页面后,可以选择不同的版本,如图2-7所示,有收费的专业版和免费的社区版。这里读者选择免费的社区版即可。
图2-7 选择PyCharm的免费版
(2)双击运行后进入安装界面,如图2-8所示。直接单击Next按钮,采用默认安装即可。
图2-8 安装界面
(3)如图2-9所示,在安装PyCharm的过程中需要选择安装的位数,这里建议读者选择与已安装的Python相同位数的文件。
图2-9 选择安装的位数
(4)安装完成后,单击Finish按钮,如图2-10所示。
图2-10 安装完成
(1)单击桌面上新生成的
图标进入PyCharm程序界面,首先是第一次启动的定位,如图2-11所示。这里是对程序存储的定位,一般建议选择第2个Do not import settings。
图2-11 由PyCharm自动指定
(2)单击OK按钮后进入PyChrarm配置窗口,如图2-12所示。
图2-12 界面配置
(3)在配置窗口上可以对PyCharm的界面进行配置,选择自己的使用风格。如果对其不熟悉,直接使用默认配置即可,如图2-13所示。
图2-13 对PyCharm的界面进行配置
(4)创建一个新的工程,如图2-14所示。
图2-14 创建一个新的工程
这里,建议新建一个PyCharm的工程文件,如图2-15所示。
图2-15 新建一个PyCharm的工程文件
之后右击新建的工程名PyCharm,选择New→Python File菜单,新建一个helloworld.py文件,内容如图2-16所示。
图2-16 helloworld.py
输入代码并单击菜单栏的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 属于某个类别的概率,或者称作似然(Likelihood)。
提示: Softmax用以解决概率计算中概率结果大而占绝对优势的问题。例如函数计算结果中的两个值 a 和 b ,且 a > b ,如果简单地以值的大小为单位来衡量,那么在后续的使用过程中, a 永远被选用,而 b 由于数值较小而不会被选择,但是有时也需要使用数值小的 b ,Softmax就可以解决这个问题。
Softmax按照概率选择 a 和 b ,由于 a 的概率值大于 b ,在计算时 a 经常会被取得,而 b 由于概率较小,被取得的可能性也较小,但是也有概率被取得。
Softmax的代码如下:
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 a = numpy.array([[1, 2, 1, 2, 1, 1, 3]]) print(softmax(a))
可以看到,当传入一个数列后,分别计算每个数值所对应的指数函数值,之后将其相加后计算每个数值在数值和中的概率。结果请读者自行打印验证。