简单CNN——作业(补充)

调度器种类

总共训练了15个epoch,结构为三层卷积层 + 两层全连接层。

ReduceLROnPlateau

复制代码
scheduler = optim.lr_scheduler.ReduceLROnPlateau(
    optimizer=optimizer,        # 指定要控制的优化器(这里是Adam)
    mode='min',       # 监测的指标是"最小化"(如损失函数)
    patience=3,       # 如果连续3个epoch指标没有改善,才降低LR
    factor=0.5        # 降低LR的比例(新LR = 旧LR × 0.5)
)

最终测试集准确率为78.50 %,累计平均损失为0.7247

StepLR

复制代码
scheduler = optim.lr_scheduler.StepLR(optimizer, step_size=5, gamma=0.1)  

最终测试集准确率为78.63 %,累计平均损失为0.7534

MultiStepLR

复制代码
scheduler = optim.lr_scheduler.MultiStepLR(optimizer, milestones=[10, 20, 30], gamma=0.5)  

最终测试集准确率为79.17 %,累计平均损失为0.7035

CosineAnnealingLR

复制代码
scheduler = optim.lr_scheduler.CosineAnnealingLR(optimizer, T_max=10, eta_min=0.0001)  

最终测试集准确率为78.05 %,累计平均损失为0.6986,整个训练内波动有点大。

在当前情况下(存在误差,每一个调度器只训练了一次),综合准确率和累计平均损失来看,使用MultiStepLR作为调度器的结果最好

|-------------------|--------|--------|--------|
| 调度器 | 测试集准确率 | 训练集准确率 | 累计平均损失 |
| ReduceLROnPlateau | 78.50% | 74.58% | 0.7247 |
| StepLR | 78.63% | 73.80% | 0.7534 |
| MultiStepLR | 79.17% | 75.36% | 0.7035 |
| CosineAnnealingLR | 78.05% | 75.60% | 0.6986 |

CNN结构

增加一层全连接层,测试集准确率为79.06%,累计平均损失为0.7293

复制代码
def forward(self, x):
        # 第一个卷积层后接ReLU激活函数和最大池化操作,经过池化后图像尺寸变为原来的一半,这里输出尺寸变为16x16
        x = self.pool(F.relu(self.conv1(x)))  # F.relu()不支持hook,无法监控中间结果
        # 第二个卷积层后接ReLU激活函数和最大池化操作,输出尺寸变为8x8
        x = self.pool(F.relu(self.conv2(x)))  
        # 第三个卷积层后接ReLU激活函数和最大池化操作,输出尺寸变为4x4
        x = self.pool(F.relu(self.conv3(x)))  
        # 将特征图展平为一维向量,以便输入到全连接层
        x = x.view(-1, 128 * 4 * 4)
        # 第一个全连接层后接ReLU激活函数
        x = F.relu(self.fc1(x))
        # 第二个全连接层后接ReLU激活函数
        x = F.relu(self.fc2(x))
        x = self.dropout(x) # p=0.5
        # 第三个全连接层输出分类结果
        x = self.fc3(x)
        return x
相关推荐
D11_2 分钟前
如何选择靠谱的 GEO 品牌服务商
大数据·人工智能
无忧智库8 分钟前
某集团数字人客服多模态交互与情感语音合成平台详细设计方案(WORD)
人工智能
罗西的思考11 分钟前
【Agentic RL / 强化学习 / OPD】OpenClaw-RL 源码阅读笔记 — (14)— Teacher
人工智能·笔记·深度学习·算法·机器学习
薛定e的猫咪12 分钟前
如何高效构建一个RAG知识库 dify实例与常见问题
人工智能·深度学习
塔能物联运维15 分钟前
**塔能两相液冷:量化交易场景下的硬核验证,±1.5℃控温如何转化为真金白银**
人工智能·fpga开发·两相液冷
hithithithithit17 分钟前
图像编辑维度分类一览表
人工智能
塔能物联运维20 分钟前
塔能两相液冷:600W/cm²极限能力,为下一代AI芯片预留充足散热余量
人工智能·算法·两相液冷
网易云信24 分钟前
从"能不能用"到"用来干什么"——2026 企业 AI 认知的三级跳
人工智能·agent
万悉科技25 分钟前
时尚品牌GEO技术选型指南:LLM原生优化与AI记忆构建全解析
数据库·人工智能·搜索引擎
FBI HackerHarry浩27 分钟前
AI大模型开发V2第四阶段机器学习概述
人工智能·python·机器学习