pytorch的学习之路(一)| 模型的forward方法是如何被调用的

问题

out = net(image) # 图像作为输入,经过net做正向传播,得到输出(分类/框/。。。)

你有没有一个疑问,上面这行代码是如何调用forward()函数得到结果的?
我会贴出源码并做解释

解答

一步一步跟踪,net(image)到底经历了什么?(以下引用该开源代码做讲解,其中会做适当简化,以达到说明的目的)

  1. net的定义
net = RetinaFace()
  1. RetinaFace类的定义
class RetinaFace(nn.Module):
	def __init__(self):
		# 定义层结构,举例如下
		self.fpn = FPN()
	def forward(self, inputs):
		out = self.fpn(inputs)
		return out
  1. FPN类的定义
class FPN(nn.Module):
	def __init__(self,in_channels_list,out_channels):
		self.output1 = conv_bn1X1(in_channels_list[0], out_channels, stride = 1)
        self.output2 = conv_bn1X1(in_channels_list[1], out_channels, str
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值