Невозможно вывести результат распознавания изображения - PullRequest
1 голос
/ 01 мая 2020

Моя попытка использовать CIFAR 10. Результатом является вывод коэффициента, который соответствует распознанному изображению

import numpy as np
    from keras.utils import np_utils
    from keras.models import model_from_json
    from keras.preprocessing import image
    from keras.optimizers import SGD
    import matplotlib.pyplot as plt
    %matplotlib inline

json_file = open("cifar10_model.json", "r")
loaded_model_json = json_file.read()
json_file.close()
loaded_model = model_from_json(loaded_model_json)
loaded_model.load_weights("cifar10_model.h5")

loaded_model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy'])

classes=['1', '2', '3', '4', '5', '6', '7', '8', '9', '10']

img_path = 'cat.img'
img = image.load_img(img_path, target_size=(32, 32))
plt.imshow(img)
plt.show()

x = image.img_to_array(img)
x /= 255
x = np.expand_dims(x, axis=0)

prediction = loaded_model.predicr(x)
prediction - np_utils.categorical_probac_to_classes(prediction)
print(classes[prediction[0]])

И у меня ошибка

---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-47-d30513382e4e> in <module>
      1 prediction = loaded_model.predict(x)
      2 prediction = np_utils.to_categorical(prediction)
----> 3 print(classes[prediction[0]])

TypeError: only integer scalar arrays can be converted to a scalar index

Как это исправить?

Установлена ​​последняя версия Python Backend ThesorFlow

1 Ответ

0 голосов
/ 01 мая 2020

Измените последние несколько строк следующим образом. Это будет использовать argmax, чтобы найти максимальную вероятность всех классов.

prediction = loaded_model.predict(x)
prediction_label = tf.argmax(prediction[0]).numpy()
#prediction = np_utils.categorical_probac_to_classes(prediction)
print(classes[prediction_label])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...