7.nn_Module
neural network
神经网络的很多工具都在torch.nn里面
containers会提供神经网络的骨架
containers中有很多模块,我们常用的是Module模块
Base class for all neural network modules
Module给所有神经网络提供骨架
import torch.nn as nnimport torch.nn.functional as F#定义一个类Model ,其继承父类nn.Moduleclass Model(nn.Module):#继承父类之后初始化,在创建实例时会进行初始化def __init__(self):#必须要的super(Model, self).__init__()#以下可以自己编写self.conv1 = nn.Conv2d(1, 20, 5)self.conv2 = nn.Conv2d(20, 20, 5)#前向传递 input x ,conv1 → relu → conv2 → relu → outputdef forward(self, x):x = F.relu(self.conv1(x))return F.relu(self.conv2(x))
例子
from torch import nnimport torchclass DEMO(nn.Module):def __init__(self):super(DEMO,self).__init__()def forward(self, input):output = input +1return output# 创建一个实例demodemo = DEMO()x = torch.tensor(1.0)# x输入给实例demooutput = demo(x)print(output)
