神经网络的基本骨架-nn.Moudle的使用

文章


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)

代码运行结果:
运行结果

猜你喜欢

转载自blog.csdn.net/booze_/article/details/125440895