4.1. 移植开发综述

4.1.1. 算法移植流程

基于SOPHON BM1688/CV186AH进行产品开发会经历如下几个阶段:

  1. 评测选型: 根据应用场景,确定使用的产品形态。

  2. 模型迁移: 将原始深度学习框架下训练生成的模型转换为BM1688/CV186AH平台运行的FP32/FP16/INT8/INT4 BModel模型。

  3. 算法移植: 基于BM1688/CV186AH硬件加速接口,对模型的前后处理及推理现有算法进行移植。

  4. 程序移植: 移植任务管理、资源调度等算法引擎代码及逻辑处理、结果展示、数据推送等业务代码。

  5. 测试调优: 网络性能与精度测试、压力测试,基于网络编译、量化工具、多卡多芯、任务流水线等方面的深度优化。

  6. 部署联调: 将算法服务打包部署到BM1688/CV186AH硬件产品上,并在实际场景中与业务平台或集成平台进行功能联调。

4.1.2. 典型视频深度学习分析任务

一个典型的深度学习视频分析任务通常包括:视频/图片解码、预处理、推理、后处理、视频/图片编码等环节。SOPHON设备对各环节的硬件加速支持情况如下:

算法步骤

支持硬件加速

sophon-OpenCV

sophon-FFmpeg

Native接口

视频/图片编解码

支持

Y

Y

BMCV(图片)/SAIL

输入预处理

支持

Y

N

BMCV/SAIL

模型推理

支持

N

N

BMRuntime/SAIL

输出后处理

部分支持

N

N

BMCV

  • MLIR模型支持情况和测试的模型案例,请参见doc目录下的《 TPU-MLIR快速入门指南 》的附录七,已支持的算子章节的描述。

  • 典型的图像分类、检测、分割算法实现可以参考sophon-demo,关于使用多线程构建多模型推理任务可参考sophon-stream。