✏️
BMNNSDK2开发手册
  • BM1684 BMNNSDK2 入门手册
  • 一、BMNNSDK2软件包
    • 1.1 BMNNSDK2 简介
    • 1.2 BMNNSDK2 文档
    • 1.3 基本概念介绍
    • 1.4 获取BMNNSDK2 SDK
    • 1.5 安装BMNNSDK2 SDK
      • 1.5.1 环境配置-Linux
      • 1.5.2 环境配置-Windows
      • 1.5.3 环境配置-SoC
    • 1.6 更新BMNNSDK
    • 1.7 参考样例简介
    • 1.8 BMNNSDK2更新记录
    • 1.9 BMNNSDK2已知问题
  • 二、快速入门
    • 2.1 跑通第一个例子:综述
    • 2.2 跑通第一个例子:模型迁移
    • 2.3 跑通第一个例子:算法迁移
  • 三、网络模型迁移
    • 3.1 模型迁移概述
    • 3.2 FP32 模型生成
      • 3.2.1 编译Caffe模型
      • 3.2.2 编译TensorFlow模型
      • 3.2.3 编译MXNet模型
      • 3.2.4 编译PyTorch模型
      • 3.2.5 编译 Darknet 模型
      • 3.2.6 编译ONNX模型
      • 3.2.7 编译Paddle模型
    • 3.3 INT8 模型生成
      • 3.3.1 准备lmdb数据集
      • 3.3.2 生成FP32 Umodel
      • 3.3.3 生成INT8 Umodel
      • 3.3.4 精度测试
      • 3.3.5 生成INT8 Bmodel
      • 3.3.6 auto_cali一键量化工具
    • 3.4 实例演示
      • 3.4.1 create_lmdb_demo
      • 3.4.2 classify_demo
      • 3.4.3 face_demo
  • 四、算法移植
    • 4.1 算法移植概述
    • 4.2 C/C++编程详解
    • 4.3 Python编程详解
    • 4.4 解码模块
    • 4.5 图形运算加速模块
    • 4.6 模型推理
    • 4.7 实例演示
  • 五、打包和发布
    • 5.1 概述
    • 5.2 PCIE加速卡模式
    • 5.3 SOC模式
  • 附录
由 GitBook 提供支持
在本页
  1. 一、BMNNSDK2软件包

1.1 BMNNSDK2 简介

上一页BM1684 BMNNSDK2 入门手册下一页1.2 BMNNSDK2 文档

最后更新于3年前

BMNNSDK2是算能科技基于其自主研发的 AI 芯片所定制的深度学习SDK,涵盖了神经网络推理阶段所需的模型优化、高效运行时支持等能力,为深度学习应用开发和部署提供易用、高效的全栈式解决方案。

1.1.1 BMNNSDK2 由 Compiler,Library和 Examples 部分组成:

  • Compiler 负责对第三方深度学习框架下训练得到的神经网络模型进行离线编译和优化,生成最终运行时需要的 BModel。目前支持Caffe、Darknet、MXNet、ONNX、PyTorch、PaddlePaddle、TensorFlow等。

  • Library提供了BM-OpenCV、BM-FFmpeg、BMCV、BMRuntime、BMLib等库,用来驱动VPP、VPU、JPU、TPU等硬件,完成视频图像编解码、图像处理、张量运算、模型推理等操作,供用户进行深度学习应用开发。

  • Examples提供了SoC和x86环境下的多个例子,供用户在深度学习应用开发过程中参考。

1.1.2 当前BMNNSDK2提供了两个文件,具体文件如下表所示:

文件名

备注

bmnnsdk2-bm1684_vx.x.x.tar.gz

bmnnsdk x86平台开发包,支持cmodel,pcie,soc和arm_pcie模式

bmnnsdk2-bm1684-ubuntu.docker

bmnnsdk编译开发用的docker

1.1.3 解压后的SDK文件结构如下:

后续使用${BMNNSDK}来指代SDK解压后的根目录:在宿主机上时,它是您解压文件时指定的存放文件的路径;在docker容器中时,若您没有修改SDK下的创建容器脚本,该路径默认为/workspace。

BMNNSDK2

├── bin                    # 各个平台的相关工具
│   ├── arm                # soc平台,对应SE5/SM5设备
│   ├── arm_pcie           # ARM指令集CPU的服务器主机
│   ├── fib.bin            # 
│   ├── firmware           # BM1684中MCU的固件
│   ├── loongarch64        # loongarch指令集CPU的服务器主机
│   ├── mips64             # MIPS指令集CPU的服务器主机
│   ├── ramboot_rootfs.itb # 
│   ├── spi_flash.bin      #
│   ├── sw64               # SW64指令集CPU的服务器主机
│   └── x86                # intel x86主机
├── bmlang                 # 面向Sophon TPU的高级编程接口
├── bmnet                  # Compiler工具的可执行文件或pip安装whl包或文件
│   ├── bmcompiler         # compiler
│   ├── bmlog              # 日志模块
│   ├── bmnetc             # Caffe Compiler
│   ├── bmnetd             # Darknet Compiler
│   ├── bmnetm             # MXNet Compiler
│   ├── bmneto             # ONNX Compiler
│   ├── bmnetp             # Pytorch Compiler
│   ├── bmnett             # TensorFlow Compiler
│   ├── bmnetu             # int8 Umodel compiler
│   ├── bmpaddle           # PaddlePaddle Compiler 
│   ├── bmprofile          # 性能分析工具
│   ├── bmtflite           # TFLite Compiler
│   ├── bmusercpu          # 使用1684上的A53 arm cpu相关的源文件
│   ├── calibration        # 量化工具ufw安装包
│   └── debugtools         # 调试工具源码
├── documents              # 用户手册
├── driver                 # PCIE卡设备驱动源码
├── examples               # 示例代码
├── include                # 运行库头文件,供二次开发使用,每个模块一个文件夹
├── lib                    # 运行库及第三方库,供运行时和二次开发使用
├── release_version.txt    # SDK发布版本号
├── res                    # 测试图片
├── scripts                # 常用脚本:驱动安装、软件库安装、环境变量设置
├── run_docker_bmnnsdk.sh  # Docker启动脚本
└── test                   # 测试脚本,用户无需关注