#python
#python
Вопрос:
Я хочу протестировать свою модель keras. Но я столкнулся с этой проблемой. У меня есть изображение для проверки в «пути».
path = 'C:\Users\Администратор\AppData\Local\Programs\Python\Python36-32\577793008_ef4345205b.jpg'
model = keras.models.load_model('C:\Users\Администратор\AppData\Local\Programs\Python\Python36-32\model1.h5')
predictions = model.predict(path)
print (predictions[0])
Ошибка.
Traceback (most recent call last):
File "C:UsersАдминистраторAppDataLocalProgramsPythonPython36-32load1.p
y", line 11, in <module>
predictions = model.predict(path)
File "C:UsersАдминистраторAppDataLocalProgramsPythonPython36-32libsit
e-packageskerasenginetraining.py", line 1441, in predict
x, _, _ = self._standardize_user_data(x)
File "C:UsersАдминистраторAppDataLocalProgramsPythonPython36-32libsit
e-packageskerasenginetraining.py", line 579, in _standardize_user_data
exception_prefix='input')
File "C:UsersАдминистраторAppDataLocalProgramsPythonPython36-32libsit
e-packageskerasenginetraining_utils.py", line 99, in standardize_input_data
data = [standardize_single_array(x) for x in data]
File "C:UsersАдминистраторAppDataLocalProgramsPythonPython36-32libsit
e-packageskerasenginetraining_utils.py", line 99, in <listcomp>
data = [standardize_single_array(x) for x in data]
File "C:UsersАдминистраторAppDataLocalProgramsPythonPython36-32libsit
e-packageskerasenginetraining_utils.py", line 34, in standardize_single_array
elif x.ndim == 1:
AttributeError: 'str' object has no attribute 'ndim'
Комментарии:
1. Вы не должны передавать
path
model.predict()
методу. Просто запуститеmodel.predict()
, и он должен работать2. Из документов : »
predict(x, ...)
—x
: Входные образцы. Это может быть: массив Numpy (или подобный массиву) или список массивов (в случае, если модель имеет несколько входных данных). Тензор тензорного потока или список тензоров (в случае, если модель имеет несколько входных данных). Набор данных tf.data . Генератор или keras.утилиты. Экземпляр последовательности » . Но это не может быть строкой…
Ответ №1:
predict
Метод может принимать несколько типов входных данных, но не строку. Он не может напрямую прочитать файл на основе пути.
Вам нужно преобразовать этот файл во все, что может быть прочитано Model
классом. Прочитайте файл и сделайте содержимое, например, массивом.
Комментарии:
1. Я проверю. Спасибо!