Ich versuche, eine Bildklassifizierung Aufgabe mit einem vortrainierten VGG16-Modell in Keras durchzuführen. Der Code, den ich geschrieben habe, gemäß den Anweisungen in den Keras application page ist:Keras: Vgg16 - Fehler in `decode_predictions '
from keras.applications.vgg16 import VGG16
from keras.preprocessing import image
from keras.applications.vgg16 import preprocess_input, decode_predictions
import numpy as np
model = VGG16(weights='imagenet', include_top=True)
img_path = './train/cat.1.jpg'
img = image.load_img(img_path, target_size=(224, 224))
x = image.img_to_array(img)
x = np.expand_dims(x, axis=0)
x = preprocess_input(x)
features = model.predict(x)
(inID, label) = decode_predictions(features)[0]
, die auf den Code ganz ähnlich in this question gezeigt schon im Forum gefragt. Aber trotz mit den include_top Parametern als Wahren, erhalte ich folgende Fehlermeldung:
Traceback (most recent call last):
File "vgg16-keras-classifier.py", line 14, in <module>
(inID, label) = decode_predictions(features)[0]
ValueError: too many values to unpack
Jede Hilfe wird sehr geschätzt werden! Vielen Dank!
Danke für die Antwort! Stellt man einfach 'result = decode_predictions (features)' ein, dann befindet sich die Ausgabe tatsächlich in einem anderen Array wie '[[(a1, b1, c1), ..., (a5, b5, c5)]]' . Um also das beste Ergebnis zu erhalten, muss man 'decode_predictions (features) [0] [0]' schreiben – Prabaha