Pytorch进阶1-模型定义


前言

本次笔记为datawhale组队学习的学习笔记,简单记录了本期学习到的相关内容


一、PyTorch模型的定义

对于一个好的深度学习网络来说,一个好的模型必不可少,在当今许多不同的网络中,我们都需要用到与之相关的模型。
PyTorch模型定义要包含两个部分:各个部分的初始化(__init__);数据流向定义(forward)。
基于nn.Module,我们可以通过Sequential,ModuleList和ModuleDict三种方式定义模型。

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

在深层次的神经网络中,我们会发现总是有一些相同的结构重复出现,而每次遇到这样的情况我们都需要重复做相当的工作,我们不妨将重复出现的层定义为一个“模块”,每次只需要向网络中添加对应的模块就可以用来构建模型,简单高效。

三、修改模型

我们可以自己建立一个模型,但更多情况利用现成的网络结果会更高效,但是我们的目标与此并不相同,这就需要我们在现有的模型上进行一定的修改,满足我们的目的。

四、模型保存与读取

PyTorch存储模型主要采用ppl,pt,path三种格式,就使用层面来说并没有大的区别,一个PyTorch模型主要包含两个部分:模型结构和权重

五、总结

PyTorch是一个非常好用的深度网络框架,在学习之前,了解其基础是十分必要的,学习内容将持续更新

本文的内容均来自:https://github.com/datawhalechina/thorough-pytorch