Python机器学习环境的安装和配置

作者:欧新宇(Xinyu OU)

本文档所展示的测试结果,均运行于:Intel Core i7-7700K CPU 4.2GHz, nVidia GeForce GTX 1080 Ti

最后更新:2021年2月10日


本安装说明包含**三种类型**的环境配置说明

1. 极简Python环境的安装和配置。适用于*《程序设计基础(Python)》*,但`不推荐该方法`。

2. 标准Python机器学习环境的安装和配置。适用于*《程序设计基础(Python)》*、*《计算机数学》*和*《机器学习》*,推荐使用该方法。同时该方法是**后续**`Python深度学习环境`的**基础**。

3. Python深度学习环境的安装和配置。适用于*《深度学习》*、*《计算机视觉》*和*《自然语言处理》*。

一. 极简Python环境的安装和配置

【再次提醒】 该安装配置模式适用于仅需完成《程序设计基础(Python)》课程的同学。对于需要进一步研究Python程序设计及其他人工智能相关课程的同学,建议参看 “二. 标准Python机器学习环境的安装和配置”

1.1 安装Python环境

a. 访问Python官网并下载最新版Python,URL: https://www.python.org/

b. 双击并运行安装,勾选【Add Python 3.8 to PATH】

1.2 测试Python环境

方法一:打开IDLE交互环境,并执行下列指令进行测试

方法二:打开IDLE文件编辑器,并输入下列代码并运行

1.3 安装课程所需要的其他库文件(仅课程《程序设计基础(Python)》需要)

>> pip install jieba

>> pip install wordcloud

二. 标准Python机器学习环境的安装和配置

该安装配置模式广泛适用于《程序设计基础(Python)》、《计算机数学》和《机器学习》等课程,同时也是《深度学习》等人工智能课程的基础配置环境。该安装方法基于Python集成安装包Anaconda,同时使用VSCode编程环境和JupyterLab编程环境作为开发环境。

VScode适用于调试完整的Python代码,并将整个项目的所有代码都保存为*.py文件进行发布。Jupyterlab适用于独立代码和模型的调试,特别适合于数据分析和可视化分析。

原则上,安装顺序请按照以下序号流程。

2.1 Python环境的安装与配置

2.2 Visual Studio Code (VSCode) 编程环境的安装与配置

2.2.1 VSCode的安装

2.2.2 VSCode的配置 (可选,但更丰富的插件有利于提高开发效率)

  VSCode的强大之处来源于各种插件,下面将推荐一些常用及好用的插件。安装时,首先打开左边的【Extensions】标签(4个小方块),或按快捷键【Ctrl+Shift+X】打开插件管理界面。输入插件名称,并点击插件旁的【Install】按钮。

2.3 JupyterLab 编程环境的安装与配置

JupyterLab是Anaconda内置的Jupyter Notebook的升级版,完全兼容Notebook开发环境,但在使用上更方便,也集成了一些新的特性。

2.3.1 JupyterLab的安装

>> pip install jupyterlab==3

>> conda update jupyter_core jupyter_client

2.3.2 设置JupyterLab快速打开方式 (Recommendation)

JupterLab的默认打开方式有很多种,命令行,修改配置等等,下面推荐一种使用快捷方式(bat批处理文件),非常简单,同时支持多个工作路径的设置。

  1. 在桌面上新建一个批处理文件,并命为(DeepLearning.bat为例)
  2. 编辑之,并输入C:\Users\Administrator\anaconda3\Scripts\jupyter-lab.exe D:\Workspace\ComputerVision。前者为jupyter-lab的路径,后者为工作路径,设置不同的值可以保存为多个不同的快捷方式。

PS: jupyter-lab的工作路径获取方式:

  1. 开始菜单【Anaconda3】-【Anaconda Navigator (anaconda3)】右键-打开文件位置
  2. 【Anaconda Navigator (anaconda3)】右键-打开文件所在位置
  3. 复制地址栏地址替换上述工作路径,并保存
  4. 使用时,只需要双击该批处理(*.bat)文件即可

三. Python深度学习环境的安装和配置

