Pytorch神经网络魔改之:模型融合 - 速通(1)

本文将以几种常见方法为例,介绍如何进行Pytorch神经网络的模型融合:

1. 子模型串联(Sequential Concatenation)

在这个方法中,输入数据x首先通过FeatureExtractor(即:子模型1),处理后的结果再传递给Classifier(即:子模型2)。最后,返回Classifier的输出。这种方式允许将两个子模型串联起来,形成一个组合模型:

import torch.nn as nn

# 定义FeatureExtractor子模型,主要负责提取输入图像的特征
class FeatureExtractor(nn.Module):
    def __init__(self):
        super(FeatureExtractor, self).__init__()
        # 定义第一个全连接层:输入特征维度为784(28x28图像拉平后的大小),输出维度为512
        self.dense_layer1 = nn.Linear(784, 512)
        # 定义ReLU激活函数以引入非线性,增强模型的表达能力
        self.activation = nn.ReLU()
        # 定义第二个全连接层:进一步转换特征到256维
        self.dense_layer2 = nn.Linear(512, 256)
 
    def forward(self, x):
        # 将输入图像数据从二维图像格式拉平为一维向量格式
        x = x.view(-1, 784)
        # 数据流经第一个全连接层后,应用ReLU激活函数
        x = self.dense_layer1(x)
        x = self.activation(x)
        # 经过第二个全连接层
        x = self.dense_layer2(x)
        return x
 
# 定义Classifier子模型,用于基于提取的特征进行分类
class Classifier(nn.Module):
    def __init__(self):
        super(Classifier, self).__init__()
        # 定义第三个全连接层:从256维特征降至128维
        self.dense_layer3 = nn.Linear(256, 128)
        # 再次使用ReLU激活函数
        self.activation = nn.ReLU()
        # 定义第四个全连接层:最终将特征映射到10个输出类别(假设为10类分类问题)
        self.dense_layer4 = nn.Linear(128, 10)
 
    def forward(self, x):
        # 数据流经第三个全连接层,再次应用ReLU激活
        x = self.dense_layer3(x)
        x = self.activation(x)
        # 最后经过第四个全连接层,得到分类输出
        x = self.dense_layer4(x)
        return x
 
# 定义ImageClassifier组合模型,整合FeatureExtractor和Classifier完成从图像到分类标签的过程
class ImageClassifier(nn.Module):
    def __init__(self, feature_
  • 36
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lczdyx

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值