用于图像分类的 CNTK 评估

Posted

技术标签:

【中文标题】用于图像分类的 CNTK 评估【英文标题】:CNTK evaluation for image classification 【发布时间】:2018-12-12 02:32:08 【问题描述】:

我使用 CNTK 构建了一个图像分类器。图像是灰度的。因此,我输入的通道数为1。因此,模型需要(1x64x64)数据(64是图像的高度和宽度)。

问题是,当我尝试预测新图像的类别时,它只被视为 (64x64)。因此,由于数据不匹配导致代码错误。

因此,我使用以下方法重塑图像:

image_data = image_data.reshape((1, image_data.shape[0], image_data.shape[1]))

这产生了 (1x64x64) - 有效。尽管对于我选择的每张图像,预测都是相同的。我想知道是不是因为这种重塑。有人可以插话吗?谢谢!

【问题讨论】:

【参考方案1】:

重塑您的输入不会影响模型的输出。如果它只为每张图像预测一个类别,那么这是模型训练的问题。我建议您尝试预测您的训练数据,看看它是否只预测训练数据上的一类。如果是这样,那肯定是模型训练的问题。

【讨论】:

好点!我已经做了。训练预测也是一样的。我在训练的某个地方搞砸了,但我似乎无法弄清楚! 在this link 尝试一些想法,看看是否有帮助。它提出了许多导致学习问题的常见原因。

以上是关于用于图像分类的 CNTK 评估的主要内容,如果未能解决你的问题,请参考以下文章

第七篇 图像分类的评价指标

深度学习笔记:利用预训练模型之特征提取训练小数据集上的图像分类器

训练首个神经网络:基本分类

一旦模型拟合,Keras 如何评估单个图像

使用 Tensorflow 识别错误分类的图像

Opencv+TF-Slim实现图像分类及深度特征提取