实验指导手册V1.0
1 环境搭建
1.1 Anaconda的安装
1.1.1 Windows下Anaconda的安装
1.1.2 Linux下Anaconda的安装
1.2 Anaconda基本操作
1.2.1 可视化界面操作
1.2.2 终端命令操作
1.3 实验常用框架简介及安装
1.3.1 Pandas
1.3.2 Numpy
1.3.3 PyTorch
1.3.4 Sklearn
1.4 PyCharm的安装、破解、项目创建以及常用快捷操作
1.4.1 安装和破解
1.4.2 项目创建
1.4.3 常用快捷操作
1.5 服务器环境使用
1.5.1 软件准备
1.5.2 服务器连接
1.5.3 文件传输
1.5.4 代码运行
1.5.5 Screen
1.6 彩蛋:一个好用的代码编辑器------Sublime Text
1.6.1 安装
1.6.2 你可以用它干什么?
1.7 小结
实验指导手册V1.0
1 环境搭建
代码环境是一切代码的基础,一个稳定的代码环境会使得模型的代码实现更加顺利。为了方便高效地构建代码环境,我们选择Anaconda来创建、搭建和管理代码环境,同时选择PyCharm作为主要的代码
IDE软件。在明确了代码环境的重要性和代码环境相关软件之后,下面介绍本章节的主要内容。考虑到日常实验中的软硬件环境,本章将会介绍如下内容:
Anaconda的安装(Windows, Linux)
Anaconda基本操作
实验常用框架简介及安装(pandas、numpy、pytorch、sklearn)
PyCharm的安装、破解、配置已有代码环境以及常用快捷操作服务器的使用
注意:本手册中使用的各种软件均有替代的软件,为了方便实验室中使用的一致性,请务必使用手册中相关软件。
1.1 Anaconda的安装
在日常的实验过程中,针对不同的模型需要使用不同的硬件平台进行模型的训练,一般不需要GPU加速的实验会在单机(Windows or mac)上进行,需要GPU加速的实验需要在学院服务器(Linux)上进行,所以本部分将针对两种不同的软硬件平台进行介绍。
1.1.1 Windows下Anaconda的安装
为了方便快捷的下载Anaconda,可以选择清华源进行下载,下面将对Anaconda的安装进行介绍。
下载Anaconda3,下载地址,可以在以上地址下载自己需要的版本,推荐较新的版本。下载时注意下载64位,本次下载的版本为Anaconda3-2021.05-Windows-x86_64.exe。下载完成后得到如
2. 点击Next。
3. 点击“I Agree”。
4. 默认选项即可,点击Next。
5. 选择好安装位置(不建议安装到C盘,后续安装包较多后,所占空间会很大),点击Next。
6. 注意不要勾选第一个选项,可能会造成未知错误。选中第二个选项,直接点击Install, 等待安装结束。
7. 安装结束后点击Next,直至出现Finish,出现的选项全部默认即可,点击Finish完成安装。
环境变量配置(后续使用命令操作的基础)
1. 确定需要添加的环境变量路径,需要添加的路径如下(以安装Anaconda3部分安装路径为例):
2. 配置环境变量(Windows10为例)
按照以下操作顺序创建新的环境变量。
按照以上步骤添加两个环境变量,添加完成后,务必点击确定退出,不要直接点×,所有窗口都点确定。
3. 验证是否添加正确
按下win+R,并输入cmd打开终端,输入如下命令:
由于在国内直接使用Anaconda的官方源下载速度较慢,需要将软件源更改为国内的清华源,更改步骤如下:
执行完上述命令之后,在用户文件夹下将会出现一个名为.condarc的文件。
1.1.2 Linux下Anaconda的安装
下载Anaconda3,下载地址,可以在以上地址下载自己需要的版本,推荐较新的版本。下载时注意下载64位,本次下载的版本为Anaconda3-2021.05-Linux-x86_64.sh。下载完成后得到如下文件:
1. 进入到存储安装包的目录下,使用如下命令开始安装。
2. 出现上述界面之后回车继续,出现下面的用户协议,一直按回车。
3. 出现下面的界面,输入yes并回车。
4. 之后会出现安装路径提示界面,直接按回车会安装到显示的默认目录下,按ctrl+c会终止安装,还可以输入指定路径安装到自定义目录下,这里我输入了自定义目录,输入目录后并回车,程序会自动开始安装:
5. 完成安装之后会提示是否希望安装器初始化Anaconda3,这里输入yes并回车,等待结束,安装成功。
6. 重新打开terminal,输入以下命令,如果出现下面的结果则表示安装成功。
环境变量配置(后续使用命令操作的基础)
Linux下按照上述安装步骤安装后,自动配置环境变量,可直接使用。
更改源为清华源
由于在国内直接使用Anaconda的官方源下载速度较慢,需要将软件源更改为国内的清华源,更改步骤如下:
如果提示没有vim使用如下命令进行安装:
执行完上述命令之后,将会直接打开.condarc的文件,按下I键进入编辑模式(vim基本操作)。
按下ESC推出编辑模式,输入命令 :wq,将文件保存并退出。
更改好源之后,输入如下命令,清除索引缓存,保证用的是镜像站提供的索引。
1.2 Anaconda基本操作
Anaconda在进行环境管理时主要有两种操作方式:(1)可视化界面;(2)终端命令操作。其中第一种在具有图形界面的操作系统中可以使用,第二种无论有无图形界面都可使用。本部分将对两种操作分别进行介绍,但是需要注意的是命令操作相比可视化界面操作有着天生的高效性,并且具有平台的通用性,这里建议大家均使用命令进行操作。
1.2.1 可视化界面操作
可视化界面操作仅限于Windows平台,打开安装好的Anaconda Navigator,如果桌面找不到图标可以使用搜索功能搜索或到安装目录下查找。打开后界面如下:
打开后点击左侧的Environments可以进入到环境管理界面,界面各部分功能如下图所示。
针对可视化界面主要介绍创建代码环境和软件包基本安装。
创建代码环境
由于实验过程中会有很多框架的使用,我们应有针对性地对不同地实验创建独立的代码环境,一方面便于管理,另一方面如果一个环境出了问题不会影响其他实验的环境。图形界面下创建代码环境的步骤如下:
1. 点击代码环境列表部分左下角的Create按钮,会得到如下界面:
按照图中提示,填写环境名称和python版本。
2. 点击左下角Create,环境便会自动创建,创建完成之后,代码环境列表就会出现刚才创建的环境,点击环境名称即可运行此环境,界面右侧环境下软件包列表也会随之切换,选中一个环境之后点击代码环境列表右下角的Remove即可删除。
软件包安装下面以安装numpy为例介绍软件包安装。
2. 查询到需要安装的软件包之后,点击报名左侧的方块将其选中,在点击右下角的Apply进行安装。
点击之后将会出现如下界面,点击Apply继续。
3. 等待安装成功之后,将Not installed 切换为 installed即可看到软件包安装完成。此时在包名右侧的方框右键,选择Mark for removal,然后点击右下角的Apply,在弹出界面点击Apply 即可删除。
1.2.2 终端命令操作
在服务器的Linux环境下,由于没有图形界面,需要使用终端命令进行代码环境的创建和软件包的安装。
创建代码环境
命令终端操作代码环境的步骤如下:
1. 使用如下命令创建新环境.
下面以创建名称为env_pytorch的,python版本为3.8的环境为例,过程如下:
2. 激活和关闭创建的环境激活命令:
输入激活命令后回车,命令行左端显示激活的环境名即为激活成功。
关闭命令:
输入关闭命令,命令行左端不再显示刚才激活的环境名即为关闭成功。
3. 删除环境
删除环境的命令如下:
删除环境env_pytorch的示例如下,出现如下界面后输入y并回车即可删除。
4. 环境重命名
由于没有专门用来重命名环境的命令,需要先将需要重命名的环境克隆为指定名称,然后将其删除。
环境克隆
将环境env_pytorch克隆为pytorch的举例如下:
5. 查看环境列表
可以使用如下命令查询Anaconda中现有的环境。
包的安装
下面以安装numpy为例介绍包的安装。
1. 首先确定需要安装的包的环境,并将其激活,激活命令见创建代码环境部分,下面将以环境名称为pytorch的环境为例进行介绍:
2. 使用如下命令进行包的安装
输入命令后,出现如下界面,输入y并回车。
出现如下界面表示安装完成。
如果使用以上conda命令显示无法安装也可以使用pip安装,命令如下:
安装指定版本可以参考此博客。
3. 包的卸载
使用如下命令卸载包:
或者
输入卸载命令,会出下如下界面,输入y并回车即可卸载。
4. 查看已安装的包
1.3 实验常用框架简介及安装
日常实验中虽然涉及较多的模型,但是其实现往往需要少数几个框架(使用框架大多使用的是框架的各种计算模块(针对特定模型的框架除外),模型的代码搭建仍需要门槛不低的技术要求,更为重要的是对模型的完全理解,理清模型的流程并结合代码的相关技术才能完成模型的代码构建,所以框架的存在不代表模型就可以快速实现,通常来说具有一定技术基础,模型的理解并且思路清晰的情况下,模型数据准备、模型实现、调优、训练和测试的时间为1-2周左右(优情况,仅供参考)),实验中常用的框架有: pandas、numpy、pytorch、sklearn等,本部分将介绍这几个常见框架的功能和安装。(由于最常用的实验环境是学院服务器,且为了方便快捷,所以以下框架的安装均使用命令行操作)
1.3.1 Pandas
Python Data Analysis Library 或 pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。 pandas提供了大量能使我们快速便捷地处理数据的函数和方法。你很快就会发现,它是使Python成为强大而高效的数据分析环境的重要因素之一。
Pandas 是python的一个数据分析包,最初由AQR Capital Management于2008年4月开发,并于2009 年底开源出来,目前由专注于Python数据包开发的PyData开发team继续开发和维护,属于PyData项目的一部分。Pandas最初被作为金融数据分析工具而开发出来,因此,pandas为时间序列分析提供了很
好的支持。 Pandas的名称来自于面板数据(panel data)和python数据分析(data analysis)。panel data是经济学中关于多维数据集的一个术语,在Pandas中也提供了panel的数据类型。
以上为Pandas的介绍,可以稍作了解。在我们的实验中,Pandas主要用于数据的处理,只需要记住,数据处理必然有Pandas的出现。Pandas的相关教程推荐观看莫凡python中的这个视频,通过这个教程你可以了解到Pandas的基本使用,其高阶使用计较,直接面向百度编程即可。针对其各个函数的具体功能、参数、返回值等推荐直接查询官方文档。
下面介绍Pandas的安装:
1. 进入需要安装Pandas的环境(安装包的基本操作,后续包的安装将不再做过多赘述),与1.2中的操作相同:
2. 使用如下命令进行安装
输入y并回车即可安装成功。
1.3.2 Numpy
Numpy是python中的一款高性能科学计算与数据分析的基础包,Numpy定义了矩阵和数组,提供存储单一类型的多维数租(ndarray)和矩阵(Matrix)以及相关运算,功能和Matlab中的矩阵运算相似。Numpy 常和稀疏矩阵计算包Scipy配合使用,更加方便。
Numpy是一个运行速度非常快的数学库,主要用于数组计算,包含:
一个强大的N维数组对象 ndarray 广播功能函数
整合 C/C++/Fortran 代码的工具
线性代数、傅里叶变换、随机数生成等功能
以上为Numpy的主要功能介绍,了解即可。在实验中,Numpy主要作为一个计算工具使用,其丰富的计算功能能够满足模型的所有计算需求。有时也可用于处理数据。Numpy的相关教程推荐观看莫凡 python中的这个视频,通过这个教程你可以了解到Numpy的基本使用,其高阶使用计较,直接面向百度编程即可。针对其各个函数的具体功能、参数、返回值等推荐直接查询官方文档。
Numpy的安装在第1.2.2部分已经进行了详细介绍,此处不再做过多介绍。
1.3.3 PyTorch
Pytorch是torch的python版本,是由Facebook开源的神经网络框架,专门针对 GPU 加速的深度神经网络(DNN)编程。Torch 是一个经典的对多维矩阵数据进行操作的张量(tensor )库,在机器学习和其他数学密集型应用有广泛应用。与Tensorflow的静态计算图不同,pytorch的计算图是动态的,可以根
据计算需要实时改变计算图。但由于Torch语言采用 Lua,导致在国内一直很小众,并逐渐被支持
Python 的 Tensorflow 抢走用户。作为经典机器学习库 Torch 的端口,PyTorch 为 Python 语言使用者提供了舒适的写代码选择。
总结一句,PyTorch是用来构建深度学习模型的框架,用它就对了(为了保持团队关于深度学习模型的代码具有一致性,统一使用PyTorch框架)。PyTorch框架本身含有的功能模块可以满足很多模型的需求,如果其不能满足,其还可以通过自定义拓展来实现模型需要功能。同时其可以通过GPU加速来提升模型的训练速度。PyTorch的学习推荐观看莫凡python的这个视频。推荐这个视频的原因是,其比简短,学习完这个视频,你将会对于构建模型的基本流程有一定的了解。想要用的好,用的快,还是需要多写(毕竟没有人会预知未来为你提出的模型写好代码)。关于Pytorch的高阶技巧还是直接面向百度编程即可,同时要用好官方文档,这点很关键,有时论坛上的教程描述会有偏差。
PyTorch的安装步骤如下:
1. 进入到需要安装的环境(很重要!很重要!很重要!)
2. 打开PyTorch下载页面查看需要安装的版本
本次安装选择稳定版(1.9.0),平台为Linux,使用Conda安装,语言为python,由于没有GPU所以
选择仅CPU的版本,(若选择GPU版本需要与CUDA版本保持一致),可通过以下命令查看CUDA版本:
安装命令如下:
运行上述命令后如上图所示,输入y并回车,即可完成安装。
1.3.4 Sklearn
scikit-learn,又写作sklearn,是一个开源的基于python语言的机器学习工具包。它通过NumPy, SciPy 和Matplotlib等python数值计算的库实现高效的算法应用,并且涵盖了几乎所有主流机器学习算法。
SKlearn官网链接:http://scikit-learn.org/stable/index.html
在工程应用中,用python手写代码来从头实现一个算法的可能性非常低,这样不仅耗时耗力,还不一定能够写出构架清晰,稳定性强的模型。更多情况下,是分析采集到的数据,根据数据特征选择适合的算法,在工具包中调用算法,调整算法的参数,获取需要的信息,从而实现算法效率和效果之间的平衡。
而sklearn,正是这样一个可以帮助我们高效实现算法应用的工具包。
以上为SKlearn的基本介绍,它是一个万宝囊,基本的机器学习模型,它都可以实现,是个十分便捷的工具包。其学习教程推荐莫烦python的这个视频,进阶操作可以结合百度和官方文档进行学习。
Sklearn的安装步骤如下:
1. 进入需要安装的环境。
2. 使用如下命令安装:
输入y回车即可完成安装。
1.4 PyCharm的安装、破解、项目创建以及常用快捷操作
在完成上述的环境搭建之后,一个稳定且方便的实验环境便搭建完成了。Python代码的构建需要一个代码IDE工具,比较相关工具的功能性,这里选择PyCharm。本部分将对其安装、破解、配置已有代码环境以及常用快捷操作进行介绍。
1.4.1 安装和破解
安装
1. 首先需要在PyCharm官网下载最新版本的PyCharm,直接点击下载即可开始下载。
2. 下载完成后打开安装程序如下:
3. 点击Next继续,然后选择安装位置。
4. 点击Next继续,按照图中所示勾选。
5. 点击Next继续,弹出界面保持默认,点击Install安装。
6. 等待安装结束,点击Finish完成安装。
破解
PyCharm破解请参考此链接。
1.4.2 项目创建
本部分将介绍如何使用PyCharm创建一个python项目,具体步骤如下:
打开PyCharm,进入项目创建界面
如果是在没有任何项目的情况下,会显示如下界面:
直接点击New Project即可开始创建项目。
如果在有项目的情况下会直接进入项目界面:
这种情况下,依此执行如下操作
点击右侧文件夹图标即可开始选择,进入如下界面:
箭头所指部分即为项目文件夹,示例项目的项目名称为“python_project_demo”,每个新的项目都应该单独创建一个文件夹。(注意:不论是创建问价还是创建python 文件,都应该用英文命名,一个是避免出现不可解释的编译错误,另一个相对来说看起来会专业一点。)选择好文件夹点击右下角OK即可。 项目环境配置
由于我们在前面环境搭建的时候已经搭建好了代码环境,这个时候我们不再需要重新创建,所以需要勾选项目环境配置部分的绿色框的部分。
按照图中标记依此点击进入如下界面:
这个界面为python解释器添加界面,这里我们需要添加我们之前创建好的代码环境,首先选中
Conda Environment,然后再点击右侧标记所示按钮,进入到环境选择界面。
这一步需要进入到Anaconda安装目录下的envs文件夹中我们之前所创建环境的文件夹。在这个文件夹中有一个python.exe文件,这个就是我们要使用的python解释器,选中它,然后点击右下角的ok。然后会回到解释器选择界面:
为了方便以后项目使用,可以勾选图中标签,这样就不需要每次都重新添加了。完成后点击右下角 ok。
点击红色箭头所指下拉菜单就可以显示出我们刚才添加的conda环境,由于之前我们勾选了Make available to all projects,以后再创建新项目时,就可以直接下拉选择。完成以上操作,就可以点击Create了。
界面如上图所示,由于与 JAVA IDE IDEA出自同一家公司,都来自捷克的JetBrains,熟悉JAVA开发的同学应该有所了解,其常用操作与IDEA也是一致的,有相关经验的话,应该可以快速上手。当然如果没有,也不必担心,因为其使用起来非常简单,上图所有功能区即可完成日常所有实验要求。
已有项目的环境配置
上面主要介绍了新建项目的环境配置,如果在github上下载的项目需要运行,只需要按照如下步骤进行配置即可。
依此点击以下按钮,进入PyCharm设置界面。
按照上图所示,首先选中Python Interpreter,然后下拉选择所需环境,如果下拉列表中没有所需环境,则点击右侧齿轮,然后点击Add。
之后会得到如下界面:
按照图中标识操作,其余步骤与新建项目中添加python解释器的步骤一致。
添加完毕之后选择好所需的解释器,点击右下角的ok即可。
完成环境添加之后,需要进行项目中python文件运行解释器设置,按照下图进行操作
操作完成之后进入如下界面,在红色标记处选择运行时需要环境即可
选择完成之后点击OK即可。
1.4.3 常用快捷操作
PyCharm是一个非常强大的代码IDE工具,其拥有很多快捷操作,使用快捷操作可以大大提高我们的工作效率,常见快捷操作请点击此链接。
1.5 服务器环境使用
简单模型的训练只需要在单机上就可以完成,但是设计庞大的深度学习模型或者时间复杂度很高需要使用多进程的模型就需要在服务器上完成。服务器相较于单机拥有更高的计算性能,更大的内存,服务器的使用在实验中是十分重要的。
1.5.1 软件准备
在本地连接服务器需要的软件主要有以下两个:
Xshell : 是一个强大的安全终端模拟软件。主要用于服务器连接,使用命令操作服务器。
Xftp: 主要用于服务器和单机之间的数据传输这两个软件按照此安装教程进行安装即可,比较简单不再做过多介绍。
1.5.2 服务器连接
使用服务器的第一个步骤就是在本地连接服务器,打开Xshell,然后按下图所示操作:
然后即可进入连接创建界面:
按照图中提示填入相应的内容(学院服务器使用需要在服务器使用群申请账号),然后点击右侧用户身份验证,输入用户名和密码:
之后便可以点击连接完成连接了,出现以下界面表示连接成功。
1.5.3 文件传输
代码要想在服务器上运行,首先需要将其相关项目上传到服务器上,这就需要使用Xftp了,因为其与
Xshell同属于一个公司开发,所以在Xshell中即可打开。
点击Xshell工具栏中的如下图标即可打开Xftp:
界面如下:
文件传输时只需要将文件从本地目录拖到右侧服务器目录即可,在右侧服务器目录话可以直接删除或者创建文件夹,操作与Windows中的操作一致。
1.5.4 代码运行
在完成了服务器连接和文件传输之后,就是代码运行了,同于Pycharm中直接点击运行按钮就可以运行,服务器中则需要使用命令运行。主要步骤如下:
本例中项目路径如下:
使用cd命令进入到对应的路径下(不熟悉Linux基本命令的可以参考此链接) 使用命令运行
上面目录中的内容如下:
demo.py就是我们要运行的python代码
使用如下命令进行运行即可:
出现上面的界面就运行成功了。
注意:代码运行过程中如果需要终止可以使用Ctrl+C进行终止,请勿使用Ctrl+Z,这可能造成残留进程,因为后者不是直接将进程终止而是将其挂起。
1.5.5 Screen
完成以上部分,服务器的主要操作就介绍完毕了,使用服务器进行模型训练还有一个好处就是可以不用一直开着电脑。这就要借助Screen实现,Linux screen命令用于多重视窗管理程序。
在运行代码前首先创建一个Screen,命令如下:
之后会进入到一个空白界面:
在此界面按照1.5.4中的介绍进行代码运行即可。
首先使用如下命令查看需要删除的screen的pid:
然后使用如下命令删除进程
注意pid一定写对,不然会造成严重后果。
最后使用如下命令清除screen
1.6 彩蛋:一个好用的代码编辑器------Sublime Text
有时,我们只想看一下代码的内容或者简单编辑但是不运行代码,还需要功能强大的PyCharm吗?推荐使用编辑器Sublime Text。
1.6.1 安装
点击此链接进行下载安装,下载完成后点击安装包安装即可。
1.6.2 你可以用它干什么?
首先打开Xftp的设置
完成以上设置之后,在Xftp中双击文件即可将其使用Sublime Text打开了。
1.7 小结
看到这里,基本的实验环境搭建你已经掌握了,这一部分相对来说是比较简单的,但是需要十分细心,如果有的地方配置错误就会导致在实验过程中出现意外的不可解释的问题,所以这一部分最重要的是一个字"细"。此部分各个重要步骤的介绍已经十分详细,可以涵盖在实验中关于环境的95%以上的问题。虽说它与算法原理和代码相比是极其没有技术含量的,但是环境搭建好,不出问题,是实验的基础中的基础,只有这样实验才能做好,完备且高质量的实验才能够与算法原理相辅相成,结合写作最终构成一篇高质量的文章,写作保证了模型介绍的准确性以及合理性,算法原理在理论上保证模型的正确性、创新性以及优越性,实验在实践上保证模型的正确性、创新性以及优越性。后面章节将会介绍实验更多详细内容。