您当前的位置:首页 >  商业资讯  > 正文
nn.Sequential 、 nn.ModuleList 、 nn.ModuleDict 的使用 与 区别
来源:哔哩哔哩     时间:2023-08-11 21:57:46

1、类都继承自 Module类。

2、、语法


(资料图片)

3、SequentialModuleDictModuleList的区别

1)ModuleList仅仅是一个储存各种模块的列表,这些模块之间没有联系也没有顺序(所以不用保证相邻层的输入输出维度匹配),而且没有实现 forward功能需要自己实现

2)和 ModuleList一样, ModuleDict实例仅仅是存放了一些模块的字典,并没有定义 forward函数需要自己定义

3)而 Sequential内的模块需要按照顺序排列,要保证相邻层的输入输出大小相匹配,内部 forward功能已经实现,所以,直接如下写模型,是可以直接调用的,不再需要写forward,sequential 内部已经有 forward

为 写 forward 函数

为 写 forward 函数

将 转换成

将 转换成

4、ModuleDictModuleList的区别

1)ModuleDict可以给每个层定义名字,ModuleList不会

2)ModuleList可以通过索引读取,并且使用 append 添加元素

3)ModuleDict可以通过 key 读取,并且可以像 字典一样添加元素

5、、 与 Python  list、Dict的区别

加入到 ModuleListModuleDict里面的所有模块的参数会被自动添加到整个网络中。

标签:

相关新闻

X 关闭

X 关闭

精彩推荐