您现在的位置是:主页 > news > 手机免费建设网站制作/品牌推广专员
手机免费建设网站制作/品牌推广专员
admin2025/6/7 1:14:32【news】
简介手机免费建设网站制作,品牌推广专员,wordpress 博客 安装教程,wordpress外贸主题教程1. nn.Module模块使用 ① nn.Module是对所有神经网络提供一个基本的类。 ② 我们的神经网络是继承nn.Module这个类,即nn.Module为父类,nn.Module为所有神经网络提供一个模板,对其中一些我们不满意的部分进行修改。 import torch from torc…
1. nn.Module模块使用
① nn.Module是对所有神经网络提供一个基本的类。
② 我们的神经网络是继承nn.Module这个类,即nn.Module为父类,nn.Module为所有神经网络提供一个模板,对其中一些我们不满意的部分进行修改。
import torch
from torch import nnclass Tudui(nn.Module):def __init__(self):super(Tudui, self).__init__() # 继承父类的初始化def forward(self, input): # 将forward函数进行重写output = input + 1return outputtudui = Tudui()
x = torch.tensor(1.0) # 创建一个值为 1.0 的tensor
output = tudui(x)
print(output) #tensor(2.)
2. super(Myclass, self)._init_()
① 简单理解就是子类把父类的__init__()放到自己的__init__()当中,这样子类就有了父类的_init_()的那些东西。
② Myclass类继承nn.Module,super(Myclass, self).__init__()就是对继承自父类nn.Module的属性进行初始化。而且是用nn.Module的初始化方法来初始化继承的属性。
③ super().__init()__()来通过初始化父类属性以初始化自身继承了父类的那部分属性;这样一来,作为nn.Module的子类就无需再初始化那一部分属性了,只需初始化新加的元素。
③ 子类继承了父类的所有属性和方法,父类属性自然会用父类方法来进行初始化。
3. forward函数
① 使用pytorch的时候,不需要手动调用forward函数,只要在实例化一个对象中传入对应的参数就可以自动调用 forward 函数。
② 因为 PyTorch 中的大部分方法都继承自 torch.nn.Module,而 torch.nn.Module 的__call__(self)函数中会返回 forward()函数的结果,因此PyTroch中的 forward()函数等于是被嵌套在了call(self)函数中;因此forward()函数可以直接通过类名被调用,而不用实例化对象。
class A():def __call__(self, param):print('i can called like a function')print('传入参数的类型是:{} 值为: {}'.format(type(param), param))res = self.forward(param)return resdef forward(self, input_):print('forward 函数被调用了')print('in forward, 传入参数类型是:{} 值为: {}'.format( type(input_), input_))return input_a = A()
input_param = a('i')
print("对象a传入的参数是:", input_param)----------------------------------------------------------------
'''
i can called like a function
传入参数的类型是:<class 'str'> 值为: i
forward 函数被调用了
in forward, 传入参数类型是:<class 'str'> 值为: i
对象a传入的参数是: i
'''