文章
Module是Contains中最常用的模块,Contains是用来构建神经网络架构的。
Contains官方文档
神经网络的基本骨架-nn.Moudle的使用官方文档
根据官方文档的示例:
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))
步骤:使用神经网络的基本骨架-nn.Moudle,主要可以分为三步吧。
- 创建一个类继承nn.Module
- 继承nn.Module的初始化加上自己的初始化
- 重写forword方法
对官方文档这部分代码的解释:
def forward(self, x):
x = F.relu(self.conv1(x))
return F.relu(self.conv2(x))
看图,很形象的。
nn.Moudle使用示例:
import torch
from torch import nn
# 创建一个类继承nn.Module
class Tudui(nn.Module):
# 继承nn.Module的初始化
def __init__(self):
super().__init__()
# 重写forword方法
def forward(self,input):
output = input+1
return output
# 创建一个类对象
obj = Tudui()
x = torch.tensor(1.0)
# 往类对象中传入参数并接收结果
output = obj(x)
# 输出结果
print(output)
代码运行结果: