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

训练和推理阶段验证集的精度不一致的原因分析

今天学生碰到了一个问题:训练和推理时,同一批验证集的精度不一致,经排查,原因分析如下:

验证集有9个数据,训练阶段,在计算验证集的精度时,batch_size=8,因此有2个batch,分别计算2个batch的平均精度后,求平均,得到验证集的平均精度,用x_i表示第i个样本的精度,则验证集的平均精度为:

{x_{m1}} = \frac{​{\frac{1}{8}\sum\limits_{i = 1}^8 {​{x_i}} + {x_9}}}{2}

推理阶段,在计算验证集的精度时,batch_size=1,有9个batch,计算完所有的batch精度后,求平均,得到验证集的平均精度为:

{x_{m2}} = \frac{1}{9}\sum\limits_{i = 1}^9 {​{x_i}}

可以发现{x_{m1}} \ne {x_{m2}}

综上,由于训练阶段验证集的batch_size不能被验证集样本数整除,计算得到的平均精度有偏差,导致了上述问题。解决办法如下:

把训练阶段验证集的batch_size设置为1即可。


http://www.kler.cn/a/488054.html

相关文章:

  • “深入浅出”系列之FFmpeg:(1)音视频开发基础
  • js代理模式
  • Tri-plane论文总结
  • RK3568 Android 13 内置搜狗输入法小计
  • 安装vue脚手架出现的一系列问题
  • 【cuda学习日记】2.2 使用2维网络(grid)和2维块(block)对矩阵进行求和
  • java 查询树结构数据,无限层级树结构通用方法
  • 【TI毫米波雷达】DCA1000不使用mmWave Studio的数据采集方法,以及自动化实时数据采集
  • 年度技术突破奖|中兴微电子引领汽车芯片新变革
  • Vue2与Vue3在项目开发中的选择:深入探讨
  • Web枚举:深入了解目标应用系统
  • leetcode39.组合总和
  • Blender 2D动画与MATLAB数学建模:跨界融合的创新实践探索
  • 任务调度系统Quartz.net详解2-Scheduler、Calendar及Listener
  • 【买二赠一——二分、贪心(有误)】
  • 【教程】数据可视化处理之2024年各省GDP排名预测!
  • 理解Unity脚本编译过程:程序集
  • Markdown中甘特图的使用
  • 需求:h5和小程序预览图片需要有当前第几张标识
  • 人工智能知识分享第九天-机器学习_集成学习
  • Center Loss 和 ArcFace Loss 笔记
  • socket网络编程-TC/IP方式
  • 《解锁数据科学的魔法盒子:JupyterLab 全面解析》
  • 什么是VLAN?
  • eslint.config.js和.eslintrc.js有什么区别
  • flutter 开启了服务并隐藏后如何关闭