动手深度学习v2 层和块课后习题 基于Pytorch

一.层和块

1.如果将MySequential中存储块的方式更改为Python列表,会出现什么样的问题?

这个问题想了很久,也查了。还是没想到合适的。开始想的是会不会产生地址冲突,打了下代码发现也没问题。但是原文的解释现在也不是很懂。

In short the chief advantage of _modules is that during our module’s parameter initialization, the system knows to look inside the _modules dictionary to find sub-modules whose parameters also need to be initialized.

简而言之,_modules的主要优点是: 在模块的参数初始化过程中, 系统知道在_modules字典中查找需要初始化参数的子块。

在这里插入图片描述
这个解释的很好

2.实现一个块,它以两个块为参数,例如net1和net2,并返回前向传播中两个网络的串联输出。这也被称为平行块。

class parallel(nn.Module):

    def __init__(self, block1, block2):
        super().__init__()
        self.block1 = block1
        self.block2 = block2

    def forward(self, X):
        one = self.block1(X)
        two = self.block2(X)
        return torch.cat((one, two))

3.假设你想要连接同一网络的多个实例。实现一个函数,该函数生成同一个块的多个实例,并在此基础上构建更大的网络

在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值