Это тестовая функция, которую я реализовал для проверки вызова 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?