PaddleHub
PaddleHub copied to clipboard
服务化部署,客户端发送post请求后返回空结果: {'msg': 'list index out of range', 'results': '', 'status': '101'}
按照demo进行服务化部署,在服务端使用hub serving start开启服务后,能正常看到启动的日志。 此时再客户端使用脚本读取两张图片并按照demo演示向服务端发送post请求,但是没有收到正确的推理结果, 通过 print(r.json())打印结果,得到 {'msg': 'list index out of range', 'results': '', 'status': '101'},不知道为什么。 客户端发动的请求代码如下: import requests import json import cv2 import base64
def cv2_to_base64(image): data = cv2.imencode('.jpg', image)[1] return base64.b64encode(data.tostring()).decode('utf8')
if name == 'main': # 获取图片的base64编码格式 img1 = cv2_to_base64(cv2.imread("/home/aistudio/demo_file/132-img1.jpg")) print(img1) img2 = cv2_to_base64(cv2.imread("/home/aistudio/demo_file/bd37ad819a264c20933d7b7bc6ed3793.jpg")) print(img2) data = {'images': [img1, img2]} # 指定content-type headers = {"Content-type": "application/json"} # 发送HTTP请求 url = "http://127.0.0.1:8866/predict/fire" r = requests.post(url=url, headers=headers, data=json.dumps(data))
# 打印预测结果
print(r.json())