2017-11-24 2 views
3

Ich verwende das vortrainierte VGG-16-Modell von Keras.Eine Liste aller bekannten Klassen von VGG-16 in Keras erhalten

Meine Arbeits Quellcode so weit wie folgt aus:

from keras.applications.vgg16 import VGG16 
from keras.preprocessing.image import load_img 
from keras.preprocessing.image import img_to_array 
from keras.applications.vgg16 import preprocess_input 
from keras.applications.vgg16 import decode_predictions 

model = VGG16() 

print(model.summary()) 

image = load_img('./pictures/door.jpg', target_size=(224, 224)) 
image = img_to_array(image) #output Numpy-array 

image = image.reshape((1, image.shape[0], image.shape[1], image.shape[2])) 

image = preprocess_input(image) 
yhat = model.predict(image) 

label = decode_predictions(yhat) 
label = label[0][0] 

print('%s (%.2f%%)' % (label[1], label[2]*100)) 

Ich zog aus, dass das Modell auf 1000 Klassen trainiert. Gibt es eine Möglichkeit, die Liste der Klassen zu erhalten, an denen dieses Modell trainiert wird? Das Ausdrucken aller Vorhersagebeschriftungen ist keine Option, da nur 5 zurückgegeben werden.

Vielen Dank im Voraus

Antwort

2

Sie decode_predictions nutzen könnten und die Gesamtzahl der Klassen im top=1000 Parameter (nur der Standardwert ist 5) übergeben.

Oder Sie könnten sehen, wie Keras dies intern tut: Es lädt die Datei imagenet_class_index.json (und speichert es normalerweise in ~/.keras/models/). Dies ist eine einfache JSON-Datei, die alle Klassenbezeichnungen enthält.

+0

Gut zu wissen, wie es zu tun, wäre noch besser, mit einem Link zu einem jupyter Notebook, wo es bereits getan. – wordsforthewise

0

Ich denke, wenn Sie so etwas tun:

vgg16 = keras.applications.vgg16.VGG16(include_top=True, 
           weights='imagenet', 
           input_tensor=None, 
           input_shape=None, 
           pooling=None, 
           classes=1000) 

vgg16.decode_predictions(np.arange(1000), top=1000) 

Substitute Ihre Vorhersage-Array für np.arange (1000). Bisher nicht getesteter Code

Link zur Ausbildung Etikett hier denke ich: http://image-net.org/challenges/LSVRC/2014/browse-synsets

Verwandte Themen