如何在cntk中计算损失和指标

时间:2017-08-15 06:13:47

标签: python cntk resnet

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

  1. 我假设损失是从cross_entropy_with_softmax(z,label_var)计算的,而metric是使用classification_error(z,label_var)。我是否正确,他们如何确定?
  2. 指标的平均值= 29.37%,评估指标= 18.94%?他们分别来自火车和测试图像吗?
  3. 什么可能导致完全错误的评估结果?
  4. 非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

(1)是的。

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

(3)确保输入的格式相同,我的意思是你在python中规范化或减去均值,如果是,那么你需要在C#中做同样的事情。你能用Python首先运行eval,看看你得到了什么结果?