README.md 3.1 KB
Newer Older
M
MRXLT 已提交
1 2
# OCR 

W
wangjiawei04 已提交
3 4
(English|[简体中文](./README_CN.md))

M
MRXLT 已提交
5 6 7 8
## Get Model
```
python -m paddle_serving_app.package --get_model ocr_rec
tar -xzvf ocr_rec.tar.gz
W
wangjiawei04 已提交
9 10
python -m paddle_serving_app.package --get_model ocr_det
tar -xzvf ocr_det.tar.gz
M
MRXLT 已提交
11
```
W
wangjiawei04 已提交
12

J
Jiawei Wang 已提交
13
## Get Dataset (Optional)
W
wangjiawei04 已提交
14 15 16 17 18
```
wget --no-check-certificate https://paddle-serving.bj.bcebos.com/ocr/test_imgs.tar
tar xf test_imgs.tar
```

W
wangjiawei04 已提交
19 20 21 22 23
## Web Service

### Start Service

```
24 25 26 27 28
#choose one of cpu/gpu commands as following
#for cpu user
python -m paddle_serving_server.serve --model ocr_det_model --port 9293
python ocr_web_server.py cpu
#for gpu user
W
wangjiawei04 已提交
29
python -m paddle_serving_server_gpu.serve --model ocr_det_model --port 9293 --gpu_id 0
30
python ocr_web_server.py gpu
W
wangjiawei04 已提交
31 32 33 34
```

### Client Prediction
```
W
wangjiawei04 已提交
35 36
python ocr_web_client.py
```
W
wangjiawei04 已提交
37
If you want a faster web service, please try Web Debugger Service
W
wangjiawei04 已提交
38 39 40

## Web Debugger Service
```
41 42 43 44 45
#choose one of cpu/gpu commands as following
#for cpu user
python ocr_debugger_server.py cpu
#for gpu user
python ocr_debugger_server.py gpu 
W
wangjiawei04 已提交
46 47 48 49
```

## Web Debugger Client Prediction
```
J
Jiawei Wang 已提交
50
python ocr_web_client.py
M
MRXLT 已提交
51
```
W
wangjiawei04 已提交
52 53 54 55

## Benchmark

CPU: Intel(R) Xeon(R) Gold 6148 CPU @ 2.40GHz * 40
W
wangjiawei04 已提交
56

W
wangjiawei04 已提交
57 58
GPU: Nvidia Tesla V100 * 1

W
wangjiawei04 已提交
59 60
Dataset: RCTW 500 sample images

W
wangjiawei04 已提交
61 62
| engine                       | client read image(ms) | client-server tras time(ms) | server read image(ms) | det pre(ms) | det infer(ms) | det post(ms) | rec pre(ms) | rec infer(ms) | rec post(ms) | server-client trans time(ms) | server side time consumption(ms) | server side overhead(ms) | total time(ms) |
|------------------------------|----------------|----------------------------|------------------|--------------------|------------------|--------------------|--------------------|------------------|--------------------|--------------------------|--------------------|--------------|---------------|
J
Jiawei Wang 已提交
63 64
| Serving web service          | 8.69         | 13.41                      | 109.97           | 2.82               | 87.76            | 4.29               | 3.98               | 78.51            | 3.66               | 4.12                     | 181.02             | 136.49       | 317.51        |
| Serving Debugger web service |  8.73        | 16.42                      | 115.27           | 2.93               | 20.63            | 3.97               | 4.48               | 13.84            | 3.60               | 6.91                     | 49.45              | 147.33       | 196.78        |
J
Jiawei Wang 已提交
65 66 67 68 69 70 71

## Appendix: Det or Rec only
if you are going to detect images not recognize it or directly recognize the words from images. We also provide Det and Rec server for you.

### Det Server 

```
72 73
python det_web_server.py cpu #for cpu user
python det_web_server.py gpu #for gpu user
J
Jiawei Wang 已提交
74
#or
75 76
python det_debugger_server.py cpu #for cpu user
python det_debugger_server.py gpu #for gpu user
J
Jiawei Wang 已提交
77 78 79 80 81 82 83 84 85 86 87 88
```

### Det Client

```
# also use ocr_web_client.py
python ocr_web_client.py
```

### Rec Server

```
89 90
python rec_web_server.py cpu #for cpu user
python rec_web_server.py gpu #for gpu user
J
Jiawei Wang 已提交
91
#or
92 93
python rec_debugger_server.py cpu #for cpu user
python rec_debugger_server.py gpu #for gpu user
J
Jiawei Wang 已提交
94 95 96 97 98 99 100
```

### Rec Client

```
python rec_web_client.py
```