解码器开发
解码器包含加载器、深度学习计算模块、及适配两者的中间件。其中加载器由平台处下载获取,中间件及计算模块由AI能力开发者进行开发
C/C++
Python
开发流程
开发包获取:
- 通过AI引擎托管平台对应加载器下载页,依据不同系统及开发语言,下载对应版本的加载器开发包
中间件开发:
开发者根据中间件接口文档及AI能力自身的交互属性,选择对应的中间件接口进行开发。其中[1]必须实现,[2]/[3]实现其一
[1] 通用接口:wrapperInit/wrapperFini/wrapperError
[2] 流式交互接口集合(如实时语音流识别),对应服务接口类型为WebSocket:wrapperCreate/wrapperWrite/wrapperRead/wrapperDestroy
[3] 单次交互接口集合(如图像识别),对应服务接口类型为http:
wrapperExec/wrapperExecFree
注:无需调用的接口需要空实现
中间件构建:
- 构建输出产物libwrapper.so,共计12个接口符号均导出可见
解码器运行:
创建解码器运行目录:/example
将加载器开发包中内容拷贝至解码器目录:cp -r ./dev/* /example/
将libwrapper.so拷贝至解码器目录,保证libwrapper.so与加载器主程序(AIservice)处于同一目录:cp ./libwrapper.so /example/
创建配置文件local.toml,配置section为[wrapper],编辑中间件初始化接口所需传入的配置对,其中key及value均为string类型,如下:
[wrapper]
“key1” = "value1"
"key2" = "value2"
使用解码器运行目录中的start.sh脚本启动解码器
解码器测试:
解码器打包:
使用开发包中通用测试工具,通过接口文档输入进行测试验证
验证成功后将整体运行环境进行打包,上传至S3云存储空间