Skip to content

Commit 30cb05b

Browse files
authored
【Hackathon 4th No.180】在FastDeploy中集成集成地平线推理引擎 (#410)
* 【Hackathon 4th No.180】在FastDeploy中集成集成地平线推理引擎 * 【Hackathon 4th No.180】在FastDeploy中集成集成地平线推理引擎 修改部分表述和排期安排 * 【Hackathon 4th No.180】在FastDeploy中集成集成地平线推理引擎 增加需验证的具体模型
1 parent e45121c commit 30cb05b

File tree

1 file changed

+85
-0
lines changed

1 file changed

+85
-0
lines changed
Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
# 在FastDeploy中集成集成地平线推理引擎,在PP-YOLOE完成模型转换测试
2+
3+
| 领域 | 飞桨文档体验方案 |
4+
|----------------------------------------------------------|-------------------------------------------|
5+
| 提交作者<input type="checkbox" class="rowselector hidden"> | seyosum |
6+
| 提交时间<input type="checkbox" class="rowselector hidden"> | 2023-03-04 |
7+
| 版本号 | V1.0 |
8+
| 依赖飞桨版本<input type="checkbox" class="rowselector hidden"> | paddlepaddle-gpu==0.0 |
9+
| 文件名 | 20230304_horizon_for_FastDeploy.md<br> |
10+
11+
# 一、概述
12+
## 1、相关背景
13+
完成地平线AI推理引擎接入Fastdeploy工作,同时将PP-YOLOE转换为板端模型,确保模型推理结果正确。
14+
15+
[https://github.com/PaddlePaddle/Paddle/issues/50631#task180](https://github.com/PaddlePaddle/Paddle/issues/50631#task180)
16+
17+
## 2、功能目标
18+
将地平线推理引擎接入FastDeploy,开发HorizonBackends部分。
19+
## 3、意义
20+
FastDeploy增添地平线推理引擎,提高开发者开发效率。
21+
22+
# 二、地平线芯片开发现状
23+
24+
开发地平线端侧芯片需要阅读大量开发手册,短时间内难以上手,且文档内容较为分散,提取有效信息较为困难,且当前未有第三方框架对其进行集成。
25+
26+
# 三、业内方案调研
27+
28+
目前FastDeploy已经将瑞芯微端侧推理集成到整体框架中,大大提高了开发者的开发效率。
29+
30+
# 四、对比分析
31+
32+
大部分AI芯片的开发大概可分为前处理开发、推理引擎开发、后处理开发三部分,主要的工作主要在推理引擎开发部分,其核心在于将地平线的API集成入backends中,需要实现的方法主要是输入输出信息的获取、模型的初始化、infer。
33+
34+
35+
# 五、设计思路与实现方案
36+
37+
## 1、主体设计思路与折衷
38+
参考技术文档跑通示例Demo,完成相关API的提取。
39+
### 主体设计具体描述
40+
1. 模型转换文档
41+
42+
2. 编译环境cmake集成
43+
44+
3. backends编写、调试
45+
46+
4. 将backends集成进FastDeploy
47+
48+
5. ResNet50分类模型验证正确性
49+
50+
6. 验证PP-YOLOE正确性
51+
52+
53+
54+
## 2、关键技术点/子模块设计与实现方案
55+
将地平线推理API集成进行Backends是本方案的核心部分,需要参考地平线技术文档。
56+
57+
## 3、主要影响的模块接口变化
58+
不影响FastDeploy接口。
59+
60+
# 六、测试和验收的考量
61+
推理结果正确,且无内存泄露。
62+
63+
# 七、影响面
64+
65+
## 对用户的影响
66+
单独Demo项目,对用户无影响。
67+
## 对二次开发用户的影响
68+
单独Demo项目,对用户无影响。
69+
## 对框架架构的影响
70+
71+
## 对性能的影响
72+
73+
## 对比业内深度学习框架的差距与优势的影响
74+
75+
## 其他风险
76+
无开发地平线芯片经验,但具有开发瑞芯微、联咏芯片经验,且已经完成联咏芯片的FastDeploy适配(暂未获得开源许可)
77+
78+
# 八、排期规划
79+
* 环境搭建并跑通参考项目(2023-3-10)
80+
* backends编写(2023-3-10至2023-3-20)
81+
* FastDeploy集成(2023-3-20至2023-3-22)
82+
* ResNet50分类模型测试(2023-3-22至2023-3-23)
83+
* 测试PP-YOLOE模型的正确性,检查有无内存泄露(2023-3-23至2023-3-30)
84+
* 提交PR(2023-3-30)
85+

0 commit comments

Comments
 (0)