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

列车精度高测试精度差

孟征
2023-03-14

我有一个神经网络,它对3个输出进行分类。我的数据集非常小,我有340张火车图像和60张测试图像。我构建了一个模型,当我编译时,我的结果是:

纪元97/100 306/306 [==============================] - 46s 151ms/阶跃损失: 0.2453-精度: 0.8824-val_loss: 0.3557-val_accuracy: 0.8922纪元98/100 306/306 [==============================] - 47秒152毫秒/阶跃损失: 0.2096-精度: 0.9031-val_loss: 0.3795-val_accuracy: 0.8824纪元99/100 306/306 [==============================] - 47秒153秒/步长-损耗: 0.2885-精度: 0.8627-val_loss: 0.4501-val_accuracy: 0.7745纪元100/100 306/306 [==============================] - 46秒152秒/步长-损耗:0.1998-精度: 0.9150-val_loss: 0.4586-val_accuracy: 0.8627

当我预测测试图像时,测试精度很差。我该怎么办?我还使用ImageDatagenerator进行数据扩充,但结果相同。是因为我的数据集很小吗。

共有1个答案

邵旺
2023-03-14

可以在完全连接的层上使用正则化。但事实上,你已经有了很高的验证准确性,这可能是你的数据。您的列车数据可能不能完全代表您的测试数据。试着对其进行分析,并确保在测试之前对测试数据进行所有预处理,就像对列车数据进行预处理一样。

 类似资料:
  • 刚从ML开始,创建了我的第一个CNN来检测人脸图像的方位。我得到的训练和测试精度高达约96-99%超过2组不同的1000张图片(128x128RGB)。然而,当我自行从测试集中预测一个图像时,模型很少预测正确。我认为在测试和预测期间,我将数据加载到模型中的方式肯定有区别。下面是我如何将数据加载到模型中进行训练和测试: 下面是我如何加载图像来进行预测: ImageDataGenerator处理图像的

  • 问题内容: 文档的内容如下(强调我的意思)。 此方法只能用于测量经过的时间,与系统或挂钟时间的任何其他概念无关。返回的值表示自某个固定但任意时间以来的纳秒(也许是将来的时间,因此值可能为负)。 此方法提供纳秒精度,但不一定提供纳秒精度。 无法保证值更改的频率。 如我所见,这可以用两种不同的方式解释: 在句子中 大胆 上面是指个人的返回值。然后,将在数字意义上理解精度和准确性。也就是说,精度是指有效

  • 问题内容: java中双值的乘法运算符的保证精度是多少? 例如,2.2 * 100是220.00000000000003,但是220是双精度数。220.00000000000003是220之后的下一个两倍。 问题答案: 乘法工作正常,但不能精确表示为双精度。最接近的双打是: 2.199999999999999733(0x4001999999999999) 2.200000000000000177(

  • 问题内容: 我正在使用通过远程MySQL数据库存储其数据的C ++应用程序。 功能之一是尽可能保持远程数据的最新状态。为此,我使用NOW()函数获取上次更新时间,并且在更新记录时,将last_changed字段设置为NOW()。 现在可以正常工作,但问题是它的最大精度可达一秒。导致数十个重复条目,这浪费带宽,并且必须手动删除它们。 为了限制大部分膨胀,我希望有一个大于此精度的精度,最好是一个微秒(

  • 问题内容: 有没有一种方法可以用Python高精度地测量时间-比一秒更精确?我怀疑是否存在跨平台的方法;我对Unix上的高精度时间很感兴趣,尤其是在Sun SPARC计算机上运行的Solaris。 timeit似乎可以进行高精度的时间测量,但是我想直接访问时间值,而不是测量代码段要花多长时间。 问题答案: 标准功能提供亚秒级的精度,尽管该精度因平台而异。对于Linux和Mac,精度为1微秒或0.0

  • 我试图在java中进行Mandelbrot分形缩放,但当缩放增加时,双精度不够,图像像素化,我不能缩放更多。我想提高精度或使用另一种数据类型,允许我这样做。谢谢你。