3

我是cntk和python的新手。我创建了一个基于 TrainResNet_CIFAR10.py 的 python 程序来训练 4736 个(64x64x3)图像并测试 4 个类的 2180 个图像。训练 160 个 epoch 后,我得到 loss = 0.663 和 metric = 29.37%。完成评估指标 = 18.94%。当我基于 CNTKLibraryCSEvalExamples.cs 评估训练模型以测试 2180 幅图像时,几乎所有 2180 幅都归为一类(第二类)。我的问题是:

  1. 我假设损失是从 cross_entropy_with_softmax(z, label_var) 计算出来的,度量标准是使用分类错误(z, label_var)。我是否正确,它们实际上是如何确定的?
  2. 指标 = 29.37% 和评估指标 = 18.94% 是什么意思?它们分别来自训练和测试图像吗?
  3. 什么可能导致完全错误的评估结果?

任何帮助将不胜感激。

4

1 回答 1

1

(1) 是的。

(2) 29.37% 表示 29.37% 的分类是正确的。假设您正在阅读训练数据和测试数据,则评估是基于测试数据的。

(3) 确保输入是相同的格式,我的意思是你是在你的 python 中标准化还是减去平均值,如果是这样,那么你需要在 C# 中做同样的事情。您可以先使用 Python 运行 eval 并查看得到什么结果吗?

于 2017-08-15T22:01:46.943 回答