Windows 本地部署paddleocr

鉴于所购的Jetson Orin Nano SUB 套件还没到货,先于本机上进行 paddlerocr的部署

Jetpack

JetPack 开发工具包 |NVIDIA 开发人员

介绍: 为 Jetson 模块提供动力的 NVIDIA JetPack SDK 是最 全面的解决方案,为构建端到端加速AI提供完整的开发环境 应用并缩短上市时间。

JetPack 包括带有引导加载程序的 Jetson Linux、Linux 内核、Ubuntu 桌面环境和 用于加速 GPU 计算、多媒体、图形和计算机视觉的完整库集。它 还包括适用于主机和开发人员工具包的示例、文档和开发人员工具,以及 支持更高级别的 SDK,例如用于流式视频分析的 DeepStream、用于机器人的 Isaac 和 Riva 用于对话式 AI。

本文采用的是jetpack5.1.3版本,本篇教程>=5.1.1操作完全相同,本文采用jetpack5.1.3,这里不过多介绍。

Conda

由于某些库依赖的版本不太一样 如openCV ,建议使用miniconda 因为Anaconda的比较重量级 不是很轻量。

安装MiniConda

以下是快捷安装指令,需要注意的是我们安装的是aarch64版本

#安装指令
mkdir -p ~/miniconda3
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-aarch64.sh -O ~/miniconda3/miniconda.sh
bash ~/miniconda3/miniconda.sh -b -u -p ~/miniconda3
rm -rf ~/miniconda3/miniconda.sh
​
#环境配置
~/miniconda3/bin/conda init bash
~/miniconda3/bin/conda init zsh

请在完成以上指令后关闭当前终端并打开一个新终端

#输入以下指令
conda

安装成功的效果图应该如下

conda

新建py3.8的环境
conda create -n ppi python=3.8
conda activate ppi

Paddle Inference

Paddle Inference 是飞桨的原生推理库,提供服务器端的高性能推理能力。由于 Paddle Inference 能力直接基于飞桨的训练算子,因此它支持飞桨训练出的所有模型的推理。

环境检查

如果你使用了conda,请用以下指令检查当前使用的pip是否来自你conda里的py3.8版本

which pip
安装

这里只讲2.6版本的Paddle Inference安装,需要其它版本可以参考官网

python 3.8 的话 使用 paddlepaddle_gpu-2.6.0-cp38-cp38m-linux_aarch64.whl

这里选择的是这个版本,如果你的jetpack版本较老,可自行前往官网寻找合适的版本 下面是快捷安装指令

wget https://paddle-inference-lib.bj.bcebos.com/2.6.0/python/Jetson/jetpack5.1.1_gcc9.4/all/paddlepaddle_gpu-2.6.0-cp38-cp38-linux_aarch64.whl -O paddlepaddle_gpu-2.6.whl
pip install paddlepaddle_gpu-2.6.whl
rm -rf paddlepaddle_gpu-2.6.whl

你可以简单地通过import paddle来检查是否安装成功

PaddleOCR

和线上赛的SUB区别不大

安装
pip install "paddleocr>=2.0.1" # 推荐使用2.0.1+版本

若无报错则安装成功

测试demo

文件结构

model里面存放用来预测的res模型

我们这里采用最新的PPOCR v4 模型

predict.py是我们的预测代码

可以在里面存放我们想要测试的代码

from paddleocr import PaddleOCR
​
#初始化ocr
ocr = PaddleOCR(lang='ch',
                rec_model_dir='./model'
                )
​
def get_result(image:str)->str:
    """获取预测结果"""
    result = ocr.ocr(image)
    text = ""
    for i in result[0]:
        text += i[1][0]+'\n'
    return text
​
#设置图标路径,这里建议使用绝对路径
img="/home/nano/code/ocr/test/1.jpg"
​
print(get_result(img))

更多推荐