nn.Module 是PyTorch中的一个基础类,(nn即是Neural Networks),用于构建神经网络模型。所有的神经网络模型都必须继承于nn.Module类,并实现 forward()方法来定义模型的前向传播过程。nn.Module类提供了一些方便的工具方法,如 parameters()
和 zero_grad()
,可以方便地管理模型的参数和梯度。
在定义自己的网络时,需要继承nn.Module 类,并重新实现构造函数 __init__()和forward()这两个方法。
在继承nn.Module 的子类中,通常会定义一些层(如卷积层,全连接层等),并在 __init__()方法中进行实例化,然后在 forward()方法中将这些层连接起来,构成完整的模型。
torch.nn.Module
类中包含了很多方法和属性:
1.forward(*input)
方法:定义了模型的前向计算过程。
2.parameters()
方法:返回所有模型中需要训练的可学习参数。
3.named_parameters()
方法:返回所有模型中需要训练的可学习参数,同时返回参数的名称。
4.modules()
方法:返回所有模型中的子模块(包括当前模块)。
5.named_modules()
方法:返回所有模型中的子模块(包括当前模块),同时返回子模块的名称。