以下必需工具包适应于《教育部1+X项目"计算机视觉应用开发"》所涉及的绝大部分课程。具体包括LabelMe数据标注工具,opencv-python计算机视觉和机器学习软件库,mscoco库导入工具等。

3.1 百度飞桨PaddlePaddle的安装调试

飞桨的安装和测试比较容易,可以直接参考官网:https://www.paddlepaddle.org.cn/install/quick

>> python -m pip install paddlepaddle-gpu==2.0.0 -f https://mirror.baidu.com/pypi/simple

>> python -m pip install paddlepaddle==2.0.0 -i https://mirror.baidu.com/pypi/simple

安装完成后需要进行测试:

3.2 opencv-python

>> pip install opencv-python -i https://mirrors.aliyun.com/pypi/simple/

测试:启动Python,并载入opencv库

>> python

>> import cv2

3.3 LabelMe标注工具和cocoAPI(需要时安装)

LabelMe标注工具的安装,需要先安装图形界面编辑工具pyqt,同时需要安装pycocotools。

  1. 启动【Anaconda Prompt (Anaconda3)】,并执行以下命令:

>> conda create –name=labelme

>> conda install pyqt

>> pip install labelme

  1. 安装pycocotoos工具包

>> 下载并安装VS14:http://go.microsoft.com/fwlink/?LinkId=691126

>> pip install git+https://github.com/philferriere/cocoapi.git#subdirectory=PythonAPI

  1. 测试LabelMe: 打开命令行,并执行:

>> labelme

四. 机器学习必需库的安装和测试

  基于Anaconda开发包安装的Python,下列的5个库都不需要进行额外安装,基于官方版的Python需要额外进行安装,请各位自行查阅安装方法。

1. Numpy 基础科学计算库

  Numpy是Python中最基础的科学计算库,它的功能主要包括高位数组(Array)计算、线性代数计算、傅里叶变换以及产生伪随机数等。Numpy是机器学习库scikit-learn的重要组成部分,因为机器学习库scikit-learn主要依赖于数组形式的数据来进行处理。

更多信息请参考:RUNOOB站的Numpy栏目:https://www.runoob.com/numpy/numpy-tutorial.html

【知识点】[Numpy基础科学库极简使用说明](functions/reshape.ipynb)

  以下代码用于测试和生成一个数组。

2. scikit-learn 机器学习库

  scikit-learn是Python中最重要的机器学习模块之一。它基于Scipy库,在不同的领域中已经发展出大量基于Scipy的工具包,它们被统一称为Scikits,其中最著名的一个分支就是scikit-learn。它包含众多的机器学习算法,主要分为六大类:分类、回归、聚类、数据降维、模型选择和数据预处理。下列给出一个使用scikit-learn进行分类的简单例子。在下例中会随机生成包含300个具有两种属性数据的数据集,然后利用简单的SVM分类器实现分类。

  1. 加载分类模型和可视化模块所需要的库文件
  1. 生成数据集
  1. 可视化数据并计算分类精度

3. Scipy 科学计算工具集

  Scipy是Python中用于进行科学计算的工具集,它可以实现计算机统计学分布、信号处理、线性代数方程等功能。在机器学习中,稀疏矩阵的使用非常频繁,Scipy库中的sparse函数可以用来生成这种稀疏矩阵。稀疏矩阵用于存储那些大部分数值为0的np数组。以下代码用使用sparse()函数生成和测试稀疏矩阵。

4. Pandas 数据分析工具

  Pandas是Python中进行数据分析的库,它具有以下功能

很多时候,我们会使用字符串格式来表示数字,诚然在一些适合这种使用并没有太大问题,但是当数字位数不同的时候,就会出问题。所以对于可能产生不同位数的数字,更好的选择是直接试用数值格式

5. Matplotlib 绘图库

  matplotlib是Python中最重要的绘图库,它可以生成出版质量级别的图形,包括折线图、散点图、直方图等。

以下代码用于生成一个表达式为:$y=x^3+2x^2+6x+5$ 的曲线图。

以下代码为使用Matplotlib函数生成直方图