4.1. 移植开发综述
4.1.1. 算法移植流程
基于SOPHON BM1688/CV186AH进行产品开发会经历如下几个阶段:
评测选型: 根据应用场景,确定使用的产品形态。
模型迁移: 将原始深度学习框架下训练生成的模型转换为BM1688/CV186AH平台运行的FP32/FP16/INT8/INT4 BModel模型。
算法移植: 基于BM1688/CV186AH硬件加速接口,对模型的前后处理及推理现有算法进行移植。
程序移植: 移植任务管理、资源调度等算法引擎代码及逻辑处理、结果展示、数据推送等业务代码。
测试调优: 网络性能与精度测试、压力测试,基于网络编译、量化工具、多卡多芯、任务流水线等方面的深度优化。
部署联调: 将算法服务打包部署到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。