功能单元开发
在完成了流程图编排之后,还需通过功能单元来实现AI应用的实际功能。有关功能单元的详细介绍可以查看基本概念章节,以及相关的功能单元、数据流章节内容。ModelBox提供了多种功能单元的开发接口,本章节内容主要介绍功能单元的开发过程。
功能单元开发类型
ModelBox功能单元的开发可以使用多种语言和方式,根据实现方式差异,功能单元可以分为四种类型:
方式 | 适合场景 | 复杂度 | 链接 |
---|---|---|---|
C++功能单元 | 适合有高性能要求的功能开发,需要编译成so,开发复杂度稍高。 | ⭐️⭐️⭐️ | 指导 |
Python功能单元 | 适合对性能要求不高的业务逻辑开发,适用于应用需要快速上线场景。 | ⭐️⭐️ | 指导 |
推理功能单元 | 适合模型推理类功能的开发,无需写代码,配置好模型即可运行,方便快捷。 | ⭐️ | 指导 |
配置功能单元 | 适合ModelBox提供的特定功能的配置功能单元开发,如YOLO后处理,无需写代码,编写配置即可运行,方便快捷。 | ⭐️ | 指导 |
开发者可以选择使用合适的方式进行开发,也可以多种方式混合。
功能单元开发流程
功能单元的开发总体分为以下几个步骤:
创建功能单元
通过WebUI或者命令行的方式创建出对应设备的功能单元模板。
配置功能单元属性
根据业务需求对功能单元的数据处理类型、输入、输出等关键属性进行配置。
实现功能单元逻辑
根据本功能单元需要完成的功能,实现Open,Process,Close等接口。
编译运行
编译生成动态库以及安装包,安装到系统中,并在流程图配置运行。
每种类型功能单元的开发流程存在部分差异,其中推理功能单元和配置功能单元无需实现功能单元逻辑。详细开发步骤见如下章节: