模型chinese_ocr_db_crnn_mobile部署hub-serving的方式
Created by: pkuyilong
os.environ['CUDA_VISIBLE_DEVICES'] = '0'
ocr = hub.Module(name="chinese_ocr_db_crnn_mobile")
- 使用如上方式, 其真正使用的模型是chinese_ocr_db_crnn_mobile, 具体目录是~/.paddlehub/modules/chinese_ocr_db_crnn_mobile, 其目录结构是
.
├── assets
│ ├── ppocr_keys_v1.txt
│ └── simfang.ttf
├── character.py
├── inference_model
│ ├── model
│ └── params
├── __init__.py
├── md5.txt
├── module.py
├── __pycache__
│ ├── character.cpython-36.pyc
│ ├── __init__.cpython-36.pyc
│ ├── module.cpython-36.pyc
│ └── utils.cpython-36.pyc
└── utils.py
可以看出这个模型是一个整体的模型, 没有区分detect和recognize模型
- 我在这个模型上测试取得了不错的效果, 那么问题来了
- 请问这个模型有没有hub-serving模式以及如何部署?
- 如果我不是用hub-serving模式, 有没有相应代码可以直接加载该模型以及具体方式?
- 我用sha1sum查看了快速ocr/通用ocr所有inference的模型链接, 没有在找到这个模型的具体的下载链接
- 现有的我能看到的hub-serving模型分别是
- 只支持检测
- 只支持识别
- 支持识别和检测(ocr_system)
- 该模型的hub-serving模式存在的一个小问题是, 内部没有对框的设定阈值阈值, 而在https://github.com/PaddlePaddle/PaddleOCR/blob/develop/doc/doc_ch/quickstart.md中的
python3 tools/infer/predict_system.py --image_dir="./doc/imgs/11.jpg" --det_model_dir="./inference/ch_det_mv3_db/" --rec_model_dir="./inference/ch_rec_mv3_crnn/"
中是有drop_score = 0.5的阈值限定的.这导致hub-serving产出的结果导致召回升高, 准确下降, 结果与命令行方式不一致