首页 > 其他分享 >模型推理 结果不一致

模型推理 结果不一致

时间:2023-06-01 22:25:18浏览次数:46  
标签:一致 训练 模型 网络 Module 固定 推理 BN

背景:
1、固定网络部分,微调另外一部分, 固定部分包含bn
2、网络的fix部分和训练部分封装到一个nn.Module中
3、训练过程有推理,在推理的时候Module切换到eval(),推理完Module又切换到train()
现象:
最原始现象是 模型训练完,加载训练完的模型,精度和训练最后的训练精度对不上

分析过程:
1、多次训练,每次训练变动太大
2、用单个样本训练,对比训练时候 固定网络部分和推理时候固定网络 输出,发现 固定网络部分就不同
3、分析固定网络的参数,并无变化
4、打印每个算子的输出,发现是第一个BN层后面就变换了,就是BN算子带来的问题
** 根本原因:训练过程推理,推理完成之后,把整个Module切换到train, 而固定部分也会设置成train(),导致固定部分的BN层的running_mean和running_var更新,进而导致网络不稳定**

标签:一致,训练,模型,网络,Module,固定,推理,BN
From: https://www.cnblogs.com/pyclq/p/17450400.html

相关文章

  • volatile与java内存模型
    一、结论先说结论,volatile能保证可见性和有序性,不能保证原子性。二、volatile的内存语义当写一个volatile变量时,会将变量值刷新回主内存当读一个volatile变更时,会从主内存中读取最新值三、内存屏障是什么?内存屏障是一类同步屏障指令,是cpu或编译器在对内存随机访问操作的一......
  • 二级指针内存模型
    二级指针做输出模型#define_CRT_SECURE_NO_WARNINGS#include<stdlib.h>#include<string.h>#include<stdio.h>//指针做输出:被调用函数分配内存-----OK//指针做输入:主调用函数分配内存//求文件中的两段话的长度intgetMem(char**myp1,int*mylen1,char**myp2,in......
  • 深入探索C++对象模型(十一)执行期语义学(临时对象)
    关于临时对象的几条准则。1. 在某些情况下,编译器可以产生必要的,或者可以带来方便的临时对象,具体行为由编译器来定义。例如,对于如下操作:1.Ta,b;2.Tc=a+b;//Toperator+(constT&,constT&)a.编译器会产生一个临时对象,放置a+b的结果,然后使用T的拷贝构造函数,把临时......
  • 吴恩达教授AI课程:LangChain、扩散模型,用ChatGPT API搭建系统
    家人们,吴恩达教授的AI课程时隔一个月终于又更新了!这次一口气直接推出了三门课,主题包括LangChain、扩散模型,以及用ChatGPTAPI搭建系统。依旧是限时免费,除了扩散模型需要一定知识储备之外,另外两门课新手也能听。有网友为了看完这些课程,直接连觉都不睡了。课程内容这三门课的......
  • 通义千问预体验,如何让 AI 模型应用“奔跑”在函数计算上?
    立即体验基于函数计算部署通义千问预体验:https://developer.aliyun.com/topic/aigc_fcAIGC浪潮已来,从文字生成到图片生成,AIGC的创造力让人惊叹,更多人开始探索如何使用AI提高生产效率,激发更多创作潜能,然而在实际应用中,AI技术的高门槛仍然让很多人望而却步,普通开发者或者没有......
  • Blender导出的模型和kanzi坐标轴匹配的设置方法
    1、blender里的导出配置 要改成Y向上,Z向前。 2、kanzi里摄像机的参数归0,然后导入的模型 各项参数也都归0,这样调整的角度就都是一致的。 ......
  • 分布式队列编程:模型、实战
    介绍作为一种基础的抽象数据结构,队列被广泛应用在各类编程中。大数据时代对跨进程、跨机器的通讯提出了更高的要求,和以往相比,分布式队列编程的运用几乎已无处不在。但是,这种常见的基础性的事物往往容易被忽视,使用者往往会忽视两点:使用分布式队列的时候,没有意识到它是队列。有具体需......
  • 机器学习模型优化:variance bias
    bias(偏差:指同一个点的训练数据的预测值与正确值间的偏离程度)variance(方差:指同一个点的训练数据的预测值的离散程度) 一般情况下,模型需要在bias和variance之间取得一个平衡。bias小的模型,variance一般大;variance小的模型,bias一般大。更好的理解bias和variance的关系能够帮助我们......
  • UE4添加人物模型
    在正式使用UE4添加人物模型之前,我们先来解释几个概念。什么是组件在添加人物模型之前先介绍一个概念叫“组件”,组件是什么呢?组件的作用是为了让Actor实现一个功能,比如说:我们现在的角色,没有模型,我们需要一个模型那怎么办呢?那么我就要在Character身上挂一个“骨骼模型组件”......
  • 大模型可视化
     说明:左边是一个与Showprobabilities设置为的OpenAIPlayground基本一致的界面Fullspectrum。提示是Arebugsreal?,随后突出显示的文本是模型生成的完成。令牌根据模型预测的概率进行着色,绿色最有可能,红色最不可能。左侧的下拉菜单显示了在特定位置(在本例中为are采样位置)预......