RapidAI / RapidOCR

Awesome OCR multiple programing languages toolkits based on ONNXRuntime, OpenVION and PaddlePaddle. (将PaddleOCR模型做了转换,采用ONNXRuntime推理,速度很快)
https://rapidai.github.io/RapidOCRDocs
Apache License 2.0
2.84k stars 352 forks source link

docker安装rapidocr_api有bug #223

Open nzm001 opened 3 days ago

nzm001 commented 3 days ago

问题描述 / Problem Description

  1. python-multipart依赖没有加
  2. fix bugs: Error loading ASGI app. Could not import module "api".
  3. 内存爆炸

运行环境 / Runtime Environment

  1. ubuntu22.04
  2. docker环境python:3.10-slim

复现代码 / Reproduction Code

# 启动python:3.10-slim(docker run ... /bin/bash)
sed -i '.......'  /etc/apt/sources.list.d/debian.sources # 修改apt源,没影响
apt-get update
apt-get install -f -y g++ gcc python3-opencv
apt-get clean
rm -rf /var/lib/apt/lists/*
pip install --no-cache-dir --upgrade pip -i https://mirrors.aliyun.com/pypi/simple
pip install --no-cache-dir rapidocr_api -i https://mirrors.aliyun.com/pypi/simple
rapidocr_api -ip 0.0.0.0 -p 9003 # error1:没装python-multipart
pip install --no-cache-dir python-multipart -i https://mirrors.aliyun.com/pypi/simple
rapidocr_api -ip 0.0.0.0 -p 9003 # error2:Error loading ASGI app. Could not import module "api".
#修改api.py
rapidocr_api -ip 0.0.0.0 -p 9003 # 没有报错
# error3:每秒内存占用提高0.3-0.5MB的样子,直到boom

可能解决方案 / Possible solutions

  1. 添加python-multipart依赖。另外opencv有四个包,只要装一个,是否可以先检测,都没有再装opencv-python。
  2. stackoverflow,api改为src.api。
  3. 我不会。猜测开发的时候,直接在自己的工程目录下跑没问题。但是用pip安装,环境目录不一样导致2和3的问题。
  4. 请问rapidocr_api可以指定det、rec模型吗?谢谢。使用的时候发现小图片(来源是手机截图,但是我知道文字一定会在某个300x10的矩形中出现)先用随便啥模型超分辨率重建一次,det和rec结果要好很多,不知道有没有普适性。
SWHL commented 2 days ago

感谢你的指出,请问是否愿意提PR来帮助修复这些问题呢

nzm001 commented 1 day ago

第二点,修改api.py,"api:app"改为"rapidocr_api.api:app",但是这么改只是不报错,内存问题没有解决。只会改这么一处。

SWHL commented 1 day ago

好的,等我有空,我来具体看看