paddlehub环境搭建和测试

目录

  • 1.环境搭建
    • [1.1 创建conda环境](#1.1 创建conda环境)
    • [1.2 安装paddlepaddle和paddlehub](#1.2 安装paddlepaddle和paddlehub)
    • [1.3 安装依赖](#1.3 安装依赖)
  • [2. 移动端模型部署](#2. 移动端模型部署)
    • [2.1 安装移动端模型](#2.1 安装移动端模型)
    • [2.2 测试](#2.2 测试)
  • [3. 服务部署](#3. 服务部署)
    • [3.1 启动PaddleHub Serving](#3.1 启动PaddleHub Serving)
    • [3.2 发送预测请求](#3.2 发送预测请求)

1.环境搭建

1.1 创建conda环境

bash 复制代码
conda create --name paddlehub python=3.8
conda activate paddlehub

1.2 安装paddlepaddle和paddlehub

bash 复制代码
pip install paddlepaddle -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install paddlehub -i https://pypi.tuna.tsinghua.edu.cn/simple

1.3 安装依赖

bash 复制代码
pip install shapely pyclipper

2. 移动端模型部署

2.1 安装移动端模型

bash 复制代码
hub install chinese_ocr_db_crnn_mobile

报错1:

增加download函数

bash 复制代码
vim /home/yinsuan/miniconda3/envs/paddlehub/lib/python3.8/site-packages/aistudio_sdk/hub.py 
python 复制代码
def download(url, target_path):
    os.makedirs(os.path.dirname(target_path), exist_ok=True)
    response = requests.get(url, stream=True)
    with open(target_path, 'wb') as f:
        for chunk in response.iter_content(chunk_size=1024):
            if chunk:
                f.write(chunk)
    print(f"Downloaded {url} to {target_path}")

报错2:

bash 复制代码
export PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python

安装成功

2.2 测试

将其中的np.int 修改为int即可

bash 复制代码
vim /home/yinsuan/.paddlehub/modules/chinese_ocr_db_crnn_mobile/module.py
bash 复制代码
hub run chinese_ocr_db_crnn_mobile --input_path "/PATH/TO/IMAGE"

测试成功

3. 服务部署

3.1 启动PaddleHub Serving

bash 复制代码
hub serving start -m chinese_ocr_db_crnn_mobile

3.2 发送预测请求

bash 复制代码
import requests
import json
import cv2
import base64

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

# 发送HTTP请求
data = {'images':[cv2_to_base64(cv2.imread("/PATH/TO/IMAGE"))]}
headers = {"Content-type": "application/json"}
url = "http://127.0.0.1:8866/predict/chinese_ocr_db_crnn_mobile"
r = requests.post(url=url, headers=headers, data=json.dumps(data))

# 打印预测结果
print(r.json()["results"])

参考:https://www.paddlepaddle.org.cn/hubdetail?name=chinese_ocr_db_crnn_mobile&en_category=TextRecognition

相关推荐
满怀冰雪4 天前
12-PaddlePaddle, 飞桨, 分类模型, 训练循环, 损失函数, 优化器, cross_entropy, Adam
人工智能·深度学习·分类·paddlepaddle
蓝创工坊Blue Foundry5 天前
发票、凭证和对账单怎么整理成 Excel?先定义字段,再逐项复核
pdf·ocr·excel·文心一言·paddlepaddle
蓝创工坊Blue Foundry7 天前
PaddleOCR 本地部署教程:小模型 OCR 如何完成字段提取到 Excel
pdf·自动化·ocr·excel·paddlepaddle·paddle
蓝创工坊Blue Foundry7 天前
个人藏书太多怎么整理?用 OCR 字段提取汇总成电子书目
pdf·ocr·excel·文心一言·paddlepaddle·paddle
蓝创工坊Blue Foundry9 天前
批量提取图片中的数字:怎样整理成一张可核对的 Excel
python·ai·ocr·excel·paddlepaddle
蓝创工坊Blue Foundry12 天前
PDF 批量提取指定内容到 Excel:按字段整理多个 PDF 的方法
pdf·ocr·excel·文心一言·paddlepaddle·paddle
蓝创工坊Blue Foundry12 天前
本地 PDF、图片字段提取到 Excel:用文档工作台的完整流程
python·ocr·vim·paddlepaddle
满怀冰雪20 天前
02-安装 PaddlePaddle:CPU、GPU 与环境检查入门
人工智能·python·paddlepaddle
半壶清水2 个月前
PaddlePaddle、easyocr与OpenCV工具识别书法图片内容,自动批量重命名图片文件的方法
人工智能·opencv·ocr·paddlepaddle
weixin_468466852 个月前
PaddlePaddle 深度学习框架实战应用指南
人工智能·深度学习·机器学习·ai·paddlepaddle