Neural network 定制的NN层每个层都有自己的转发功能

Neural network 定制的NN层每个层都有自己的转发功能,neural-network,pytorch,Neural Network,Pytorch,我想使用具有不同自定义层的PyTorch创建NN。我的意思是: 我想用这种方式制作几个层,每个层都有自己的正向功能,因为我有不同行为的特定需求 class myCustomLayer1(nn.Module): def __init__(self): super().__init__() self.layer = nn.Linear(1,2) def forward(self, input): #do something

我想使用具有不同自定义层的PyTorch创建NN。我的意思是:

我想用这种方式制作几个层,每个层都有自己的正向功能,因为我有不同行为的特定需求

class myCustomLayer1(nn.Module):
    def __init__(self):
       super().__init__()
       self.layer = nn.Linear(1,2)
     
    def forward(self, input):
        #do something
        return output
因此,这一结构被复制:

class myCustomLayer2(nn.Module):
    def __init__(self):
       super().__init__()
       self.layer = #another different type of layer
     
    def forward(self, input):
        #do something
        return output
等等。问题是:当我为所有这些层定义容器时会发生什么?我想要类似的东西

class myNN(nn.Module):
       def __init__(self):
           super().__init__()         
           self.layer1 = myCustomLayer1()
           self.layer2 = myCustomLayer2()
           ...
       def forward(self, input):
           ##here code from forward functions of different layers is called

其中,
输入
的形状正确。
我知道forward函数是在
\uuu call\uu
方法中调用的。所以我想知道是否有一种方法可以将多个正向函数组合在一个函数中。我希望我是清楚的。多亏了所有

为什么
顺序
对您来说不够?
model = myNN(input)