opensource-demo-PaddleOCR-241115:基于 PaddleOCR 的 Ascend NPU 部署项目

PaddleOCR Configuration and Operation on Ascend NPU .

分支1Tags0

PaddleOCR 在 Ascend NPU 上的部署指南

PaddleOCR 是由 PaddlePaddle 团队开发的强大 OCR 工具包,支持多种文本检测和识别任务。本指南旨在帮助用户在Kunpeng CPU 和 Ascend NPU 环境中部署 PaddleOCR,以实现文本检测和识别功能。

1. 安装环境

使用npu-smi-info命令检查npu硬件状态。如果 Health 状态为 OK,说明 NPU 和 CANN 正常运行。

拉取 Docker 镜像并创建容器。

docker pull registry.baidubce.com/device/paddle-npu:cann80RC1-ubuntu20-aarch64-gcc84-py39

docker run -it --name paddle-npu-dev -v $(pwd):/work \
	--privileged --network=host --shm-size=128G -w=/work \
	-v /usr/local/Ascend/driver:/usr/local/Ascend/driver \
	-v /usr/local/bin/npu-smi:/usr/local/bin/npu-smi \
	-v /usr/local/dcmi:/usr/local/dcmi \
	-e ASCEND_RT_VISIBLE_DEVICES="0,1,2,3,4,5,6,7" \
	registry.baidubce.com/device/paddle-npu:cann80RC1-ubuntu20-$(uname -m)-gcc84-py39 /bin/bash

安装paddlepaddle及其npu插件包。

pip install paddlepaddle -i https://www.paddlepaddle.org.cn/packages/nightly/cpu
pip install paddle-custom-npu -i https://www.paddlepaddle.org.cn/packages/nightly/npu

安装所需依赖环境。

git clone https://github.com/PaddlePaddle/PaddleOCR.git
cd PaddleOCR

apt-get install -y patch mesa-libGL rsync

pip install -r requirements.txt 
pip install python-docx beautifulsoup4

2. 执行代码

将本项目文件克隆到 PaddleOCR 项目的根目录。

git clone --depth 1 --filter=blob:none https://gitcode.com/can_glan/opensource-demo-PaddleOCR-241115.git temp_repo
rsync -av --exclude='.git' --exclude='*.md' --ignore-existing temp_repo/ .
rm -rf temp_repo

运行 run_ocr.py 脚本来执行文本检测和识别任务。

python run_ocr.py

获取识别结果和输出图像 results.jpg。

3. 注意事项

CANN 版本要求:

当前 PaddlePaddle 框架对 Ascend NPU 的适配仅支持特定版本的 CANN,可能需要升级 CANN 驱动版本以确保兼容性和性能。

初始化 PaddleOCR 模型时:

不要显式设置 use_npu=True,因为这可能会影响推理速度。框架会自动检测并使用 NPU 进行加速。

模型下载失败时:

如果代码无法下载模型文件,请手动下载模型文件,并调整代码指向本地模型路径。

处理 PNG 图像时:

移除图像中的 iCCP 配置文件可以防止在处理 PNG 格式图像时出现错误。

4. 相关链接

PaddleOCR 项目地址:https://github.com/PaddlePaddle/PaddleOCR

本项目的详细步骤: CSDN Blog Link

本项目的心得总结: Huawei Cloud Blog Link

5. 致谢

感谢 PaddleOCR 团队为社区提供如此强大且用户友好的 OCR 工具包。也感谢华为Kunpeng CPU 和 Ascend NPU 的支持,使我们在高性能计算平台上实现文本识别变得更加便捷和高效。

项目介绍

PaddleOCR Configuration and Operation on Ascend NPU .

定制我的领域

下载使用量

0

项目总下载次数(含Clone、Pull、 zip 包及 release 下载),每日凌晨更新

语言类型

Python100%