mirror of
https://github.com/PaddlePaddle/PaddleClas.git
synced 2025-06-03 21:55:06 +08:00
add cpp serving & cpp infer chain, update TIPC docs
This commit is contained in:
parent
079ad695da
commit
94b48ac568
@ -113,7 +113,6 @@ if __name__ == "__main__":
|
||||
batch=False)
|
||||
|
||||
# add retrieval procedure
|
||||
print(fetch_map.keys())
|
||||
det_boxes = fetch_map["boxes"]
|
||||
searcher, id_map = init_index(index_dir)
|
||||
results = postprocess(fetch_map, feature_normalize, det_boxes, searcher,
|
||||
|
@ -110,7 +110,6 @@ bash test_tipc/test_train_inference_python.sh ./test_tipc/configs/MobileNetV3/Mo
|
||||
- [test_train_pact_inference_python 使用](docs/test_train_pact_inference_python.md):测试基于Python的模型PACT在线量化等基本功能。
|
||||
- [test_train_ptq_inference_python 使用](docs/test_train_ptq_inference_python.md):测试基于Python的模型KL离线量化等基本功能。
|
||||
- [test_inference_cpp 使用](docs/test_inference_cpp.md) :测试基于C++的模型推理。
|
||||
- [test_serving 使用](docs/test_serving.md) :测试基于Paddle Serving的服务化部署功能。
|
||||
- [test_lite_arm_cpu_cpp 使用](docs/test_lite_arm_cpu_cpp.md): 测试基于Paddle-Lite的ARM CPU端c++预测部署功能.
|
||||
- [test_paddle2onnx 使用](docs/test_paddle2onnx.md):测试Paddle2ONNX的模型转化功能,并验证正确性。
|
||||
- [test_serving_infer_python 使用](docs/test_serving_infer_python.md):测试python serving功能。
|
||||
|
@ -20,7 +20,7 @@ distill_train:null
|
||||
null:null
|
||||
null:null
|
||||
##
|
||||
===========================eval_params===========================
|
||||
===========================eval_params===========================
|
||||
eval:tools/eval.py -c ppcls/configs/GeneralRecognitionV2/GeneralRecognitionV2_PPLCNetV2_base.yaml
|
||||
null:null
|
||||
##
|
||||
@ -33,7 +33,7 @@ fpgm_export:null
|
||||
distill_export:null
|
||||
kl_quant:deploy/slim/quant_post_static.py -c ppcls/configs/GeneralRecognitionV2/GeneralRecognitionV2_PPLCNetV2_base.yaml -o Global.save_inference_dir=./general_PPLCNetV2_base_pretrained_v1.0_infer
|
||||
export2:null
|
||||
pretrained_model_url:https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/rec/models/inference/PP-ShiTuV2/general_PPLCNetV2_base_pretrained_v1.0_infer.tar
|
||||
pretrained_model_url:https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/rec/models/inference/PP-ShiTuV2/general_PPLCNetV2_base_pretrained_v1.0_infer.tar
|
||||
infer_model:./general_PPLCNetV2_base_pretrained_v1.0_infer
|
||||
infer_export:True
|
||||
infer_quant:Fasle
|
||||
|
@ -0,0 +1,19 @@
|
||||
===========================cpp_infer_params===========================
|
||||
model_name:PPShiTuV2
|
||||
cpp_infer_type:shitu
|
||||
feature_inference_model_dir:./general_PPLCNetV2_base_pretrained_v1.0_infer/
|
||||
det_inference_model_dir:./picodet_PPLCNet_x2_5_mainbody_lite_v1.0_infer/
|
||||
cls_inference_url:https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/rec/models/inference/PP-ShiTuV2/general_PPLCNetV2_base_pretrained_v1.0_infer.tar
|
||||
det_inference_url:https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/rec/models/inference/picodet_PPLCNet_x2_5_mainbody_lite_v1.0_infer.tar
|
||||
infer_quant:False
|
||||
inference_cmd:./deploy/cpp_shitu/build/pp_shitu -c inference_drink.yaml
|
||||
use_gpu:True|False
|
||||
enable_mkldnn:False
|
||||
cpu_threads:1
|
||||
batch_size:1
|
||||
use_tensorrt:False
|
||||
precision:fp32
|
||||
data_dir:./dataset/drink_dataset_v2.0
|
||||
benchmark:True
|
||||
generate_yaml_cmd:python3.7 test_tipc/generate_cpp_yaml.py
|
||||
transform_index_cmd:python3.7 deploy/cpp_shitu/tools/transform_id_map.py -c inference_drink.yaml
|
@ -0,0 +1,18 @@
|
||||
===========================serving_params===========================
|
||||
model_name:PPShiTuV2
|
||||
python:python3.7
|
||||
cls_inference_model_url:https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/rec/models/inference/PP-ShiTuV2/general_PPLCNetV2_base_pretrained_v1.0_infer.tar
|
||||
det_inference_model_url:https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/rec/models/inference/picodet_PPLCNet_x2_5_mainbody_lite_v1.0_infer.tar
|
||||
trans_model:-m paddle_serving_client.convert
|
||||
--dirname:./models/general_PPLCNetV2_base_pretrained_v1.0_infer/
|
||||
--dirname:./models/picodet_PPLCNet_x2_5_mainbody_lite_v1.0_infer/
|
||||
--model_filename:inference.pdmodel
|
||||
--params_filename:inference.pdiparams
|
||||
--serving_server:./models/general_PPLCNetV2_base_pretrained_v1.0_serving/
|
||||
--serving_client:./models/general_PPLCNetV2_base_pretrained_v1.0_client/
|
||||
--serving_server:./models/picodet_PPLCNet_x2_5_mainbody_lite_v1.0_serving/
|
||||
--serving_client:./models/picodet_PPLCNet_x2_5_mainbody_lite_v1.0_client/
|
||||
serving_dir:./paddleserving/recognition
|
||||
web_service:null
|
||||
--use_gpu:0|null
|
||||
pipline:test_cpp_serving_client.py
|
@ -0,0 +1,18 @@
|
||||
===========================serving_params===========================
|
||||
model_name:PPShiTu
|
||||
python:python3.7
|
||||
cls_inference_model_url:https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/rec/models/inference/PP-ShiTuV2/general_PPLCNetV2_base_pretrained_v1.0_infer.tar
|
||||
det_inference_model_url:https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/rec/models/inference/picodet_PPLCNet_x2_5_mainbody_lite_v1.0_infer.tar
|
||||
trans_model:-m paddle_serving_client.convert
|
||||
--dirname:./models/general_PPLCNetV2_base_pretrained_v1.0_infer/
|
||||
--dirname:./models/picodet_PPLCNet_x2_5_mainbody_lite_v1.0_infer/
|
||||
--model_filename:inference.pdmodel
|
||||
--params_filename:inference.pdiparams
|
||||
--serving_server:./models/general_PPLCNetV2_base_pretrained_v1.0_serving/
|
||||
--serving_client:./models/general_PPLCNetV2_base_pretrained_v1.0_client/
|
||||
--serving_server:./models/picodet_PPLCNet_x2_5_mainbody_lite_v1.0_serving/
|
||||
--serving_client:./models/picodet_PPLCNet_x2_5_mainbody_lite_v1.0_client/
|
||||
serving_dir:./paddleserving/recognition
|
||||
web_service:recognition_web_service.py
|
||||
--use_gpu:0|null
|
||||
pipline:pipeline_http_client.py
|
@ -0,0 +1,16 @@
|
||||
===========================paddle2onnx_params===========================
|
||||
model_name:PP-ShiTu_mainbody_det
|
||||
python:python3.7
|
||||
2onnx: paddle2onnx
|
||||
--model_dir:./deploy/models/picodet_lcnet_x2_5_640_mainbody_infer/
|
||||
--model_filename:inference.pdmodel
|
||||
--params_filename:inference.pdiparams
|
||||
--save_file:./deploy/models/picodet_lcnet_x2_5_640_mainbody_infer/inference.onnx
|
||||
--opset_version:11
|
||||
--enable_onnx_checker:True
|
||||
inference_model_url:https://paddledet.bj.bcebos.com/models/picodet_lcnet_x2_5_640_mainbody_infer.tar
|
||||
inference:null
|
||||
Global.use_onnx:null
|
||||
Global.inference_model_dir:null
|
||||
Global.use_gpu:null
|
||||
-c:null
|
@ -12,6 +12,7 @@ Linux GPU/CPU C++ 推理功能测试的主程序为`test_inference_cpp.sh`,可
|
||||
| MobileNetV3 | MobileNetV3_large_x1_0_KL | 支持 | 支持 |
|
||||
| MobileNetV3 | MobileNetV3_large_x1_0_PACT | 支持 | 支持 |
|
||||
| PP-ShiTu | PPShiTu_general_rec、PPShiTu_mainbody_det | 支持 | 支持 |
|
||||
| PP-ShiTuV2 | PPShiTuV2_general_rec、PPShiTu_mainbody_det | 支持 | 支持 |
|
||||
| PP-ShiTu | GeneralRecognition_PPLCNet_x2_5_KL | 支持 | 支持 |
|
||||
| PP-ShiTu | GeneralRecognition_PPLCNet_x2_5_PACT | 支持 | 支持 |
|
||||
| PPHGNet | PPHGNet_small | 支持 | 支持 |
|
||||
|
@ -15,6 +15,7 @@ Linux GPU/CPU C++ 服务化部署测试的主程序为`test_serving_infer_cpp.sh
|
||||
| PP-ShiTu | PPShiTu_general_rec、PPShiTu_mainbody_det | 支持 | 支持 |
|
||||
| PP-ShiTu | GeneralRecognition_PPLCNet_x2_5_KL | 支持 | 支持 |
|
||||
| PP-ShiTu | GeneralRecognition_PPLCNet_x2_5_PACT | 支持 | 支持 |
|
||||
| PP-ShiTuV2 | PPShiTuV2_general_rec、PPShiTu_mainbody_det | 支持 | 支持 |
|
||||
| PPHGNet | PPHGNet_small | 支持 | 支持 |
|
||||
| PPHGNet | PPHGNet_small_KL | 支持 | 支持 |
|
||||
| PPHGNet | PPHGNet_small_PACT | 支持 | 支持 |
|
||||
|
@ -15,6 +15,7 @@ Linux GPU/CPU PYTHON 服务化部署测试的主程序为`test_serving_infer_pyt
|
||||
| PP-ShiTu | PPShiTu_general_rec、PPShiTu_mainbody_det | 支持 | 支持 |
|
||||
| PP-ShiTu | GeneralRecognition_PPLCNet_x2_5_KL | 支持 | 支持 |
|
||||
| PP-ShiTu | GeneralRecognition_PPLCNet_x2_5_PACT | 支持 | 支持 |
|
||||
| PP-ShiTuV2 | PPShiTuV2_general_rec、PPShiTu_mainbody_det | 支持 | 支持 |
|
||||
| PPHGNet | PPHGNet_small | 支持 | 支持 |
|
||||
| PPHGNet | PPHGNet_small_KL | 支持 | 支持 |
|
||||
| PPHGNet | PPHGNet_small_PACT | 支持 | 支持 |
|
||||
|
@ -10,6 +10,7 @@ Linux GPU/CPU 混合精度训练推理测试的主程序为`test_train_inference
|
||||
| :-------------: | :-------------------------------------: | :----------: | :----------: |
|
||||
| MobileNetV3 | MobileNetV3_large_x1_0 | 混合精度训练 | 混合精度训练 |
|
||||
| PP-ShiTu | GeneralRecognition_PPLCNet_x2_5 | 混合精度训练 | 混合精度训练 |
|
||||
| PP-ShiTuV2 | GeneralRecognitionV2_PPLCNetV2_base | 混合精度训练 | 混合精度训练 |
|
||||
| PPHGNet | PPHGNet_small | 混合精度训练 | 混合精度训练 |
|
||||
| PPHGNet | PPHGNet_tiny | 混合精度训练 | 混合精度训练 |
|
||||
| PPLCNet | PPLCNet_x0_25 | 混合精度训练 | 混合精度训练 |
|
||||
@ -31,6 +32,7 @@ Linux GPU/CPU 混合精度训练推理测试的主程序为`test_train_inference
|
||||
| :-------------: | :-------------------------------------: | :--------: | :--------: | :-------: |
|
||||
| MobileNetV3 | MobileNetV3_large_x1_0 | 支持 | 支持 | 1 |
|
||||
| PP-ShiTu | GeneralRecognition_PPLCNet_x2_5 | 支持 | 支持 | 1 |
|
||||
| PP-ShiTuV2 | GeneralRecognitionV2_PPLCNetV2_base | 支持 | 支持 | 1 |
|
||||
| PPHGNet | PPHGNet_small | 支持 | 支持 | 1 |
|
||||
| PPHGNet | PPHGNet_tiny | 支持 | 支持 | 1 |
|
||||
| PPLCNet | PPLCNet_x0_25 | 支持 | 支持 | 1 |
|
||||
|
@ -10,6 +10,7 @@ Linux GPU/CPU PACT量化训练推理测试的主程序为`test_train_inference_p
|
||||
| :-------------: | :-------------------------------------: | :----------: |
|
||||
| MobileNetV3 | MobileNetV3_large_x1_0 | PACT量化训练 |
|
||||
| PP-ShiTu | GeneralRecognition_PPLCNet_x2_5 | PACT量化训练 |
|
||||
| PP-ShiTuV2 | GeneralRecognitionV2_PPLCNetV2_base | PACT量化训练 |
|
||||
| PPHGNet | PPHGNet_small | PACT量化训练 |
|
||||
| PPHGNet | PPHGNet_tiny | PACT量化训练 |
|
||||
| PPLCNet | PPLCNet_x0_25 | PACT量化训练 |
|
||||
@ -31,6 +32,7 @@ Linux GPU/CPU PACT量化训练推理测试的主程序为`test_train_inference_p
|
||||
| :-------------: | :-------------------------------------: | :--------: | :--------: | :-------: |
|
||||
| MobileNetV3 | MobileNetV3_large_x1_0 | 支持 | 支持 | 1 |
|
||||
| PP-ShiTu | GeneralRecognition_PPLCNet_x2_5 | 支持 | 支持 | 1 |
|
||||
| PP-ShiTuV2 | GeneralRecognitionV2_PPLCNetV2_base | 支持 | 支持 | 1 |
|
||||
| PPHGNet | PPHGNet_small | 支持 | 支持 | 1 |
|
||||
| PPHGNet | PPHGNet_tiny | 支持 | 支持 | 1 |
|
||||
| PPLCNet | PPLCNet_x0_25 | 支持 | 支持 | 1 |
|
||||
|
@ -10,6 +10,7 @@ Linux GPU/CPU KL离线量化推理测试的主程序为`test_ptq_inference_pytho
|
||||
| :-------------: | :-------------------------------------: | :----------: |
|
||||
| MobileNetV3 | MobileNetV3_large_x1_0 | KL离线量化 |
|
||||
| PP-ShiTu | GeneralRecognition_PPLCNet_x2_5 | KL离线量化 |
|
||||
| PP-ShiTuV2 | GeneralRecognitionV2_PPLCNetV2_base | KL离线量化 |
|
||||
| PPHGNet | PPHGNet_small | KL离线量化 |
|
||||
| PPHGNet | PPHGNet_tiny | KL离线量化 |
|
||||
| PPLCNet | PPLCNet_x0_25 | KL离线量化 |
|
||||
@ -31,6 +32,7 @@ Linux GPU/CPU KL离线量化推理测试的主程序为`test_ptq_inference_pytho
|
||||
| :-------------: | :-------------------------------------: | :----------: |
|
||||
| MobileNetV3 | MobileNetV3_large_x1_0 | KL离线量化 |
|
||||
| PP-ShiTu | GeneralRecognition_PPLCNet_x2_5 | KL离线量化 |
|
||||
| PP-ShiTuV2 | GeneralRecognitionV2_PPLCNetV2_base | KL离线量化 |
|
||||
| PPHGNet | PPHGNet_small | KL离线量化 |
|
||||
| PPHGNet | PPHGNet_tiny | KL离线量化 |
|
||||
| PPLCNet | PPLCNet_x0_25 | KL离线量化 |
|
||||
|
@ -143,6 +143,8 @@ if [[ ${MODE} = "cpp_infer" ]]; then
|
||||
cd dataset
|
||||
wget -nc https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/rec/data/drink_dataset_v1.0.tar
|
||||
tar -xf drink_dataset_v1.0.tar
|
||||
wget -nc https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/rec/data/drink_dataset_v2.0.tar
|
||||
tar -xf drink_dataset_v2.0.tar
|
||||
else
|
||||
echo "Wrong cpp type in config file in line 3. only support cls, shitu"
|
||||
fi
|
||||
@ -288,6 +290,8 @@ if [[ ${MODE} = "serving_infer" ]]; then
|
||||
cd ./deploy
|
||||
wget -nc https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/rec/data/drink_dataset_v1.0.tar --no-check-certificate
|
||||
tar -xf drink_dataset_v1.0.tar
|
||||
wget -nc https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/rec/data/drink_dataset_v2.0.tar --no-check-certificate
|
||||
tar -xf drink_dataset_v2.0.tar
|
||||
mkdir models
|
||||
cd models
|
||||
wget -nc ${cls_inference_model_url} && tar xf ${cls_tar_name}
|
||||
|
@ -192,9 +192,19 @@ function func_serving_rec(){
|
||||
det_trans_model_cmd="${python_interp} ${trans_model_py} ${set_dirname} ${set_model_filename} ${set_params_filename} ${set_serving_server} ${set_serving_client}"
|
||||
eval ${det_trans_model_cmd}
|
||||
|
||||
cp_prototxt_cmd="cp ./paddleserving/recognition/preprocess/general_PPLCNet_x2_5_lite_v1.0_serving/*.prototxt ${cls_serving_server_value}"
|
||||
OLD_IFS="${IFS}"
|
||||
IFS='/'
|
||||
tmp_arr=($cls_serving_server_value)
|
||||
lastIndex=$((${#tmp_arr[@]}-1))
|
||||
cls_serving_server_dirname="${tmp_arr[lastIndex]}"
|
||||
tmp_arr=($cls_serving_client_value)
|
||||
lastIndex=$((${#tmp_arr[@]}-1))
|
||||
cls_serving_client_dirname="${tmp_arr[lastIndex]}"
|
||||
IFS="${OLD_IFS}"
|
||||
|
||||
cp_prototxt_cmd="cp ./paddleserving/recognition/preprocess/${cls_serving_server_dirname}/*.prototxt ${cls_serving_server_value}"
|
||||
eval ${cp_prototxt_cmd}
|
||||
cp_prototxt_cmd="cp ./paddleserving/recognition/preprocess/general_PPLCNet_x2_5_lite_v1.0_client/*.prototxt ${cls_serving_client_value}"
|
||||
cp_prototxt_cmd="cp ./paddleserving/recognition/preprocess/${cls_serving_client_dirname}/*.prototxt ${cls_serving_client_value}"
|
||||
eval ${cp_prototxt_cmd}
|
||||
cp_prototxt_cmd="cp ./paddleserving/recognition/preprocess/picodet_PPLCNet_x2_5_mainbody_lite_v1.0_client/*.prototxt ${det_serving_client_value}"
|
||||
eval ${cp_prototxt_cmd}
|
||||
|
@ -311,7 +311,7 @@ echo "################### run test ###################"
|
||||
|
||||
export Count=0
|
||||
IFS="|"
|
||||
if [[ ${model_name} = "PPShiTu" ]]; then
|
||||
if [[ ${model_name} =~ "PPShiTu" ]]; then
|
||||
func_serving_rec
|
||||
else
|
||||
func_serving_cls
|
||||
|
Loading…
x
Reference in New Issue
Block a user