Files
rapidocr/python/README.md
T
2021-10-27 14:54:03 +08:00

2.2 KiB
Executable File

运行

  1. 下载相应模型和用于显示的字体文件
  2. 运行rapidOCR.py文件, 即可
    cd python
    python rapidOCR.py
    

文本检测+方向分类+文本识别

from ch_ppocr_mobile_v2_cls import TextClassifier
from ch_ppocr_mobile_v2_det import TextDetector
from ch_ppocr_mobile_v2_rec import TextRecognizer

det_model_path = 'models/ch_ppocr_mobile_v2.0_det_infer.onnx'
cls_model_path = 'models/ch_ppocr_mobile_v2.0_cls_infer.onnx'
rec_model_path = 'models/ch_ppocr_mobile_v2.0_rec_infer.onnx'

image_path = r'test_images/det_images/1.jpg'

text_sys = TextSystem(det_model_path,
                        rec_model_path,
                        use_angle_cls=True,
                        cls_model_path=cls_model_path)
dt_boxes, rec_res = text_sys(image_path)
visualize(image_path, dt_boxes, rec_res)

onnxruntime-gpu版推理配置

  1. 安装GPU版的onnxruntime: pip install onnxruntime-gpu
  2. 推理代码中,加载onnx模型部分,用以下对应语言代码替换即可,详细参见:官方教程
    • python版本
      import onnxruntime as ort
      
      model_path = '<path to model>'
      
      providers = [
         ('CUDAExecutionProvider', {
            'device_id': 0,
            'arena_extend_strategy': 'kNextPowerOfTwo',
            'gpu_mem_limit': 2 * 1024 * 1024 * 1024,
            'cudnn_conv_algo_search': 'EXHAUSTIVE',
            'do_copy_in_default_stream': True,
         }),
         'CPUExecutionProvider',
      ]
      
      session = ort.InferenceSession(model_path, providers=providers)
      
    • C/C++版本
      OrtSessionOptions* session_options = /* ... */;
      
      OrtCUDAProviderOptions options;
      options.device_id = 0;
      options.arena_extend_strategy = 0;
      options.gpu_mem_limit = 2 * 1024 * 1024 * 1024;
      options.cudnn_conv_algo_search = OrtCudnnConvAlgoSearch::EXHAUSTIVE;
      options.do_copy_in_default_stream = 1;
      
      SessionOptionsAppendExecutionProvider_CUDA(session_options, &options);