1、
、 、
类都继承自
Module
类。
(资料图)
2、、
和 语法
3、Sequential
、ModuleDict
、 ModuleList
的区别
1)
ModuleList
仅仅是一个储存各种模块的列表,这些模块之间没有联系也没有顺序(所以不用保证相邻层的输入输出维度匹配),而且没有实现 forward
功能需要自己实现
2)和 ModuleList
一样, ModuleDict
实例仅仅是存放了一些模块的字典,并没有定义 forward
函数需要自己定义
3)而 Sequential
内的模块需要按照顺序排列,要保证相邻层的输入输出大小相匹配,内部 forward
功能已经实现,所以,直接如下写模型,是可以直接调用的,不再需要写forward,sequential 内部已经有 forward
为 写 forward 函数
为 写 forward 函数
将 转换成
将 转换成
4、ModuleDict
、 ModuleList
的区别
1)ModuleDict
可以给每个层定义名字,ModuleList
不会
2)ModuleList
可以通过索引读取,并且使用 append 添加元素
3)ModuleDict
可以通过 key 读取,并且可以像 字典一样添加元素
5、、
与 Python
list、
Dict
的区别
加入到 ModuleList
、ModuleDict
里面的所有模块的参数会被自动添加到整个网络中。