如何在 Keras 模型中添加测试类别?

How to add testing category in Keras model?

我有一个 CNN 在 类 = [dog, cat, frog] 上训练,并且在测试阶段,我想包括几张马的图片,看看哪些是已知的 类这些图像被归类为。知道如何在 Keras 模型中实现它吗?

我尝试过但我不喜欢的一件事是在已知 类(狗、猫和青蛙)的训练图像中均匀随机地分布马图片,然后查看测试图像会发生什么。我担心马图像的数量(虽然相对较少)会对模型的知识产生负面影响 这是相应的代码:

<x_train, x_test, y_train, and y_test has already been done prior to this step>

clsLst = [dog, cat, frog]
clsRemove = horse

seed(1)
newClsLst = [0,0,0]
for I in range(0,len(y_train)):
  if y_train[i][clsRemove] = 1.0:
    y_train[i][clsRemove] = 0.0
    randIndex = random.randint(0,8)
    newCls = clsLst[randIndex]
    newClsLst[newCls] = newClsLst[newCls] + 1
    y_train[i][newCls] = 1.0

这只是我第二次使用 Keras,我没有编程背景,因此感谢所有提示和过度解释。

正如您自己正确指出的那样,将马图像添加到训练数据中不是一个好主意 - 当然,除非您想扩展模型的分类能力,以便它学会识别马。

就是说,您可以简单地将马图像添加到 x_test 或为此特定测试目的设置单独的测试数据集(例如,x_test_horses),即什么马是(误)分类为。 正如 Saankhya Mondal 在您的原始 post 下方的评论中所指出的,对于这两个选项,您可以简单地使用 model.predict() 进行预测(分别为 y_pred = model.predict(x_test) y_pred = model.predict(x_test_horses))。