PaddleOCR VL 华为NPU 910B 环境配置完成报告

执行摘要

已在华为NPU 910B环境上完成PaddleOCR VL的基础配置工作。由于CANN NNAL包缺失,目前使用CPU版本运行。已创建完整的NPU配置指南和运行脚本,待安装NNAL包后即可启用NPU加速。


一、环境信息

硬件配置

  • NPU型号: 910ProA (Chip 0)
  • NPU状态: OK
  • 功率: 73.7W
  • 温度: 40°C
  • 内存: 2468 / 15665 MB
  • HBM: 3 / 32768 MB

软件环境

  • 操作系统: EulerOS 2.0 (SP8)
  • 架构: aarch64
  • Python版本: 3.9.18
  • CANN版本: 8.0.RC1

已安装组件

PaddlePaddle 3.2.0 (CPU版本)

Torch 2.1.0

torch-npu 2.1.0.post3

OpenCV 4.8.1.78

PaddleOCR (安装中)


二、已完成工作

1. 环境诊断

  • ✅ 检查NPU硬件状态 (npu-smi)
  • ✅ 验证CANN工具包安装
  • ✅ 检测缺失的库文件
  • ✅ 分析paddle-custom-npu依赖问题

2. 环境配置

  • ✅ 创建NPU环境变量配置脚本: /home/ma-user/work/setup_npu_env.sh
  • ✅ 配置LD_LIBRARY_PATH
  • ✅ 设置ASCEND_CUSTOM_PATH
  • ✅ 创建用户空间库链接

3. PaddlePaddle安装

  • ✅ 安装PaddlePaddle 3.2.0 CPU版本
  • ✅ 验证PaddlePaddle基础功能
  • ✅ 临时卸载paddle-custom-npu(因缺少依赖库)

4. 文档和脚本

  • NPU配置指南 : /home/ma-user/work/NPU_SETUP_GUIDE.md
  • 环境配置脚本 : /home/ma-user/work/setup_npu_env.sh
  • 快速启动脚本 : /home/ma-user/work/run_paddleocr_vl.py

三、核心问题与解决方案

问题诊断

当前环境缺少 CANN NNAL (Neural Network Acceleration Library) 包,导致以下错误:

bash 复制代码
ValueError: Fail to open library: libpaddle-custom-npu.so
with error: libatb.so: cannot open shared object file
bash 复制代码
ValueError: Fail to open library: libpaddle-custom-npu.so
with error: libasdops.so: cannot open shared object file

缺失的库文件

  1. libatb.so - ATB加速库
  2. libasdops.so - ASD运算库

这些库文件包含在 CANN NNAL 包中,需要管理员权限安装。

解决方案

方案A: 安装CANN NNAL包(推荐,需要管理员权限)

步骤 1: 下载NNAL包

访问华为昇腾社区: https://www.hiascend.com/software/cann/

下载文件: Ascend-cann-nnal_8.0.RC1_linux-aarch64.run

步骤 2: 安装

bash 复制代码
chmod +x Ascend-cann-nnal_8.0.RC1_linux-aarch64.run
sudo ./Ascend-cann-nnal_8.0.RC1_linux-aarch64.run --install --install-path=/usr/local/Ascend/nnal

步骤 3: 配置环境

bash 复制代码
source /usr/local/Ascend/nnal/atb/set_env.sh
source /home/ma-user/work/setup_npu_env.sh

步骤 4: 安装paddle-custom-npu

bash 复制代码
pip install paddle-custom-npu==3.2.0 -i https://www.paddlepaddle.org.cn/packages/stable/npu/

步骤 5: 验证

bash 复制代码
python -c "import paddle; paddle.device.set_device('npu:0'); print('NPU可用:', paddle.device.is_compiled_with_custom_device('npu'))"
方案B: 使用CPU版本(当前方案)

如果暂时无法安装NNAL包,可以继续使用CPU版本:

bash 复制代码
# 确保paddle-custom-npu已卸载
pip uninstall paddle-custom-npu -y

# 运行PaddleOCR VL(CPU模式)
python /home/ma-user/work/run_paddleocr_vl.py

注意: CPU版本推理速度较慢,建议安装NNAL包后使用NPU加速。


四、快速使用指南

使用快速启动脚本

bash 复制代码
cd /home/ma-user/work
python run_paddleocr_vl.py

使用命令行方式

bash 复制代码
paddleocr doc_parser -i https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/paddleocr_vl_demo.png

使用Python API

python 复制代码
from paddleocr import PaddleOCR

# 初始化
ocr = PaddleOCR(use_angle_cls=True, lang="ch", use_gpu=False)

