GFPGAN源代码分析(十一)

本文深入分析了PyTorch中的nn.Module类,探讨了其作为网络构造基础、参数管理、设备迁移及模型保存加载等功能。nn.Module不仅提供了常见的基本模块,还作为容器简化网络构建,管理百万级参数并支持模型的持久化。
摘要由CSDN通过智能技术生成

2021SC@SDUSC

重点类nn.Module分析

1.nn.Module简介

我们在定义自已的网络的时候,需要继承nn.Module类,并重新实现构造函数__init__构造函数和forward这两个方法。

(1)一般把网络中具有可学习参数的层(如全连接层、卷积层等)放在构造函数__init__()中,当然我也可以吧不具有参数的层也放在里面;
(2)一般把不具有可学习参数的层(如ReLU、dropout、BatchNormanation层)可放在构造函数中,也可不放在构造函数中,如果不放在构造函数__init__里面,则在forward方法里面可以使用nn.functional来代替
(3)forward方法是必须要重写的,它是实现模型的功能,实现各个层之间的连接关系的核心。

2.nn.Module的作用

1.可以提供一些现成的基本模块比如:

Linear、ReLU、Sigmoid、Conv2d、Dropout

2.容器

比如我们经常用到的 nn.Sequential(),顾名思义,将网络模块封装在一个容器中,可以方面网络搭建。

3.参数管理

参数名字可以自动生成(想想如果自己去命名,百万参数的网络没法搭建),然后这些参数都可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值