Pytorch 中nn.Module类(nn.sequential)

nn.Module类是所有网络结构层次的父类。

当你要实现一个自己的层的时候,必须要继承这个类。

作用:

1.nn.sequential()用作容器Container

Sequential 允许我们构建序列化的模块。就把Sequential当作list来看。nn.sequential(), 一个有序的容器,神经网络模块将按照在传入构造器的顺序依次被添加到计算图中执行。

Sequential 允许我们构建序列化的模块,也就是说用了Sequential的好处是我们可以通过数字访问第几层,可以通过parameters、weights等参数显示网络的参数和权重

使用和不使用nn.Sequential()的对比

不使用

class Net(nn.Module):

def __init__(self):
    super(Net, self).__init__()

    # xw+b
    self.fc1 = nn.Linear(28*28, 256)
    self.fc2 = nn.Linear(256, 64)
    self.fc3 = nn.Linear(64, 10)

def forward(self, x):
    # x: [b, 1, 28, 28]
    # h1 = relu(xw1+b1)
    x = F.relu(self.fc1(x))
    # h2 = relu(h1w2+b2)
    x = F.relu(self.fc2(x))
    # h3 = h2w3+b3
    x = self.fc3(x)

    return x

使用

class Net(nn.Module):

def __init__(self):
    super(Net, self).__init__()

    self.fc = nn.Sequential(
    	nn.Linear(28*28, 256)
    	nn.Relu()
        nn.Linear(256, 64)
        nn.Relu()
        nn.Linear(64, 10)
    	)

def forward(self, x):
    # x: [b, 1, 28, 28]
    # h1 = relu(xw1+b1)
    x = self.fc(x)

    return x

参考https://blog.csdn.net/hxxjxw/article/details/106231242

相关推荐
Tony_long74831 小时前
Python学习——猜拳小游戏
开发语言·python·学习
陈苏同学2 小时前
机器翻译 & 数据集 (NLP基础 - 预处理 → tokenize → 词表 → 截断/填充 → 迭代器) + 代码实现 —— 笔记3.9《动手学深度学习》
人工智能·pytorch·笔记·python·深度学习·自然语言处理·机器翻译
狂放不羁霸2 小时前
组会 | 大语言模型 + LoRA
人工智能·语言模型·自然语言处理
sp_fyf_20242 小时前
【大语言模型】ACL2024论文-20 SCIMON:面向新颖性的科学启示机器优化
人工智能·深度学习·机器学习·语言模型·自然语言处理·数据挖掘
宋138102797202 小时前
SouVR Feedback force7 力反馈设备
人工智能·机器人·vr
股票GPT分析2 小时前
《Python 股票交易分析:开启智能投资新时代》(二)
大数据·服务器·python·c#·fastapi
大熊程序猿2 小时前
python Flask指定IP和端口
开发语言·python·flask
我叫白小猿2 小时前
【大模型-智能体】AutoGen Studio测试和导出工作流程
人工智能·python·workflow·工作流·智能体·autogen
K2SO4钾2 小时前
16. 清理Python包管理工具(pip 和 conda)的缓存和冗余文件
python·conda·pip
CopyLower2 小时前
AI赋能电商:智能购物推荐、会员分类与商品定价的创新探索
人工智能·分类·数据挖掘