在Pytorch中构建网络时,nn.Sequential容器只传递到从nn.Module继承的模块(参数),可以构建流水线式神经网络。 在简单平坦化操作中,举例来说,要将(n,c,h,w )的输入平坦化为(n,C*H*W ),实际上可使用简单的x=x.view(x ) x,size(0),- -
但是,这个词不能单独放在nn.Sequential容器中。 nn.Module也没有用于均衡flatten操作的此子模块。
所以,为了方便直接放入nn.Sequential容器中,必须定制一个。
代码的实现很简单。
classflatten(nn.module ) : def _ init _ (self ) :super ) flatten,self ) __init__ () ) defforwarrard
net=nn.sequential (nn.conv 2d (1,16,stride=1,padding=1),nn.maxpool2d ),Flatten ),#这里是自己实现的继承