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

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

[TOC]网络

2.1 安装PyTorch

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

最新版本的安装: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加载数据

相关文章
相关标签/搜索