如何结合卷积层和 MLP

问题描述 投票:0回答:0

我正在尝试为具有这样主干的深度神经网络制作模型:

每个块应该有一定数量的卷积层(比如说3) 它还应该有一个线性层。 输入通过平均池、线性层和非线性激活函数进行处理。 它也由卷积层处理。 线性层和卷积层的结果应该结合起来(线性向量中的第一个数字与第一个卷积层等)

将 torch.nn 导入为 nn

类 MyModel(nn.Module): 定义init(自我): super(MyModel, self).init() self.conv1 = nn.Conv2d(3, 16, 3, padding=1) self.relu1 = nn.ReLU() self.pool1 = nn.AvgPool2d(2, 2) self.conv2 = nn.Conv2d(16, 32, 3, padding=1) self.relu2 = nn.ReLU() self.pool2 = nn.AvgPool2d(2, 2) self.conv3 = nn.Conv2d(32, 64, 3, padding=1) self.relu3 = nn.ReLU() self.pool3 = nn.AvgPool2d(2, 2) self.conv4 = nn.Conv2d(64, 128, 3, padding=1) self.relu4 = nn.ReLU() self.pool4 = nn.AvgPool2d(2, 2) self.flatten = nn.Flatten()

def forward(self, x):
    x = self.conv1(x)
    x = self.relu1(x)
    x = self.pool1(x)
    x = self.conv2(x)
    x = self.relu2(x)
    x = self.pool2(x)
    x = self.conv3(x)
    x = self.relu3(x)
    x = self.pool3(x)
    x = self.conv4(x)
    x = self.relu4(x)
    x = self.pool4(x)
    x = self.flatten(x)
    return x

我认为这不符合规格。

任何理解方面的帮助将不胜感激。

deep-learning neural-network mlp
© www.soinside.com 2019 - 2024. All rights reserved.