python中forward函数的引用_PyTorch之nn.Module类与前向传播函数forward的理解

本文介绍了PyTorch中nn.Module类的使用,包括如何定义网络结构和forward函数。nn.Module是神经网络的核心,包含了网络层的定义和前向传播功能。在自定义网络时,需要继承nn.Module并实现forward方法。forward方法定义了模型的功能和层间关系。通过实例化nn.Module的子类并传递输入,模型会自动调用forward进行前向传播。
摘要由CSDN通过智能技术生成

1.nn.Module类理解

pytorch里面一切自定义操作基本上都是继承nn.Module类来实现的

方法预览:

classModule(object):def __init__(self):def forward(self, *input):defadd_module(self, name, module):def cuda(self, device=None):defcpu(self):def __call__(self, *input, **kwargs):def parameters(self, recurse=True):def named_parameters(self, prefix='', recurse=True):defchildren(self):defnamed_children(self):defmodules(self):def named_modules(self, memo=None, prefix=''):def train(self, mode=True):defeval(self):defzero_grad(self):def __repr__(self):def __dir__(self):'''有一部分没有完全列出来'''

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

(1)一般把网络中具有可学习参数的层(如全连接层、卷积层等)放在构造函数__init__()中,当然我也可以吧不具有参数的层也放在里面;

(2)一般把不具有可学习参数的层(如ReLU、dropout、BatchNormanation层)可放在构造函数中,也可不放在构造函数中,如果不放在构造函数__init__里面,则在forward

  • 2
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值