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"])
相关推荐
A小码哥5 小时前
DeepSeek-OCR-2 开源 OCR 模型的技术
ocr
2401_8362358611 小时前
中安未来行驶证识别:以OCR智能力量,重构车辆证件数字化效率
人工智能·深度学习·ocr
HyperAI超神经1 天前
在线教程|DeepSeek-OCR 2公式/表格解析同步改善,以低视觉token成本实现近4%的性能跃迁
开发语言·人工智能·深度学习·神经网络·机器学习·ocr·创业创新
蛋王派1 天前
DeepSeek-OCR-v2 模型解析和部署应用
人工智能·ocr
小白狮ww1 天前
要给 OCR 装个脑子吗?DeepSeek-OCR 2 让文档不再只是扫描
人工智能·深度学习·机器学习·ocr·cpu·gpu·deepseek
智慧地球(AI·Earth)2 天前
DeepSeek架构新探索!开源OCR 2诞生!
架构·ocr
OpenBayes2 天前
教程上新|DeepSeek-OCR 2公式/表格解析同步改善,以低视觉token成本实现近4%的性能跃迁
人工智能·深度学习·目标检测·机器学习·大模型·ocr·gpu算力
PPIO派欧云2 天前
PPIO上线GLM-OCR:0.9B参数SOTA性能,支持一键部署
人工智能·ai·大模型·ocr·智谱
东华果汁哥2 天前
【大模型 OCR】GLM-OCR 使用教程:从入门到部署
ocr
h7ml2 天前
查券返利机器人的OCR识别集成:Java Tesseract+OpenCV优化图片验证码的自动解析方案
java·机器人·ocr