zoukankan      html  css  js  c++  java
  • Datawhale 学CV--task 5模型集成

    记录几个关于模型集成的问题:

    1、validate set的留出法(还有k-折交叉验证)

    【常见的集成学习方法有Stacking、Bagging和Boosting,同时这些集成学习方法与具体验证集划分联系紧密。】

    原来常说的集成学习,跟验证集划分相关,以前常看到集成,但不知道是怎么做,以为是多个模型test结果的处理。

    2、dropout也是集成的一种。

    以前以为只有在FC层后,因为参数比较多,现在知道还有conv的后面,具体是在激活层后面,pooling层前面。例如

    nn.Conv2d(3, 64, kernel_size=(3, 3), stride=(2, 2)),
    nn.ReLU(),
    nn.Dropout(0.2),
    nn.MaxPool2d(2),

    3、TTA是测试时用的集成方法,虽然代码里有TTA,但是还设里一个False的flag,所以实际是没有用TTA?

    但也提醒注意:

    • 集成学习只能在一定程度上提高精度,并需要耗费较大的训练时间,因此建议先使用提高单个模型的精度,再考虑集成学习过程;
    • 具体的集成学习方法需要与验证集划分方法结合,Dropout和TTA在所有场景有可以起作用

    4、变换Lr。固定Lr的方法是在优化器里指定;如果通过看loss曲线,确定Lr修改的epoch,可以写一个判断语句,修改Lr变量。

    还有一个StepLr,暂时不会用。

  • 相关阅读:
    echarts柱状图实现多条不同颜色渐变
    vue echarts 点击左侧菜单,宽度无法自适应,且支持 窗口大小改变echarts图自适应
    element 单列查询
    js实现双向数据绑定,vue v-model原理
    css3 nth-child使用
    基于工程实践选题的对同类软件产品的调研分析
    深度优先搜索
    迷宫
    元组和字典
    列表
  • 原文地址:https://www.cnblogs.com/haiyanli/p/13028933.html
Copyright © 2011-2022 走看看