Итак, изучив основы CNN с Керасом в python, я попытался добавить свою собственную фотографию самолета, чтобы проверить мою обученную программу. Для этого я попытался импортировать изображение PNG 1920x1080, после некоторых исследований я нашел вероятный способ изменить изображение, но я получаю следующее сообщение об ошибке:
Traceback (последний вызов был последним): File " C: / Users / me / Рабочий стол / Курсы программирования / Image_Classifier_Project / Model_Test.py ", строка 21, в файле img = np.reshape (img, [1, 32, 32, 3])" <<strong> array_function internals> ", строка 6, в файле изменения формы" C: \ Users \ me \ AppData \ Roaming \ Python \ Python37 \ site-packages \ numpy \ core \ fromnumeri c .py ", строка 301, в новой форме вернуть _wrapfun c (a, 'изменить форму', новостную форму, порядок = порядок) Файл "C: \ Users \ me \ AppData \ Roaming \ Python \ Python37 \ site-packages \ numpy \ core \ fromnumeri c .py ", строка 61, в _wrapfunc предельная граница (* args, ** kwds) ValueError: невозможно преобразовать массив размером 1024 в форму (1,32,32,3)
Изображение в цвете (как и учебные).
Вот код. Я называю результаты своих тренировок из файла.
from keras.datasets import cifar10
import keras.utils as utils
from keras.models import load_model
import numpy as np
import cv2
# Get Model Data
labels = ['airplane', 'automobile', 'bird', 'cat', 'deer', 'dog', 'frog', 'horse', 'ship', 'truck']
(_, _), (x_test, y_test) = cifar10.load_data()
x_test = x_test.astype('float32') / 255.0
y_test = utils.to_categorical(y_test)
model = load_model('Classified.h5')
img = cv2.imread("a400m.png", 0)
img = cv2.resize(img, (32, 32))
img = np.reshape(img, [1, 32, 32, 3])
# results = model.evaluate(x=x_test, y=y_test)
# print("Loss: ", results[0])
# print("Accuracy", results[1])
test_image_data = np.asarray(img)
prediction = model.predict(x=test_image_data)
print("Prediction: ", labels[np.argmax(prediction)])
# max_index = np.argmax(prediction[0])
# print("Prediction: ", labels[max_index])
Извините за грязный код, просто попытался его реализовать, а не начинать с нуля
Заранее спасибо!