littlebot
Published on 2025-04-08 / 0 Visits
0

【源码】基于PaddlePaddle框架的墨芯AI模型开发与推理系统

项目简介

本项目围绕墨芯软件栈开展,此软件栈涵盖生态层、稀疏化层、SDK层、Driver层和硬件层。它支持多种主流AI技术,能为用户提供从模型训练到推理的一站式解决方案。同时针对PaddlePaddle框架,详细说明了模型编译和推理流程,还对部分Paddle模型进行了全流程测试。

项目的主要特性和功能

  1. 广泛的生态支持:支持ONNX、TensorFlow、PyTorch、PaddlePaddle等主流AI技术,可降低用户研发成本,获取稀疏化收益。
  2. 稀疏化训练:提供SparseOPT组件,能与训练框架协同,助力用户训练稀疏神经网络。
  3. 丰富的SDK组件
    • SparseRT:具备稀疏化模型的编译、推理及调试能力,提供Python、C++接口和相关工具。
    • Codec:提供图像、视频编解码开发接口。
    • SOLA Runtime:提供灵活的硬件控制能力,便于开发复杂高性能AI应用。
  4. 驱动支持:为墨芯稀疏化AI推理卡提供驱动,包括SOLA SEAL (KMD & UMD)、虚拟化组件、容器化组件等。
  5. 模型开发与测试:详细给出Paddle模型在moffett板卡上的编译和推理流程,并对部分模型进行全流程测试。

安装使用步骤

前提条件

假设用户已经下载了本项目的源码文件,并且已经完成相关依赖的安装。

Paddle模型编译

  1. 创建Paddle模型目录并放入模型文件,例如: ```bash

resnet50

mkdir -p /my_project/paddle_model/resnet50 cd /my_project/paddle2onnx/paddle_model/resnet50 wget https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/inference/ResNet50_infer.tar

bert

mkdir -p /my_project/paddle_model/bert_base_uncased 2. 将Paddle模型编译为runtime可执行的model.bin文件,例如:bash

PaddleClass Model

python3 compiler/compile_PaddleClas.py /my_project/paddle_model/resnet50/inference.pdmodel -o compile_output/resnet50

Bert Model

python3 compiler/compile_bert_base.py /my_project/paddle_model/bert_base_uncased/inference.pdmodel -o compile_output/bert-base-uncased ```

板卡上推理

使用编译生成的模型文件modle.bin在moffett板卡上进行推理测试,例如: ```bash

PaddleClass Model

cd /home/moffett/workspace/paddle/PaddleClas sudo python3 tools/eval.py -c ppcls/configs/ImageNet/ResNet/ResNet50.yaml -m./my_projectcompile_output/resnet50/model.bin

Bert Model

cd /my_project/PaddleNLP/model_zoo/bert sudo bash test_accuracy.sh /my_project/compile_output/bert-base-uncased/uncased/model.bin ```

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】