PaddleOCR Configuration and Operation on Ascend NPU .
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 的支持,使我们在高性能计算平台上实现文本识别变得更加便捷和高效。