软件包格式
AI应用针对不同的操作系统存在不同的软件包形式,具体支持类型如下表所示:
表 1
- 通用Linux系统场景
用户可以使用多种软件包格式对应用进行打包。包括rpm、deb和whl。ModelBox软件运行包分为两层,基础框架包组和应用包。如下表zh-cn_topic_0000001102712276.md所示。其中软件包之间依赖和安装关系由所使用的包管理依赖来保证。
表 2
用户可以选择将应用包安装到自定义位置中,这里推荐安装到/opt/modelbox下,如一个车辆检测应用打包安装路径如下:
C++应用功能单元库 /opt/modelbox/car_detection/lib
Python应用功能单元 /opt/modelbox/car_detection/python
应用推理功能单元 /opt/modelbox/car_detection/model
应用流程图 /opt/modelbox/car_detection/etc/graph
应用配置文件 /opt/modelbox/car_detection/etc
应用主入口 /opt/modelbox/car_detection/bin
- 定制Linux系统
rpm格式
用户使用运行框架执行应用时,应用需要按照一定的格式。
app.config主要参数说明如下表所示:
启动脚本,表明该应用在运行环境中启动应用服务的脚本命令,用户可以自定义启动脚本。固定为[app-root]/bin/main或[app-root]bin/main.sh |
|
app.rpm的打包,用户可以通过使用ModelBox的开发环境,将模型和业务逻辑代码等打包成相应的rpm包;
app.config标明在运行环境中启动业务服务的命令和停止服务的命令,以及业务服务的名字
rpm包中包含用户的业务代码、用户的模型和业务的配置文件
├──{app name}-{version}-{release}.{aarch}.rpm
│ ├── app.config必选:格式见上表
│ ├── bin 必选:用户自定义的业务代码
│ │ ├──main.sh
│ │ ├──main(编译c++程序生成的二进制可执行文件)
│ │ ├──* 其它二进制/可执行文件
│ ├── lib可选:动态库
│ ├── data可选:应用层配置参数
│ ├── model可选:业务的模型
│ ├── etc可选:应用配置文件
│ │ ├──graph 应用流程图
其中{app name}仅支持字母数字和下划线“_”,只能以字母或者下划线开始;{version}仅支持数字和点“.”; {release}仅支持数字; {aarch}仅支持armv7和aarch64。
HarmonyOS场景
暂未发布
Android系统场景
暂未发布