当前位置: 首页 > 知识库问答 >
问题:

测试期间的批次正常化

阎阳
2023-03-14

对于测试期间的批量归一化,如何计算每个激活输入(在每个层和输入维度中)的平均值和方差?是否记录训练的均值和方差,计算整个训练集的均值和方差,或计算整个测试集的均值和方差?

很多人说你要预先计算均值和方差,但如果用计算整个测试集均值和方差的方法,那岂不是在进行前向传播(而不是“预先”)的同时,还需要计算整个测试集的均值和方差?

非常感谢你所有的帮助!

共有2个答案

聂季同
2023-03-14

在训练时记录经验平均值和方差,例如运行平均值,随后用于测试集,而不是计算每个测试批次的平均值和方差。

董弘新
2023-03-14

当您在测试中进行预测时,总是使用train的统计数据—无论是简单的转换还是批量规范化。

我建议您尝试cs231n课程来了解更多信息。下面是我在编写代码时如何编写批处理规范化代码的:github-link。

如果测试统计数据与训练有很大不同,这意味着测试总体上是不同的,模型不会很好地工作。在这种情况下,您无论如何都需要找到不同的训练数据。但更准确地说——当您根据数据训练模型,以某种方式处理时,它不会在以不同方式处理的数据上很好地工作。

让我们假设只有1个测试样本——也就是说,您想对一个客户端或其他任何客户端进行预测。在这种情况下,您根本无法计算测试统计数据。其次,让我们进行批量归一化。数据被归一化,现在值显示原始数据与某个平均值相差多少标准差。因此模型将使用此信息进行训练)。如果您使用测试统计数据对测试数据进行归一化,那么值将显示与不同平均值的偏差。

 类似资料:
  • 我有一个静态类“电子邮件”内类“联系人”。在测试中,我遇到了一个例外: 以下是测试中的代码: 电子邮件1和联系人。电子邮件是电子邮件类的对象,不是吗?

  • 主要内容:1. 运行时异常,2. 检查异常在本教程中,我们将演示如何使用TestNG expectedExceptions来测试代码中的预期异常抛出。 创建一个名称为 ExpectedExceptionTest 的 Maven 工程,其结构如下所示 - 1. 运行时异常 此示例显示如何测试运行时异常。 如果方法抛出一个运行时异常 — ,它会获得通过。 创建一个测试文件:TestRuntime.java ,其代码如下所示 - 运行上面代码,

  • 8.3.1.测试正常运行 到这里,已经可以运行程序并启动 Service 了。只要观察 log 文件你就可以发现,我们的 Service 会每隔两分钟记录一次任务的执行情况。而 Service 一旦停止,任务就不再执行了。 如下为 LogCat 的输出结果,从中可以看出我们 Service 的执行情况: D/UpdaterService( 3494): onCreated D/UpdaterSer

  • 问题描述 Nacos2.2.0在测试可用性时,我们重启了一台服务(服务器程序包括nacos节点和应用服务),发现服务无法下线,也将持久实例改成了临时实例,服务也无法下线。而且也没看到心跳日志(已改成debug级别); 问题出现的环境背景及自己尝试过哪些方法 服务端使用的是Nacos2.2.0,客户端也是2.2.0,k8s容器部署。nacos三台集群,应用也是三台负载; 相关代码 spring: c

  • 我有这个案子: 在我的测试中,我必须在启动作业时导入该属性。我用这个参数在中创建一个文件,在测试中我设置了这个注释 但它接缝不工作。 环境是JUnit 5。 谢谢帮忙!

  • 之前也在牛客上看了中兴测试岗的面经,也算有所收获。所以,我来投桃报李来了! 一面专业面(25-30min)2022.9.7 14点15开始 1、自我介绍 2、对于在研究所的工作怎么看?(之前在南京某研究所实习过半年测试所以被问到) 3、有没有投实习的这个研究所简历,研究所和公司怎么考虑? 4、在浏览器输入网址,到网页打开的过程,都会涉及到那些tcp/ip协议? 5、tcp三次握手 6、测试左移、测