PyTorch深度学习笔记之神经网络的构成

理解神经网络的基本组成部分,如张量、张量运算和梯度递减等

2.1 安装PyTorch

使用pip或者conda来安装,推荐使用Anaconda Python3发行版

最新版本的安装:conda install pytorch torchvision cudatoolkit=10.0 -c pytorch

2.2 实现第一个神经网络

准备数据

  • 标量(0维张量)
  • 向量(1维张量)
  • 矩阵(2维张量)
  • 3维张量
  • 切片张量
  • 4维张量
  • 5维张量
  • GPU张量

创建数据

  • 创建学习参数
    变量的创建,requires_grad的值是False;初始化学习参数,requires_grad的值是True
  • 神经网络模型
  • 网络的实现
    PyTorch在torch.nn中提供了称为层(layer)的高级抽象,层将负责多数常见的技术都需要用到的后台初始化和运算工作。
  • 损失函数
    torch.nn库中有不同的损失函数,如均方差(又称方差,MSE)损失和交叉熵损失。
  • 优化神经网络
    不同的优化器,如Adam、RmsProp和SGD,已在torch.optim包中实现好

加载数据

两个重要的工具类:Dataset类和DataLoader类

  • Dataset类
    任何自定义的数据集类,都要继承自PyTorch的数据集类。
    自定义的类必须实现两个函数:len(self)和__getitem__(self,idx)
  • DataLoader类
    DataLoader类通过提取出大部分复杂度来帮助创建批数据。
    DataLoader类位于PyTorch的utils类中,它将数据集对象和不同的取样器联合,如SequentialSampler和RandomSampler,并使用单进程或多进程的迭代器,为我们提供批量图片。
    取样器是为算法提供数据的不同策略。
    PyTorch团队也维护了两个有用的库,即torchvision和torchtext,这两个库基于Dataset和DataLoader类构建。

2.3 划分神经网络的功能·模块

2.4 张量、变量、Autograd、梯度和优化器等基本构造模块

2.5 使用PyTorch加载数据

原文地址:https://www.cnblogs.com/donoho/p/11089416.html