Datawhale 深入浅出Pytorch【第三~四章:Pytorch模块和基础实践】

Pytorch主要组成模块

  • 前言
  • 深度学习基础知识
      • 神经网络学习步骤
      • Pytorch深度学习模块
        • 基本配置
        • 数据读入
        • 模型构建
        • 损失函数
        • 优化器
        • 训练与评估
  • 总结


前言

预期完成本课后可以使用Pytorch完成简单的图像分类任务。


深度学习基础知识

神经网络学习步骤

模型设计:模型有多少层,每个层有多少个节点;
损失函数和优化方案设计
前向传播:把数据传入模型,在输出层得到结果,计算损失函数。
方向传播:把损失函数方向传播到模型,用来更新参数。

Pytorch深度学习模块

基本配置

需要有packages、配置训练过程的超参数、配置训练用的硬件设备

from torchvision import transforms
image_size=28
data_transform=transforms.Compose([
	transforms.ToPILImage(),
	transforms.Resize(image_size),  #图片统一大小
	transforms.ToTensor()
])

数据读入

1.如何读取格式不定的本地数据:Dataset(类)
2.如何将数据加载以供模型输入:DataLoader中shuffle=True,指的是把数据随机。drop_last=True,指的是把不满1个batch的去掉。pin_memory会占用内存,但是会让模型运行更快。

模型构建

神经网络的构造:基于nn.Module
神经网络是通过“层定义+层顺序”的方式构建起来的
神经网络常见层:nn.Conv2d, nn.MaxPool2d,nn.Linear, nn.ReLU

nn.Sequential指的是冠序模型,帮你进行模型的顺序。

损失函数

torch.nn提供了多种预定义的损失函数,也可以自己定义损失函数;
损失函数常用操作:backward()

优化器

torch.optim提供了多种预定义的优化器,也可以自己定义优化器;
优化器常用操作:
step(),zero_grad(),load_state_dict()

训练与评估

模型状态设置:model.train(),model.eval()

总结

这次老师向我们展示了用pytorch进行简单的建模,为后面更加复杂的模型做好基础。

你可能感兴趣的:(pytorch,深度学习,神经网络)