我是用 https://github.com/PaddlePaddle/PaddleX/blob/develop/docs/quick_start_API.md 里面的示例训练模型,测试结果
Deprecated in NumPy 1.20; for more details and guidance: https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations
if data.dtype == np.object:
2022-03-29 09:08:42 [INFO] Model[MobileNetV3_small] loaded.
Predict Result: [{'category_id': 0, 'category': 'bocai', 'score': 0.99866307}]
然后我执行导出
paddlex --export_inference --model_dir=./output/mobilenetv3_small/best_model/ --save_dir=./inference_model
再通过paddle_serving_client转换模型
python3 -m paddle_serving_client.convert --dirname ./inference_model/inference_model --model_filename model.pdmodel --params_filename model.pdiparams --serving_server serving_server --serving_client serving_client
启动服务
python3 -m paddle_serving_server.serve --model serving_server --port 9393
执行调用
from paddle_serving_client import Client
from paddle_serving_app.reader import Sequential, File2Image, Resize, CenterCrop
from paddle_serving_app.reader import RGB2BGR, Transpose, Div, Normalize
client = Client()
client.load_client_config(
"serving_client/serving_client_conf.prototxt")
client.connect(["127.0.0.1:9393"])
seq = Sequential([
File2Image(), Transpose((2, 0, 1)),
Div(255)
])
image_file = "daisy.jpg"
img = seq(image_file)
fetch_map = client.predict(feed={"image": img}, fetch=["softmax_0.tmp_0"])
print(fetch_map["softmax_0.tmp_0"].reshape(-1))
print(fetch_map)
输出结果:
WARNING: Logging before InitGoogleLogging() is written to STDERR
I0329 09:58:34.798663 2728 naming_service_thread.cpp:202] brpc::policy::ListNamingService("127.0.0.1:9393"): added 1
I0329 09:58:34.847139 2728 general_model.cpp:490] [client]logid=0,client_cost=42.611ms,server_cost=29.807ms.
[0.16750729 0.04058916 0.01292069 0.08925734 0.11853778 0.57118773]
{'softmax_0.tmp_0': array([[0.16750729, 0.04058916, 0.01292069, 0.08925734, 0.11853778,
0.57118773]], dtype=float32)}
这个结果并没有输出。 “bocai”。请问是我少干啥事了吗,或者少写参数了,困扰我好几天了,也没有解决,请大神帮忙解决,多谢
搞定了,返回的数据就是训练模型时训练类型对应的识别相似度,然后找到最大相似度就找到识别的类型了