以下内容转自:
PyTorch中的Sequential、ModuleList和ModuleDict用法总结_非晚非晚的博客-CSDN博客
1. 区别与联系
首先来一张图,总体概括一下它们的区别:
区别
nn.Sequential内部实现了forward函数,因此可以不用写forward函数。而nn.ModuleList和nn.ModuleDict则没有实现内部forward函数。
nn.Sequential需要严格按照顺序执行,而其它两个模块则可以任意调用。
下面分别进行介绍。
1.1 nn.Sequential 不能自由添加删除
nn.Sequential里面的模块按照顺序进行排列的,所以必须确保前一个模块的输出大小和下一个模块的输入大小是一致的,不能自由添加,