Каково решение этой ошибки «ValueError: Если при оценке по тензорам данных вы должны указать аргумент` steps` »? - PullRequest
1 голос
/ 29 января 2020

Я тестирую свою модель глубокого обучения, я написал этот код

from keras.models import load_model

classifier = load_model('Trained_model.h5')
classifier.evaluate()

Прогнозирование одного изображения

import numpy as np
from keras.preprocessing import image
img_name = input('Enter Image Name: ')
image_path = './predicting_data/test_set/{}'.format(img_name)
print('')

после запуска, я получаю эту ошибку

ValueError: If evaluating from data tensors, you should specify the `steps` argument.

ПРИМЕЧАНИЕ: - ./predicting_data/test_Set - это путь к моему тестовому набору данных, в котором есть подпапки типа A b ... c ... до z, содержащие изображения

1 Ответ

0 голосов
/ 18 марта 2020

Рабочий код для прогнозирования класса изображения путем загрузки сохраненной модели показан ниже:

import os
import tensorflow as tf
from tensorflow.keras.preprocessing import image

Test_Dir = '/Dogs_Vs_Cats_Small/test/cats'

New_Model = tf.keras.models.load_model('Dogs_Vs_Cats.h5')
New_Model.summary()

Image_Path = os.path.join(Test_Dir, 'cat.1500.jpg')
Img = image.load_img(Image_Path, target_size = (150,150))
Img_Array = image.img_to_array(Img)
Img_Array = Img_Array/255.0
Img_Array = tf.reshape(Img_Array, (-1,150,150,3))

Predictions = New_Model.predict(Img_Array)

Label = tf.argmax(Predictions)

Label.numpy()[0]

В последней строке указан соответствующий класс для нашего изображения.

...