基于昇腾NPU部署PP-YOLOE-L_human模型

举报
HuaweiCloudDeveloper 发表于 2026/01/07 10:38:57 2026/01/07
【摘要】 一、运行环境准备1.拉取镜像docker pull ccr-2vdh3abv-pub.cnc.bj.baidubce.com/device/paddle-npu:cann800-ubuntu20-npu-910b-base-aarch64-gcc842.启动容器docker run -it --name paddle-npu-dev -v $(pwd):/work \    --privil...

一、运行环境准备

1.拉取镜像

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

2启动容器

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" \

ccr-2vdh3abv-pub.cnc.bj.baidubce.com/device/paddle-npu:cann800-ubuntu20-npu-910b-base-$(uname -m)-gcc84 /bin/bash

参数说明:

--name paddle-npu-dev

作用:指定容器名称。

-v $(pwd):/work

作用:挂载本地目录到容器内 /work 目录。

可调整:

可以修改 $(pwd) 为实际路径,例如 -v /data/projects:/work,让容器访问宿主机的数据。

--shm-size=128G

作用:设置共享内存大小,影响数据处理和计算效率。

可调整:

若内存有限,可降低,如 --shm-size=32G,但可能影响大规模训练。

若训练任务需要更大共享内存,可提高,如 --shm-size=256G

3安装飞桨 CPU 安装包

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

4安装飞桨 NPU 插件包

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

5安装 PaddleX 代码库

git clone https://github.com/PaddlePaddle/PaddleX.git

cd PaddleX

pip install -e .(注意带上最后的”.”)

6安装目标检测库

paddlex --install PaddleDetection

二、数据准备

1Demo 数据下载

cd PaddleX

wget https://paddle-model-ecology.bj.bcebos.com/paddlex/data/widerperson_coco_examples.tar -P ./dataset

tar -xf ./dataset/widerperson_coco_examples.tar -C ./dataset/

2数据校验

python main.py -c paddlex/configs/modules/human_detection/PP-YOLOE-L_human.yaml \

    -o Global.mode=check_dataset \

-o Global.dataset_dir=./dataset/widerperson_coco_examples

命令运行成功后会在log中打印出Check dataset passed !信息

三、模型训练

# 解决 libgomp arm 机器上报错

# "libgomp cannot allocate memory in static TLS block"

export LD_PRELOAD=/usr/local/lib/python3.10/dist-packages/scikit_learn.libs/libgomp-d22c30c5.so.1.0.0:/usr/lib/aarch64-linux-gnu/libGLdispatch.so.0:/usr/lib/aarch64-linux-gnu/libgomp.so.1

执行命令开启训练:

python main.py -c paddlex/configs/modules/human_detection/PP-YOLOE-L_human.yaml \

    -o Global.mode=train \

    -o Global.dataset_dir=./dataset/widerperson_coco_examples \

    -o Global.output=ppyoloe_l_human_output \

-o Global.device="npu:0,1,2,3"

四、模型评估

python main.py -c paddlex/configs/modules/human_detection/PP-YOLOE-L_human.yaml \

    -o Global.mode=evaluate \

-o Global.dataset_dir=./dataset/widerperson_coco_examples \

-o Evaluate.weight_path=./ppyoloe_l_human_output/best_model/best_model/model.pdparams \

-o Global.device="npu:0,1,2,3"

五、模型推理

python main.py -c paddlex/configs/modules/human_detection/PP-YOLOE-L_human.yaml \

    -o Global.mode=predict \

    -o Predict.model_dir="./ppyoloe_l_human_output/best_model/inference" \

    -o Predict.input="https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/human_detection.jpg" \

-o Global.device="npu:0,1,2,3"

 

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。