当前位置: 首页 > news >正文

简单CNN——作业(补充)

调度器种类

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

ReduceLROnPlateau

scheduler = optim.lr_scheduler.ReduceLROnPlateau(optimizer=optimizer,        # 指定要控制的优化器(这里是Adam)mode='min',       # 监测的指标是"最小化"(如损失函数)patience=3,       # 如果连续3个epoch指标没有改善,才降低LRfactor=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作为调度器的结果最好

调度器测试集准确率训练集准确率累计平均损失
ReduceLROnPlateau78.50%74.58%0.7247
StepLR78.63%73.80%0.7534
MultiStepLR79.17%75.36%0.7035
CosineAnnealingLR78.05%75.60%0.6986

CNN结构

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

def forward(self, x):# 第一个卷积层后接ReLU激活函数和最大池化操作,经过池化后图像尺寸变为原来的一半,这里输出尺寸变为16x16x = self.pool(F.relu(self.conv1(x)))  # F.relu()不支持hook,无法监控中间结果# 第二个卷积层后接ReLU激活函数和最大池化操作,输出尺寸变为8x8x = self.pool(F.relu(self.conv2(x)))  # 第三个卷积层后接ReLU激活函数和最大池化操作,输出尺寸变为4x4x = 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

http://www.dtcms.com/a/607149.html

相关文章:

  • 关于网站建设的话术做铁艺需要什么网站
  • 3. Linux 计划任务管理;4. Linux 进程调度管理
  • 网站建设口号免费开发游戏
  • 五屏网站建设品牌企业集团网站建设方案论文
  • 网站建设xywlcn网店设计方案范文
  • 太原网站建设价格套餐又做投资的网站吗
  • 突破反爬:使用代理IP和User-Agent轮询爬取音乐数据
  • 梵高网站建设天津网站seo设计
  • 湖州网站优化爱文者原创网
  • 使用MobaXterm在局域网里连接不上windows电脑
  • 厦门seo新站策划泗阳住房建设局网站
  • 制造业为何成为应用场景开放的“试验田”
  • 旋转位置编码(Rotary Position Embedding,RoPE)
  • 天津市开发区建设管理局网站启迪网站开发
  • 站长资源平台百度网站怎么做能中英文的
  • SpringBoot系列之CompletableFuture控制同步任务的先后执行
  • 4.2 Hive数据表操作
  • 网站开发工作经验怎么写wordpress菜单消失
  • Rust 并发实战:从零构建一个内存安全的“番茄时钟”
  • vmware做网站步骤今天天津最新通告
  • 网站后台难做吗学校网站栏目建设
  • 汇编语言编译器MASM | 深入了解MASM的使用与优化技巧
  • 可以用什么网站做mc官方新东方培训机构官网
  • 注册完域名 如何做网站红河北京网站建设
  • 基于OpenCV C++的行人检测与人流量统计算法
  • 徐州网站的优化wordpress修改模板教程
  • Spring Cloud Alibaba 组件版本选择
  • 网站开发考研是什么专业如何上传网站程序
  • 网站页面设计好了后台如何添加建设银行新版网站上线
  • 佛山网站建设定制开发网站监控的软件怎么做