注册 登录
电子工程世界-论坛 返回首页 EEWORLD首页 频道 EE大学堂 下载中心 Datasheet 专题
LitchiCheng的个人空间 https://home.eeworld.com.cn/space-uid-1003127.html [收藏] [复制] [分享] [RSS]
日志

一起读《动手学深度学习(PyTorch版)》- 层和块

已有 162 次阅读2024-10-29 21:51 |个人分类:深度学习

nn.Sequential是PyTorch中表示一个块的类,维护了一个由Module组成的有序列表。全连接层是Linear类的实例,通过net(X)调用模型来获得输出,实际上是net.__call__(X)的简写。前向传播函数将每个块连接在一起,将每个块的输出作为下一个块的输入

    

自定义块


import matplotlib.pyplot as plt
import torch
from torch import nn
from torch.nn import functional as F

net = nn.Sequential(nn.Linear(20, 256), nn.ReLU(), nn.Linear(256, 10))

X = torch.rand(2, 20)
print(net(X))

class MLP(nn.Module):
    def __init__(self):
        super().__init__()
        self.hidden = nn.Linear(20, 256)
        self.out = nn.Linear(256, 10)

    def forward(self, X):
        return self.out(F.relu(self.hidden(X)))

net = MLP()
print(net(X))

输出结果不同,是因为权重是随机分配的

 

本文来自论坛,点击查看完整帖子内容。

评论 (0 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 注册

热门文章