pytorch nn.ModuleList和nn.Sequential的用法笔记

有部分内容转自:

pytorch小记:nn.ModuleList和nn.Sequential的用法以及区别_慕思侣的博客-CSDN博客

但是有部分内容做了修改调整,

在构建网络的时候,pytorch有一些基础概念很重要,比如nn.Module,nn.ModuleList,nn.Sequential,这些类我们称为为容器(containers),可参考containers。本文中我们主要学习nn.ModuleList和nn.Sequential,并判断在什么时候用哪一个比较合适。

1. nn.ModuleList和nn.Sequential简介
nn.ModuleList

nn.ModuleList,它是一个存储不同module,并自动将每个module的parameters添加到网络之中的容器。你可以把任意nn.Module的子类(如nn.Conv2d,nn.Linear等)加到这个list里面,方法和python自带的list一样,无非是extend,append等操作,但不同于一般的list,加入到nn.ModuleList里面的module是会自动注册到整个网络上的,同时module的parameters也会自动添加到整个网络中。若使用python的list,则会出问题。

class net1(nn.Module):
    def __init__(self):
        

猜你喜欢

转载自blog.csdn.net/jacke121/article/details/132121925