Что это за ошибка "AttributeError: у объекта 'numpy.ndarray' нет атрибута 'load_img'"? - PullRequest
0 голосов
/ 08 февраля 2019

Это тестовая функция, которую я реализовал для проверки вызова POST API.Я добавил массив со ссылками на изображения, которые мне нужны, хотя цикл.

import requests
import json
from keras.preprocessing.image import img_to_array, array_to_img
from keras.preprocessing import image

flowers = ['c:/flower_photos/daisy/107592979_aaa9cdfe78_m.jpg', 'c:flower_photos/daisy/134409839_71069a95d1_m.jpg', 'c:/flower_photos/daisy/144099102_bf63a41e4f_n.jpg','c:/flower_photos/daisy/154332674_453cea64f4.jpg']
for x in flowers:
    image = img_to_array(image.load_img(x, target_size=(128,128))) / 255
    payload = {
      "signature_name": "" ,
      "instances": [{'image': image.tolist()}]
    }
    print("sending request...")
    r = requests.post('http://localhost:8501/v1/models/flowers/versions/1:predict', json=payload)
    print(r.content)

Первая итерация работает нормально, но затем она завершается с ошибкой «AttributeError: у объекта« numpy.ndarray »нет атрибута« load_img »»,Что такое ошибка атрибута?

C:\flowers>client.py
Using TensorFlow backend.
sending request...
b'{\n    "predictions": [[0.895928, 0.0106584, 0.000519791, 0.092504, 0.000389838]\n    ]\n}'
Traceback (most recent call last):
  File "C:\flowers\client.py", line 8, in <module>
    image = img_to_array(image.load_img(x, target_size=(128,128))) / 255
AttributeError: 'numpy.ndarray' object has no attribute 'load_img'

C:\flowers>cmd \k
Microsoft Windows [Version 10.0.17763.253]
(c) 2018 Microsoft Corporation. All rights reserved.

Как зациклить этот массив с запросами POST?

Ответы [ 2 ]

0 голосов
/ 06 мая 2019
inp = load_img(file,target_size=(256,256))
inp = img_to_array(inp)

используйте функции, подобные этой.Не нужно отдельно вызывать 'image.AttrName'.

0 голосов
/ 08 февраля 2019

Я полагаю, это потому, что вы затмеваете keras.preprocessing.image из-за имени вашей переменной в строке 8. Его замена должна решить вашу проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...