This commit is contained in:
BIN
deploy/paddle2onnx/images/lite_demo_onnx.png
Normal file
BIN
deploy/paddle2onnx/images/lite_demo_onnx.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 206 KiB |
BIN
deploy/paddle2onnx/images/lite_demo_paddle.png
Normal file
BIN
deploy/paddle2onnx/images/lite_demo_paddle.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 206 KiB |
174
deploy/paddle2onnx/readme.md
Normal file
174
deploy/paddle2onnx/readme.md
Normal file
@@ -0,0 +1,174 @@
|
||||
# Paddle2ONNX model transformation and prediction
|
||||
|
||||
This chapter describes how the PaddleOCR model is converted into an ONNX model and predicted based on the ONNXRuntime engine.
|
||||
|
||||
## 1. Environment preparation
|
||||
|
||||
Need to prepare PaddleOCR, Paddle2ONNX model conversion environment, and ONNXRuntime prediction environment
|
||||
|
||||
### PaddleOCR
|
||||
|
||||
Clone the PaddleOCR repository, use the main branch, and install it.
|
||||
|
||||
```
|
||||
git clone -b main https://github.com/PaddlePaddle/PaddleOCR.git
|
||||
cd PaddleOCR && python3 pip install -e .
|
||||
```
|
||||
|
||||
### Paddle2ONNX
|
||||
|
||||
Paddle2ONNX supports converting the PaddlePaddle model format to the ONNX model format. The operator currently supports exporting ONNX Opset 9~11 stably, and some Paddle operators support lower ONNX Opset conversion.
|
||||
For more details, please refer to [Paddle2ONNX](https://github.com/PaddlePaddle/Paddle2ONNX/blob/develop/README_en.md)
|
||||
|
||||
|
||||
- install Paddle2ONNX
|
||||
```
|
||||
python3 -m pip install paddle2onnx
|
||||
```
|
||||
|
||||
- install ONNXRuntime
|
||||
```
|
||||
python3 -m pip install onnxruntime
|
||||
```
|
||||
|
||||
## 2. Model conversion
|
||||
|
||||
|
||||
- Paddle model download
|
||||
|
||||
There are two ways to obtain the Paddle model: Download the prediction model provided by PaddleOCR in [model_list](../../doc/doc_en/models_list_en.md);
|
||||
Refer to [Model Export Instructions](../../doc/doc_en/inference_en.md#1-convert-training-model-to-inference-model) to convert the trained weights to inference_model.
|
||||
|
||||
Take the PP-OCRv3 detection, recognition, and classification model as an example:
|
||||
|
||||
```
|
||||
wget -nc -P ./inference https://paddleocr.bj.bcebos.com/PP-OCRv3/english/en_PP-OCRv3_det_infer.tar
|
||||
cd ./inference && tar xf en_PP-OCRv3_det_infer.tar && cd ..
|
||||
|
||||
wget -nc -P ./inference https://paddleocr.bj.bcebos.com/PP-OCRv3/english/en_PP-OCRv3_rec_infer.tar
|
||||
cd ./inference && tar xf en_PP-OCRv3_rec_infer.tar && cd ..
|
||||
|
||||
wget -nc -P ./inference https://paddleocr.bj.bcebos.com/dygraph_v2.0/ch/ch_ppocr_mobile_v2.0_cls_infer.tar
|
||||
cd ./inference && tar xf ch_ppocr_mobile_v2.0_cls_infer.tar && cd ..
|
||||
```
|
||||
|
||||
- convert model
|
||||
|
||||
Convert Paddle inference model to ONNX model format using Paddle2ONNX:
|
||||
|
||||
```
|
||||
paddle2onnx --model_dir ./inference/en_PP-OCRv3_det_infer \
|
||||
--model_filename inference.pdmodel \
|
||||
--params_filename inference.pdiparams \
|
||||
--save_file ./inference/det_onnx/model.onnx \
|
||||
--opset_version 11 \
|
||||
--enable_onnx_checker True
|
||||
|
||||
paddle2onnx --model_dir ./inference/en_PP-OCRv3_rec_infer \
|
||||
--model_filename inference.pdmodel \
|
||||
--params_filename inference.pdiparams \
|
||||
--save_file ./inference/rec_onnx/model.onnx \
|
||||
--opset_version 11 \
|
||||
--enable_onnx_checker True
|
||||
|
||||
paddle2onnx --model_dir ./inference/ch_ppocr_mobile_v2.0_cls_infer \
|
||||
--model_filename inference.pdmodel \
|
||||
--params_filename inference.pdiparams \
|
||||
--save_file ./inference/cls_onnx/model.onnx \
|
||||
--opset_version 11 \
|
||||
--enable_onnx_checker True
|
||||
```
|
||||
After execution, the ONNX model will be saved in `./inference/det_onnx/`, `./inference/rec_onnx/`, `./inference/cls_onnx/` paths respectively
|
||||
|
||||
* Note: For the OCR model, the conversion process must be in the form of dynamic shape, otherwise the prediction result may be the same as Predicting directly with Paddle is slightly different.
|
||||
In addition, the following models do not currently support conversion to ONNX models:
|
||||
NRTR, SAR, RARE, SRN
|
||||
|
||||
* Note: The current Paddle2ONNX version (v1.2.3) now supports dynamic shapes by default, i.e., float32[p2o.DynamicDimension.0,3,p2o.DynamicDimension.1,p2o.DynamicDimension.2]. The `--input_shape_dict` option has been deprecated. If you need to adjust the shape, you can use the following command to adjust the input shape of the Paddle model.
|
||||
|
||||
```
|
||||
python3 -m paddle2onnx.optimize --input_model inference/det_onnx/model.onnx \
|
||||
--output_model inference/det_onnx/model.onnx \
|
||||
--input_shape_dict "{'x': [-1,3,-1,-1]}"
|
||||
```
|
||||
|
||||
## 3. prediction
|
||||
|
||||
Take the English OCR model as an example, use **ONNXRuntime** to predict and execute the following commands:
|
||||
|
||||
```
|
||||
python3 tools/infer/predict_system.py --use_gpu=False --use_onnx=True \
|
||||
--det_model_dir=./inference/det_onnx/model.onnx \
|
||||
--rec_model_dir=./inference/rec_onnx/model.onnx \
|
||||
--cls_model_dir=./inference/cls_onnx/model.onnx \
|
||||
--image_dir=doc/imgs_en/img_12.jpg \
|
||||
--rec_char_dict_path=ppocr/utils/en_dict.txt
|
||||
```
|
||||
|
||||
Taking the English OCR model as an example, use **Paddle Inference** to predict and execute the following commands:
|
||||
|
||||
```
|
||||
python3 tools/infer/predict_system.py --use_gpu=False \
|
||||
--cls_model_dir=./inference/ch_ppocr_mobile_v2.0_cls_infer \
|
||||
--rec_model_dir=./inference/en_PP-OCRv3_rec_infer \
|
||||
--det_model_dir=./inference/en_PP-OCRv3_det_infer \
|
||||
--image_dir=doc/imgs_en/img_12.jpg \
|
||||
--rec_char_dict_path=ppocr/utils/en_dict.txt
|
||||
```
|
||||
|
||||
|
||||
After executing the command, the predicted identification information will be printed out in the terminal, and the visualization results will be saved under `./inference_results/`.
|
||||
|
||||
ONNXRuntime result:
|
||||
|
||||
<div align="center">
|
||||
<img src="../../doc/imgs_results/multi_lang/img_12.jpg" width=800">
|
||||
</div>
|
||||
|
||||
Paddle Inference result:
|
||||
|
||||
<div align="center">
|
||||
<img src="../../doc/imgs_results/multi_lang/img_12.jpg" width=800">
|
||||
</div>
|
||||
|
||||
|
||||
Using ONNXRuntime to predict, terminal output:
|
||||
```
|
||||
[2022/10/10 12:06:28] ppocr DEBUG: dt_boxes num : 11, elapse : 0.3568880558013916
|
||||
[2022/10/10 12:06:31] ppocr DEBUG: rec_res num : 11, elapse : 2.6445000171661377
|
||||
[2022/10/10 12:06:31] ppocr DEBUG: 0 Predict time of doc/imgs_en/img_12.jpg: 3.021s
|
||||
[2022/10/10 12:06:31] ppocr DEBUG: ACKNOWLEDGEMENTS, 0.997
|
||||
[2022/10/10 12:06:31] ppocr DEBUG: We would like to thank all the designers and, 0.976
|
||||
[2022/10/10 12:06:31] ppocr DEBUG: contributors who have been involved in the, 0.979
|
||||
[2022/10/10 12:06:31] ppocr DEBUG: production of this book; their contributions, 0.989
|
||||
[2022/10/10 12:06:31] ppocr DEBUG: have been indispensable to its creation. We, 0.956
|
||||
[2022/10/10 12:06:31] ppocr DEBUG: would also like to express our gratitude to all, 0.991
|
||||
[2022/10/10 12:06:31] ppocr DEBUG: the producers for their invaluable opinions, 0.978
|
||||
[2022/10/10 12:06:31] ppocr DEBUG: and assistance throughout this project. And to, 0.988
|
||||
[2022/10/10 12:06:31] ppocr DEBUG: the many others whose names are not credited, 0.958
|
||||
[2022/10/10 12:06:31] ppocr DEBUG: but have made specific input in this book, we, 0.970
|
||||
[2022/10/10 12:06:31] ppocr DEBUG: thank you for your continuous support., 0.998
|
||||
[2022/10/10 12:06:31] ppocr DEBUG: The visualized image saved in ./inference_results/img_12.jpg
|
||||
[2022/10/10 12:06:31] ppocr INFO: The predict total time is 3.2482550144195557
|
||||
```
|
||||
|
||||
Using Paddle Inference to predict, terminal output:
|
||||
|
||||
```
|
||||
[2022/10/10 12:06:28] ppocr DEBUG: dt_boxes num : 11, elapse : 0.3568880558013916
|
||||
[2022/10/10 12:06:31] ppocr DEBUG: rec_res num : 11, elapse : 2.6445000171661377
|
||||
[2022/10/10 12:06:31] ppocr DEBUG: 0 Predict time of doc/imgs_en/img_12.jpg: 3.021s
|
||||
[2022/10/10 12:06:31] ppocr DEBUG: ACKNOWLEDGEMENTS, 0.997
|
||||
[2022/10/10 12:06:31] ppocr DEBUG: We would like to thank all the designers and, 0.976
|
||||
[2022/10/10 12:06:31] ppocr DEBUG: contributors who have been involved in the, 0.979
|
||||
[2022/10/10 12:06:31] ppocr DEBUG: production of this book; their contributions, 0.989
|
||||
[2022/10/10 12:06:31] ppocr DEBUG: have been indispensable to its creation. We, 0.956
|
||||
[2022/10/10 12:06:31] ppocr DEBUG: would also like to express our gratitude to all, 0.991
|
||||
[2022/10/10 12:06:31] ppocr DEBUG: the producers for their invaluable opinions, 0.978
|
||||
[2022/10/10 12:06:31] ppocr DEBUG: and assistance throughout this project. And to, 0.988
|
||||
[2022/10/10 12:06:31] ppocr DEBUG: the many others whose names are not credited, 0.958
|
||||
[2022/10/10 12:06:31] ppocr DEBUG: but have made specific input in this book, we, 0.970
|
||||
[2022/10/10 12:06:31] ppocr DEBUG: thank you for your continuous support., 0.998
|
||||
[2022/10/10 12:06:31] ppocr DEBUG: The visualized image saved in ./inference_results/img_12.jpg
|
||||
[2022/10/10 12:06:31] ppocr INFO: The predict total time is 3.2482550144195557
|
||||
```
|
||||
220
deploy/paddle2onnx/readme_ch.md
Normal file
220
deploy/paddle2onnx/readme_ch.md
Normal file
@@ -0,0 +1,220 @@
|
||||
# Paddle2ONNX模型转化与预测
|
||||
|
||||
本章节介绍 PaddleOCR 模型如何转化为 ONNX 模型,并基于 ONNXRuntime 引擎预测。
|
||||
|
||||
## 1. 环境准备
|
||||
|
||||
需要准备 PaddleOCR、Paddle2ONNX 模型转化环境,和 ONNXRuntime 预测环境
|
||||
|
||||
### PaddleOCR
|
||||
|
||||
克隆PaddleOCR的仓库,使用 main 分支,并进行安装,由于 PaddleOCR 仓库比较大,git clone 速度比较慢,所以本教程已下载
|
||||
|
||||
```
|
||||
git clone -b main https://github.com/PaddlePaddle/PaddleOCR.git
|
||||
cd PaddleOCR && python3 -m pip install -e .
|
||||
```
|
||||
|
||||
### Paddle2ONNX
|
||||
|
||||
Paddle2ONNX 支持将 PaddlePaddle 模型格式转化到 ONNX 模型格式,算子目前稳定支持导出 ONNX Opset 9~18,部分Paddle算子支持更低的ONNX Opset转换。
|
||||
更多细节可参考 [Paddle2ONNX](https://github.com/PaddlePaddle/Paddle2ONNX/blob/develop/README_zh.md)
|
||||
|
||||
- 安装 Paddle2ONNX
|
||||
```
|
||||
python3 -m pip install paddle2onnx
|
||||
```
|
||||
|
||||
- 安装 ONNXRuntime
|
||||
```
|
||||
python3 -m pip install onnxruntime
|
||||
```
|
||||
|
||||
## 2. 模型转换
|
||||
|
||||
|
||||
- Paddle 模型下载
|
||||
|
||||
有两种方式获取Paddle静态图模型:在 [model_list](../../doc/doc_ch/models_list.md) 中下载PaddleOCR提供的预测模型;
|
||||
参考[模型导出说明](../../doc/doc_ch/inference.md#训练模型转inference模型)把训练好的权重转为 inference_model。
|
||||
|
||||
以 PP-OCRv3 中文检测、识别、分类模型为例:
|
||||
|
||||
```
|
||||
wget -nc -P ./inference https://paddle-model-ecology.bj.bcebos.com/paddlex/official_inference_model/paddle3.0.0/PP-OCRv3_mobile_det_infer.tar
|
||||
cd ./inference && tar xf PP-OCRv3_mobile_det_infer.tar && cd ..
|
||||
|
||||
wget -nc -P ./inference https://paddleocr.bj.bcebos.com/PP-OCRv3/chinese/ch_PP-OCRv3_rec_infer.tar
|
||||
cd ./inference && tar xf ch_PP-OCRv3_rec_infer.tar && cd ..
|
||||
|
||||
wget -nc -P ./inference https://paddleocr.bj.bcebos.com/dygraph_v2.0/ch/ch_ppocr_mobile_v2.0_cls_infer.tar
|
||||
cd ./inference && tar xf ch_ppocr_mobile_v2.0_cls_infer.tar && cd ..
|
||||
```
|
||||
|
||||
- 模型转换
|
||||
|
||||
使用 Paddle2ONNX 将Paddle静态图模型转换为ONNX模型格式:
|
||||
|
||||
```
|
||||
paddle2onnx --model_dir ./inference/PP-OCRv3_mobile_det_infer \
|
||||
--model_filename inference.pdmodel \
|
||||
--params_filename inference.pdiparams \
|
||||
--save_file ./inference/det_onnx/model.onnx \
|
||||
--opset_version 11 \
|
||||
--enable_onnx_checker True
|
||||
|
||||
paddle2onnx --model_dir ./inference/ch_PP-OCRv3_rec_infer \
|
||||
--model_filename inference.pdmodel \
|
||||
--params_filename inference.pdiparams \
|
||||
--save_file ./inference/rec_onnx/model.onnx \
|
||||
--opset_version 11 \
|
||||
--enable_onnx_checker True
|
||||
|
||||
paddle2onnx --model_dir ./inference/ch_ppocr_mobile_v2.0_cls_infer \
|
||||
--model_filename inference.pdmodel \
|
||||
--params_filename inference.pdiparams \
|
||||
--save_file ./inference/cls_onnx/model.onnx \
|
||||
--opset_version 11 \
|
||||
--enable_onnx_checker True
|
||||
```
|
||||
|
||||
执行完毕后,ONNX 模型会被分别保存在 `./inference/det_onnx/`,`./inference/rec_onnx/`,`./inference/cls_onnx/`路径下
|
||||
|
||||
* 注意:对于OCR模型,转化过程中必须采用动态shape的形式,否则预测结果可能与直接使用Paddle预测有细微不同。
|
||||
另外,以下几个模型暂不支持转换为 ONNX 模型:
|
||||
NRTR、SAR、RARE、SRN
|
||||
|
||||
* 注意:[当前Paddle2ONNX版本(v1.2.3)](https://github.com/PaddlePaddle/Paddle2ONNX/releases/tag/v1.2.3)现已默认支持动态shape,即 `float32[p2o.DynamicDimension.0,3,p2o.DynamicDimension.1,p2o.DynamicDimension.2]`,选项 `--input_shape_dict` 已废弃。如果有shape调整需求可使用如下命令进行Paddle模型输入shape调整。
|
||||
|
||||
```
|
||||
python3 -m paddle2onnx.optimize --input_model inference/det_onnx/model.onnx \
|
||||
--output_model inference/det_onnx/model.onnx \
|
||||
--input_shape_dict "{'x': [-1,3,-1,-1]}"
|
||||
```
|
||||
|
||||
## 3. 推理预测
|
||||
|
||||
以中文OCR模型为例,使用 ONNXRuntime 预测可执行如下命令:
|
||||
|
||||
```
|
||||
python3 tools/infer/predict_system.py --use_gpu=False --use_onnx=True \
|
||||
--det_model_dir=./inference/det_onnx/model.onnx \
|
||||
--rec_model_dir=./inference/rec_onnx/model.onnx \
|
||||
--cls_model_dir=./inference/cls_onnx/model.onnx \
|
||||
--image_dir=./deploy/lite/imgs/lite_demo.png
|
||||
```
|
||||
|
||||
以中文OCR模型为例,使用 Paddle Inference 预测可执行如下命令:
|
||||
|
||||
```
|
||||
python3 tools/infer/predict_system.py --use_gpu=False \
|
||||
--cls_model_dir=./inference/ch_ppocr_mobile_v2.0_cls_infer \
|
||||
--rec_model_dir=./inference/ch_PP-OCRv3_rec_infer \
|
||||
--det_model_dir=./inference/PP-OCRv3_mobile_det_infer \
|
||||
--image_dir=./deploy/lite/imgs/lite_demo.png
|
||||
```
|
||||
|
||||
|
||||
执行命令后在终端会打印出预测的识别信息,并在 `./inference_results/` 下保存可视化结果。
|
||||
|
||||
ONNXRuntime 执行效果:
|
||||
|
||||
<div align="center">
|
||||
<img src="./images/lite_demo_onnx.png" width=800">
|
||||
</div>
|
||||
|
||||
Paddle Inference 执行效果:
|
||||
|
||||
<div align="center">
|
||||
<img src="./images/lite_demo_paddle.png" width=800">
|
||||
</div>
|
||||
|
||||
|
||||
使用 ONNXRuntime 预测,终端输出:
|
||||
```
|
||||
[2022/02/22 17:48:27] root DEBUG: dt_boxes num : 38, elapse : 0.043187856674194336
|
||||
[2022/02/22 17:48:27] root DEBUG: rec_res num : 38, elapse : 0.592170000076294
|
||||
[2022/02/22 17:48:27] root DEBUG: 0 Predict time of ./deploy/lite/imgs/lite_demo.png: 0.642s
|
||||
[2022/02/22 17:48:27] root DEBUG: The, 0.984
|
||||
[2022/02/22 17:48:27] root DEBUG: visualized, 0.882
|
||||
[2022/02/22 17:48:27] root DEBUG: etect18片, 0.720
|
||||
[2022/02/22 17:48:27] root DEBUG: image saved in./vis.jpg, 0.947
|
||||
[2022/02/22 17:48:27] root DEBUG: 纯臻营养护发素0.993604, 0.996
|
||||
[2022/02/22 17:48:27] root DEBUG: 产品信息/参数, 0.922
|
||||
[2022/02/22 17:48:27] root DEBUG: 0.992728, 0.914
|
||||
[2022/02/22 17:48:27] root DEBUG: (45元/每公斤,100公斤起订), 0.926
|
||||
[2022/02/22 17:48:27] root DEBUG: 0.97417, 0.977
|
||||
[2022/02/22 17:48:27] root DEBUG: 每瓶22元,1000瓶起订)0.993976, 0.962
|
||||
[2022/02/22 17:48:27] root DEBUG: 【品牌】:代加工方式/0EMODM, 0.945
|
||||
[2022/02/22 17:48:27] root DEBUG: 0.985133, 0.980
|
||||
[2022/02/22 17:48:27] root DEBUG: 【品名】:纯臻营养护发素, 0.921
|
||||
[2022/02/22 17:48:27] root DEBUG: 0.995007, 0.883
|
||||
[2022/02/22 17:48:27] root DEBUG: 【产品编号】:YM-X-30110.96899, 0.955
|
||||
[2022/02/22 17:48:27] root DEBUG: 【净含量】:220ml, 0.943
|
||||
[2022/02/22 17:48:27] root DEBUG: Q.996577, 0.932
|
||||
[2022/02/22 17:48:27] root DEBUG: 【适用人群】:适合所有肤质, 0.913
|
||||
[2022/02/22 17:48:27] root DEBUG: 0.995842, 0.969
|
||||
[2022/02/22 17:48:27] root DEBUG: 【主要成分】:鲸蜡硬脂醇、燕麦B-葡聚, 0.883
|
||||
[2022/02/22 17:48:27] root DEBUG: 0.961928, 0.964
|
||||
[2022/02/22 17:48:27] root DEBUG: 10, 0.812
|
||||
[2022/02/22 17:48:27] root DEBUG: 糖、椰油酰胺丙基甜菜碱、泛醒, 0.866
|
||||
[2022/02/22 17:48:27] root DEBUG: 0.925898, 0.943
|
||||
[2022/02/22 17:48:27] root DEBUG: (成品包材), 0.974
|
||||
[2022/02/22 17:48:27] root DEBUG: 0.972573, 0.961
|
||||
[2022/02/22 17:48:27] root DEBUG: 【主要功能】:可紧致头发磷层,从而达到, 0.936
|
||||
[2022/02/22 17:48:27] root DEBUG: 0.994448, 0.952
|
||||
[2022/02/22 17:48:27] root DEBUG: 13, 0.998
|
||||
[2022/02/22 17:48:27] root DEBUG: 即时持久改善头发光泽的效果,给干燥的头, 0.994
|
||||
[2022/02/22 17:48:27] root DEBUG: 0.990198, 0.975
|
||||
[2022/02/22 17:48:27] root DEBUG: 14, 0.977
|
||||
[2022/02/22 17:48:27] root DEBUG: 发足够的滋养, 0.991
|
||||
[2022/02/22 17:48:27] root DEBUG: 0.997668, 0.918
|
||||
[2022/02/22 17:48:27] root DEBUG: 花费了0.457335秒, 0.901
|
||||
[2022/02/22 17:48:27] root DEBUG: The visualized image saved in ./inference_results/lite_demo.png
|
||||
[2022/02/22 17:48:27] root INFO: The predict total time is 0.7003889083862305
|
||||
```
|
||||
|
||||
使用 Paddle Inference 预测,终端输出:
|
||||
|
||||
```
|
||||
[2022/02/22 17:47:25] root DEBUG: dt_boxes num : 38, elapse : 0.11791276931762695
|
||||
[2022/02/22 17:47:27] root DEBUG: rec_res num : 38, elapse : 2.6206860542297363
|
||||
[2022/02/22 17:47:27] root DEBUG: 0 Predict time of ./deploy/lite/imgs/lite_demo.png: 2.746s
|
||||
[2022/02/22 17:47:27] root DEBUG: The, 0.984
|
||||
[2022/02/22 17:47:27] root DEBUG: visualized, 0.882
|
||||
[2022/02/22 17:47:27] root DEBUG: etect18片, 0.720
|
||||
[2022/02/22 17:47:27] root DEBUG: image saved in./vis.jpg, 0.947
|
||||
[2022/02/22 17:47:27] root DEBUG: 纯臻营养护发素0.993604, 0.996
|
||||
[2022/02/22 17:47:27] root DEBUG: 产品信息/参数, 0.922
|
||||
[2022/02/22 17:47:27] root DEBUG: 0.992728, 0.914
|
||||
[2022/02/22 17:47:27] root DEBUG: (45元/每公斤,100公斤起订), 0.926
|
||||
[2022/02/22 17:47:27] root DEBUG: 0.97417, 0.977
|
||||
[2022/02/22 17:47:27] root DEBUG: 每瓶22元,1000瓶起订)0.993976, 0.962
|
||||
[2022/02/22 17:47:27] root DEBUG: 【品牌】:代加工方式/0EMODM, 0.945
|
||||
[2022/02/22 17:47:27] root DEBUG: 0.985133, 0.980
|
||||
[2022/02/22 17:47:27] root DEBUG: 【品名】:纯臻营养护发素, 0.921
|
||||
[2022/02/22 17:47:27] root DEBUG: 0.995007, 0.883
|
||||
[2022/02/22 17:47:27] root DEBUG: 【产品编号】:YM-X-30110.96899, 0.955
|
||||
[2022/02/22 17:47:27] root DEBUG: 【净含量】:220ml, 0.943
|
||||
[2022/02/22 17:47:27] root DEBUG: Q.996577, 0.932
|
||||
[2022/02/22 17:47:27] root DEBUG: 【适用人群】:适合所有肤质, 0.913
|
||||
[2022/02/22 17:47:27] root DEBUG: 0.995842, 0.969
|
||||
[2022/02/22 17:47:27] root DEBUG: 【主要成分】:鲸蜡硬脂醇、燕麦B-葡聚, 0.883
|
||||
[2022/02/22 17:47:27] root DEBUG: 0.961928, 0.964
|
||||
[2022/02/22 17:47:27] root DEBUG: 10, 0.812
|
||||
[2022/02/22 17:47:27] root DEBUG: 糖、椰油酰胺丙基甜菜碱、泛醒, 0.866
|
||||
[2022/02/22 17:47:27] root DEBUG: 0.925898, 0.943
|
||||
[2022/02/22 17:47:27] root DEBUG: (成品包材), 0.974
|
||||
[2022/02/22 17:47:27] root DEBUG: 0.972573, 0.961
|
||||
[2022/02/22 17:47:27] root DEBUG: 【主要功能】:可紧致头发磷层,从而达到, 0.936
|
||||
[2022/02/22 17:47:27] root DEBUG: 0.994448, 0.952
|
||||
[2022/02/22 17:47:27] root DEBUG: 13, 0.998
|
||||
[2022/02/22 17:47:27] root DEBUG: 即时持久改善头发光泽的效果,给干燥的头, 0.994
|
||||
[2022/02/22 17:47:27] root DEBUG: 0.990198, 0.975
|
||||
[2022/02/22 17:47:27] root DEBUG: 14, 0.977
|
||||
[2022/02/22 17:47:27] root DEBUG: 发足够的滋养, 0.991
|
||||
[2022/02/22 17:47:27] root DEBUG: 0.997668, 0.918
|
||||
[2022/02/22 17:47:27] root DEBUG: 花费了0.457335秒, 0.901
|
||||
[2022/02/22 17:47:27] root DEBUG: The visualized image saved in ./inference_results/lite_demo.png
|
||||
[2022/02/22 17:47:27] root INFO: The predict total time is 2.8338775634765625
|
||||
```
|
||||
Reference in New Issue
Block a user