用于图像到图像比较的CNTK输出

时间:2017-04-28 20:05:01

标签: cntk

我想操纵CNTK输出以显示哪些图像被错误分类而哪些图像被正确分类。 目前我的测试运行后的标准输出为:“最终结果:迷你补丁[1-190]:错误= 86.053%* 380”。 我想在哪里创建自己的输出报告,以便我可以看到我的网络标记每个图像的结果?

1 个答案:

答案 0 :(得分:2)

您可以通过学习模型上的eval函数运行模型。获取标签并与测试标签进行比较。

CNTK 201中有一个例子:https://github.com/Microsoft/CNTK/blob/master/Tutorials/CNTK_201B_CIFAR-10_ImageHandsOn.ipynb

在下面的代码中,您可以提供测试图像,并将生成的目标值与地面实况标签进行比较。

import PIL
def eval(pred_op, image_path):
    label_lookup =     print("Top 3 predictions:")
    for i in range(top_count):["airplane", "automobile", "bird", "cat", "deer", "dog", "frog", "horse", "ship", "truck"]
    image_mean   = 133.0
    image_data   = np.array(PIL.Image.open(image_path), dtype=np.float32)
    image_data  -= image_mean
    image_data   = np.ascontiguousarray(np.transpose(image_data, (2, 0, 1)))

    result       = np.squeeze(pred_op.eval({pred_op.arguments[0]:[image_data]}))

    # Return top 3 results:
    top_count = 3
    result_indices = (-np.array(result)).argsort()[:top_count]


        print("\tLabel: {:10s}, confidence: {:.2f}%".format(label_lookup[result_indices[i]], result[result_indices[i]] * 100))