paddlehub搭建ocr服务

搭建环境:

  • Ubuntu20.04
  • 1080Ti显卡

由于GPU硬件比较老,是Pascal架构,只能支持到paddle2.4.2版本,更高版本无法支持;同时,因为paddle老版本的依赖发生了变化,有些地方存在冲突,花费了不少时间解决!

1. 安装GPU支持的cuda版本

这里选择的是cuda_12.0.0_525.60.13_linux.run

2. 安装对应的cudnn包

libcudnn8_8.8.0.121-1+cuda12.0_amd64.deb (从nvidia官网下载的cudnn local repo包中提取)

3. 安装对应的nccl包

libnccl2_2.19.3-1+cuda12.0_amd64.deb (从nvidia官网下载的nccl local repo包中提取)

注意:以上两个包默认安装在了/usr/lib/x86_64-linux-gnu目录下,需要在/usr/local/cuda/lib64中建立链接。如:

复制代码
sudo ln -s /usr/lib/x86_64-linux-gnu/libnccl.so libnccl.so

4. 安装miniconda,略

5. 创建虚拟环境

复制代码
conda create -n paddle python=3.8

conda activate paddle

6. 安装paddlepaddle

复制代码
conda install paddlepaddle-gpu==2.4.2 cudatoolkit=11.7 -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/Paddle/ -c conda-forge

pip install paddlehub -i https://pypi.tuna.tsinghua.edu.cn/simple

注:由于paddlepaddle与paddlehub之间存在版本依赖冲突问题,运行时会报错,可以执行以下命令,降低降低paddlenlp版本

复制代码
pip install paddlenlp==2.5.0 shapely pyclipper -i https://pypi.tuna.tsinghua.edu.cn/simple

pip install protobuf==3.20.0 -i https://pypi.tuna.tsinghua.edu.cn/simple

7. 以服务方式运行

复制代码
hub serving start -m ch_pp_ocrv3
hub serving start -m chinese_ocr_db_crnn_server

如果有多张显卡,可以指定用哪张卡来运行:

复制代码
CUDA_VISIBLE_DEVICES=1 hub serving start -m chinese_ocr_db_crnn_server

可以通过以下方式访问服务

http://127.0.0.1:8866/gradio/ch_pp_ocrv3 访问web

http://127.0.0.1:8866/predict/ch_pp-ocrv3 访问API

python 复制代码
# coding: utf8
import requests
import json
import cv2
import base64

def cv2_to_base64(image):
    data = cv2.imencode('.jpg', image)[1]
    return base64.b64encode(data.tobytes()).decode('utf8')

# 发送HTTP请求
data = {'images':[cv2_to_base64(cv2.imread("/home/zoon/Downloads/3.png"))]}
headers = {"Content-type": "application/json"}
url = "http://127.0.0.1:8866/predict/chinese_ocr_db_crnn_server"
r = requests.post(url=url, headers=headers, data=json.dumps(data))

# 打印预测结果
print(r.json()["results"])
相关推荐
开开心心就好1 小时前
无弹窗不更新的PC本地播放工具
运维·科技·macos·docker·计算机外设·ocr·powerpoint
MageGojo5 小时前
OCR 火车票识别 API 服务介绍与使用考量
ocr·接口·api·数据提取·火车票识别
星光一影5 小时前
一个开源 OCR 引擎,支持 100+ 语言,能识别表格、公式、印章,而且完全免费
开源·ocr
开开心心就好16 小时前
支持多显示器的Windows高效分屏工具
运维·python·科技·游戏·计算机外设·ocr·powerpoint
YXWik617 小时前
图片 OCR 文字提取 (Python + AI 模型(ModelScope))
人工智能·python·ocr
AI人工智能+1 天前
一种基于深度学习的端到端户口本识别技术,通过多阶段神经网络架构实现高精度信息提取
人工智能·深度学习·计算机视觉·自然语言处理·ocr
AI人工智能+2 天前
基于深度学习与计算机视觉的表格识别技术:不仅能精准提取表格中的文字内容,更能深度解析复杂的表格结构,实现版面信息的完美还原
深度学习·计算机视觉·自然语言处理·ocr·表格识别
石榴树下的七彩鱼2 天前
发票OCR识别API接入教程:从图像到结构化数据的完整实战(附Python/Java/PHP/JS代码)
java·python·ocr·api接口·财务自动化·石榴智能·发票ocr
庖丁AI2 天前
PDF解析工具怎么选?OCR、表格提取和结构化输出有什么区别
人工智能·pdf·ocr
lqqjuly2 天前
OCR 与文档智能深度解析(OCR & Document Intelligence)
ocr