我在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