如何在 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)
)。
我有一个 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)
)。