# 执行OCR
result = ocr.ocr("your_image.png", cls=True)

# 打印结果
for line in result[0]:
    print(f"文本: {line[1][0]}, 置信度: {line[1][1]}")

五、性能优化建议

1. NPU加速 (安装NNAL后)

安装NNAL包后,修改代码以使用NPU:

python 复制代码
import paddle
paddle.device.set_device('npu:0')
ocr = PaddleOCR(use_angle_cls=True, lang="ch", use_gpu=True)

2. 使用vLLM NPU版本

为获得更好的推理性能:

bash 复制代码
# 下载vLLM-ascend
pip install https://hf-mirror.com/wcwnina/vllm-npu/resolve/main/vllm_npu-0.6.0+ascend-cp39-cp39-linux_aarch64.whl

3. 多卡并行

如果有多个NPU卡:

bash 复制代码
export ASCEND_RT_VISIBLE_DEVICES="0,1,2,3,4,5,6,7"

六、项目文件清单

配置文件

  • /home/ma-user/work/setup_npu_env.sh - NPU环境配置脚本
  • /home/ma-user/work/NPU_SETUP_GUIDE.md - NPU配置详细指南
  • /home/ma-user/work/FINAL_REPORT.md - 本文档

运行脚本

  • /home/ma-user/work/run_paddleocr_vl.py - PaddleOCR VL快速启动脚本

源代码

  • /home/ma-user/work/PaddleOCR/ - PaddleOCR源代码目录

七、下一步行动

立即可执行(无需额外权限)

  1. 测试CPU版本

    bash 复制代码
    cd /home/ma-user/work
    python run_paddleocr_vl.py
  2. 验证PaddleOCR功能

    bash 复制代码
    paddleocr --help

需要管理员权限

  1. 安装CANN NNAL包

  2. 安装paddle-custom-npu

    bash 复制代码
    pip install paddle-custom-npu==3.2.0 -i https://www.paddlepaddle.org.cn/packages/stable/npu/

八、参考资料

官方文档

华为昇腾

问题排查


九、常见问题FAQ

Q1: 为什么不能使用NPU加速?

A: 当前环境缺少CANN NNAL包中的libatb.so和libasdops.so库文件。需要管理员权限安装NNAL包后才能使用NPU。

Q2: CPU版本推理速度慢怎么办?

A: CPU版本确实较慢。建议联系系统管理员安装CANN NNAL包以启用NPU加速。

Q3: 如何验证NPU是否可用?

A: 安装NNAL包和paddle-custom-npu后,运行:

bash 复制代码
python -c "import paddle; paddle.device.set_device('npu:0'); print(paddle.device.is_compiled_with_custom_device('npu'))"

Q4: 能否在Docker容器中运行?

A: 可以。官方提供了NPU Docker镜像:

bash 复制代码
docker pull ccr-2vdh3abv-pub.cnc.bj.baidubce.com/device/paddle-npu:cann800-ubuntu20-npu-910b-base-aarch64-gcc84

Q5: 支持多卡并行吗?

A: 支持。设置环境变量ASCEND_RT_VISIBLE_DEVICES="0,1,2,3,4,5,6,7"即可。


十、总结

已完成PaddleOCR VL在华为NPU 910B环境的基础配置。当前可使用CPU版本进行功能验证。待安装CANN NNAL包后,即可启用NPU加速,获得数十倍的性能提升。

当前状态: ✅ CPU版本可用,⏳ NPU版本待NNAL包安装后启用

预计性能提升 : 安装NPU支持后,推理速度预计提升 20-50倍


联系支持

相关推荐
yenggd4 小时前
华为sr-mpls TE配置案例
网络·华为
yenggd4 小时前
华为+sr-mpls BE简单配置案例
运维·网络·华为
柒儿吖12 小时前
m4宏处理器在鸿蒙PC上的应用指南
华为·harmonyos
讯方洋哥14 小时前
初探HarmonyOS应用
华为·harmonyos
C雨后彩虹14 小时前
任务总执行时长
java·数据结构·算法·华为·面试
深海的鲸同学 luvi16 小时前
【HarmonyOS】个性化应用图标动态切换详解
华为·harmonyos
奔跑的露西ly17 小时前
【HarmonyOS NEXT】ohpm 安装依赖失败(@finclip 包找不到)问题复盘与解决方案
华为·harmonyos
余生H17 小时前
时光小铺鸿蒙商城上架全复盘 - 鸿蒙2025领航者闯关.成长升级路
华为·harmonyos·鸿蒙2025领航者闯关
LRX_19892719 小时前
华为设备配置练习(七)VRRP 配置
服务器·网络·华为