我在keras中使用预先训练的模型,并最终预测类指数是一些整数值,但我似乎不知道如何打印这些类的名称?如何在使用keras的神经网络中打印预测类的名称?
我使用的模型是RESNET 50
编辑:还是无法弄清楚,对我得到它回答到编辑它,它真的很重要。
我在keras中使用预先训练的模型,并最终预测类指数是一些整数值,但我似乎不知道如何打印这些类的名称?如何在使用keras的神经网络中打印预测类的名称?
我使用的模型是RESNET 50
编辑:还是无法弄清楚,对我得到它回答到编辑它,它真的很重要。
看一看https://martin-thoma.com/image-classification/
的关键部分是:
from imagenet_utils import preprocess_input, decode_predictions
preds = model.predict(x)
print('Predicted:', decode_predictions(preds))
如果你不使用imagenet数据,但再培训自己的一套:当使用ImageDataGenerator
的keras' flow_from_directory
,它方便将您的文件夹的标签保存在dict
之内.class_indices
!字典的值对应于您的model.predict
输出的位置。
原油例如:
preds = model.predict(x)
for cls in training_generator.class_indices:
print(cls+": "+preds[0][training_generator.class_indices[cls]])
什么样的数据集是您使用我没有使用任何数据集 – maz
@maz,该模型已被训练。我不需要数据集来训练它。 – ash
所以这取决于你在做什么。如果您正在使用标准的预培训模型完全相同的应用程序,您应该查看什么是原始类表。正如你使用的是resnet-50,我想它是用imagenet数据集训练的,所以你需要一个字典(或者一个列表或者其他)来查看。对于imagenet的情况,我发现这个腌字典:https://gist.github.com/yrevar/6135f1bd8dcf2e0cc683。看看这个 – maz