目录
torch.nn — PyTorch 1.13 documentation
Module — PyTorch 1.13 documentation
我们自己定义的神经网络需要继承nn.Module类,需要重写以下两个方法:
在官方文档给出的实例中, 在init方法中进行了卷积操作,在forward方法中进行了relu非线性处理操作,代码如下所示。
- import torch.nn as nn
- import torch.nn.functional as F
-
- class Model(nn.Module):
- def __init__(self):
- super().__init__()
- self.conv1 = nn.Conv2d(1, 20, 5)
- self.conv2 = nn.Conv2d(20, 20, 5)
-
- def forward(self, x):
- x = F.relu(self.conv1(x))
- return F.relu(self.conv2(x))
示例代码中进行的操作流程是:
- import torch
- from torch import nn
-
-
- class Maweiyi(nn.Module):
- def __init__(self):
- super(Maweiyi, self).__init__()
-
- def forward(self,input):
- output = input + 1;
- return output
-
- # 创建神经网络
- maweiyi = Maweiyi()
- # 输入的值为x,tensor型,数值为1
- x = torch.tensor(1.0)
- # 输出为output
- output = maweiyi(x)
- print(output)