【PyTorch】模型构造:Module 和其子类Sequential、ModuleList、ModuleDict

本文介绍了在PyTorch中如何使用Module、Sequential、ModuleList和ModuleDict来构造和访问神经网络模型。通过示例展示了如何继承Module创建模型,使用Sequential快速构造模型,利用ModuleList动态管理和扩展网络层,以及利用ModuleDict根据键值存取网络模块。
摘要由CSDN通过智能技术生成

0. 导入用到的库

import torch
import torch.nn as nn
from collections import OrderedDict

1. 继承Module构造和访问模型

Module 类是 torch.nn 模块里提供的⼀个模型构造类,是所有神经⽹络模块的基类,我们可以继承它来定义 我们想要的模型。
只需重写 forward方法
 
class MLP(nn.Module):
    def __init__(self, **kwargs):
        super(MLP,self).__init__(**kwargs)
        self.hidden = nn.Linear(784, 256)
        self.act = nn.ReLU()
        self.output = nn.Linear(256, 10)

    def forward(self, x):
        a = self.act(self.hidden(x))
        return self.output


查看模型
X = torch.rand(2, 784)
net = MLP()
print(net)
net(X)

输出

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值