欢迎光临散文网 会员登陆 & 注册

从零开始的机器学习笔记(序)PyTorch的安装与使用

2023-06-11 17:08 作者:安培利亚  | 我要投稿


妲宝镇楼

写在前面

本文是我的机器学习笔记,也是我根据我自己所学的知识总结的,对机器学习的零门槛入门读物。由于是我自己总结的,内容或多或少都有些错误。如果有不懂的问题或发现我文中的错误,欢迎大家及时批评指正!

本文会带大家从支撑向量机一路讲到神经网络的训练,在过程中,我会对所需要的前置知识进行讲解。希望大家在看完之后,也能亲手训练出自己的第一个神经网络!


趁手的工具——PyTorch

入门机器学习,光靠眼睛看可不行,需要自己亲身实践,才能逐步了解机器学习背后的原理。实践就需要工具。目前在机器学习中,有两个趁手的工具可以使用,一个是由google开发的tensorflow,另一个就是由facebook开发的pytorch。由于两者都基于python——一门计算机语言——发展而来,因此,安装整个环境的第一步,就是安装python。

以下粘贴的链接为anaconda,它是一个python的包管理软件,除了自带python环境外,anaconda也会为python提供一个便捷的环境配置方案。

Windows系统点击 https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda3-2020.11-Windows-x86_64.exe 以下载;

Linux系统点击 https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda3-2020.11-Linux-x86_64.sh 以下载。

下载好后,执行程序,按照步骤安装即可,注意过程中需要勾选所有含有“PATH”的选项。

安装好以后,打开命令行,输入

打开命令行,输入“python”,当看到三个>号时,说明安装成功

若看见“>>>”符号,即代表python已经安装成功。此时可以关闭命令行,也可以输入

退出python环境。

第二步,我们将开始安装pytorch。有条件的可以参考网络上的教程安装cuda与cudnn,随后安装支持GPU加速的pytorch;新手可以不考虑这些,我们的教程中不会有复杂到不得不使用GPU加速的神经网络。因此,我们可以安装CPU版本,这样方便我们入门pytorch:

打开命令行,在命令行中粘贴如下命令:

随后按下回车,等待命令执行结束,即可在python中安装pytorch。

命令执行结束后,我们关闭当前命令行,打开一个新的命令行,仍旧是输入

启动python环境,随后我们输入

import是python的一个关键词,代表着包的导入。在每一次环境启动时,都只会启动最原始的变量与函数。此时,需要我们使用import语句导入我们需要的变量与函数。在这里,torch就是我们需要导入的模块。

导入pytorch之后,我们新建一个torch的张量:

执行结果如下图所示。

使用torch.tensor创建张量

张量是神经网络计算的一个重要概念。对于单个数,我们叫它“数”,或者叫它“标量”;当我们把一组标量按照特定的顺序组合起来时,我们叫它“向量”或者“矢量”;当我们把多个向量横着拼起来时,我们得到了一张二维数表,我们叫它“矩阵”。不管是标量,向量还是矩阵,我们都可以称之为“张量”。我们在提到张量时,前面一般会加上一个维度,比如标量可以被看作“0维张量”,向量可以被看作“1维张量”,矩阵可以被看作“2维张量”。pytorch中的神经网络,就是在对于这些张量的计算中实现。

标量举例:a%3D5

向量举例:%5Cvec%7Ba%7D%3D%0A%5Cbegin%7Bbmatrix%7D%0A5%20%5C%5C%206%20%5C%5C%207%20%5C%5C%208%0A%5Cend%7Bbmatrix%7D

矩阵举例:A%3D%0A%5Cbegin%7Bbmatrix%7D%0A1%20%26%205%20%5C%5C%0A2%20%26%206%20%5C%5C%0A3%20%26%207%20%5C%5C%0A4%20%26%208%0A%5Cend%7Bbmatrix%7D

我们之后还会再接触到“标量”、“向量”和“矩阵”这些概念,现在的阶段,了解即可。在python中,列表的初始化用中括号进行,torch.tensor相当于一个函数(实际上是一个类),它的输入是python的列表,输出(返回值)是pytorch的张量。让我们看看以上所举的示例在pytorch中如何被构建:

将其输入命令行后,我们可以得到我们想要的结果:

标量、向量与矩阵的构造

这个就是我们向pytorch中输入标量、向量和矩阵的过程。在之后机器学习的过程中,它们会如影随形地存在着。然而,需要注意的是,无论多么复杂的神经网络,最后都可以被拆解成为“标量”、“向量”、“矩阵”和“函数”这四个概念的组合技。因此,掌握这四个概念,就离掌握神经网络不远了。

从零开始的机器学习笔记(序)PyTorch的安装与使用的评论 (共 条)

分享到微博请遵守国家法律