Pytorch 中 “forward”的使用

本文最后更新于:2022年7月7日 早上

Pytorch 中 “forward”的使用

数据进入网络模型的主要处理流程:数据集输入 -> 网络前向传播 -> 损失loss计算 -> 反向传播计算梯度 -> 根据梯度自动调参

**call函数:**可将类的实例对象变为可调用对象

1
2
3
4
5
6
class Rapper():
def __call__(self,name,AKA):
print("我是实例对象781号Rapper:{},AKA:{}" .format (name, AKA))

num_781_Rapper = Rapper()
num_781_Rapper("周延","gai")
1
2
output:
我是实例对象781号Rapper:周延,AKA:gai

call函数调用forward,当把定义的网络模型model当作函数调用的时候就自动调用定义的网络模型的forward方法。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
class Rapper:
def __call__(self, Name):
search = self.forward(Name)
return search

def forward(self, name):
print('信息查询函数 函数被调用了')
if name == 'gai':
print('姓名:{} 来自: {}'.format(name, "重庆"))
else:
print("系统未录入此人信息")
return name


rapper = Rapper()
about = rapper('gai')
print("目标人物:", about)
1
2
3
4
output:
信息查询函数 函数被调用了
姓名:gai 来自: 重庆
目标人物: gai

参考:

pytorch 中的 forward 的使用与解释

PyTorch之前向传播函数forward

Pytorch 中的 forward理解


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!