Datawhale 深入浅出Pytorch【第五章:Pytorch模型的定义】

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

第五章:Pytorch模型的定义

  • 前言
  • 一、模型定义方式
  • 二、如何利用模型块快速搭建复杂网络
  • 三、模型修改
  • 四、模型保存与读取


前言

本章将结合U-Net模型和torchvision预定义的ResNet模型来探索Pytorch的模型定义方式和训练技巧。


一、模型定义方式

这里的话,李老师给我们定义了一下模型的三种方式:Sequential, ModuleList 和ModelDict
Datawhale 深入浅出Pytorch【第五章:Pytorch模型的定义】_第1张图片
Datawhale 深入浅出Pytorch【第五章:Pytorch模型的定义】_第2张图片

二、如何利用模型块快速搭建复杂网络

组成U-Net的模型块主要有如下几个部分:
1)每个子块内部的两次卷积(Double Convolution)
2)左侧模型块之间的下采样连接,即最大池化(Max pooling)
3)右侧模型块之间的上采样连接(Up sampling)
4)输出层的处理

Datawhale 深入浅出Pytorch【第五章:Pytorch模型的定义】_第3张图片
Datawhale 深入浅出Pytorch【第五章:Pytorch模型的定义】_第4张图片
Datawhale 深入浅出Pytorch【第五章:Pytorch模型的定义】_第5张图片

三、模型修改

假设最后的分割是多类别的,需要对模型特定层进行修改。
Datawhale 深入浅出Pytorch【第五章:Pytorch模型的定义】_第6张图片
Datawhale 深入浅出Pytorch【第五章:Pytorch模型的定义】_第7张图片
Datawhale 深入浅出Pytorch【第五章:Pytorch模型的定义】_第8张图片

四、模型保存与读取

这里相应考虑单卡和多卡情况下的模型存取

你可能感兴趣的:(pytorch,深度学习,机器学习)