Как отобразить результат модели?
Есть обученная модель. Определяет где машина, где велосипед. Решил проверить на тестовых изображениях (их три, они расположены в директории, указанной в test_path).
Код срабатывает, никакой ошибки не выдает, но и результат отсутствует.
test_path = 'C:\\Users\\Администратор\\AppData\\Local\\Programs\\Python\\Python36-32\\test_images'
imgs_path = glob.glob(test_path + '\\*.jpg')
model = keras.models.load_model('C:\\Users\\Администратор\\AppData\\Local\\Programs\\Python\\Python36-32\\model1.h5')
for i in imgs_path:
img = image.load_img(i, target_size=(36, 36))
img_tensor = image.img_to_array(img)
img_tensor = np.expand_dims(img_tensor, axis=0)
img_tensor /= 255.
prediction = model.predict(img_tensor)
print (prediction)
То есть, должно выдать три результата по очереди.
Ответы (1 шт):
Автор решения: MaxU
→ Ссылка
Создайте генератор для тестовых картинок.
test_generator = datagen.flow_from_directory(
'/path/to/test/images',
target_size=target_size,
batch_size=batch_size,
class_mode='categorical')
model.evaluate_generator(test_generator, test_generator.samples // batch_size)
NOTE: тестовые картинки должны находится в поддиректориях c точно такими же названиями как и картинки из обучающего набора.
UPD: для того, чтобы классифицировать незнакомые картинки:
img_generator = datagen.flow_from_directory(
'/path/to/images/for/classification',
target_size=target_size,
batch_size=batch_size,
class_mode='categorical')
probabilities = model.predict_generator(generator,
img_generator.samples // batch_size)