华为云AI开发平台ModelArts开发AI应用_云淘科技
准备模型
AI应用开发的前序步骤是模型训练,因此开始进行AI应用开发时,您已经有训练优化好的可使用的模型了。当前ModelBox GPU镜像支持的模型类型有TensorRT和PyTorch模型,具体的版本号在您创建开发环境选择镜像时镜像名称中可以看到。
如果您的模型不是TensorRT和PyTorch模型,需要重新训练成这两种引擎的模型或者将模型转换后再继续,推荐使用TensorRT模型。TensorRT 7.1的模型转换请参考官方指导和样例。
ModelArts训练平台的训练模型输出通常存放在OBS桶中,您可以将模型先从OBS下载到本地,然后再将本地模型文件拖拽到工程中对应的目录下,等待VSCode下方的上传进度执行完即可。
创建空模板
用户可以基于空模板进行实例应用的开发。
图1 创建工程
输入工程名称、工程路径以及选择工程模板,这里选择“empty”模板。点击“Confirm”开始创建。
开发流程图
流程图(Graph)是应用逻辑的表述,ModelBox将根据流程图构建应用的处理逻辑,因此在AI应用开发中,流程图的开发是首要进行的,流程图开发完毕后,才能明确需要开发的功能单元。图文件为graph目录下的toml文件。
流程图的格式如下,关于图的编写语法可以查看Graphviz DOT的指导。
[driver] dir = ["build/drivers"] #指定功能单元等驱动加载路径,可以指定多个,逗号分隔,编译后的功能单元位于build/drivers [log] level="INFO" [flow] desc = "example" [graph] format = "graphviz" #流程图的格式,目前仅支持graphviz graphconf = '''digraph example { node [shape=Mrecord] queue_size = 32 batch_size = 1 # 在此处编写自己的流程图 }'''
开发功能单元
功能单元的类型有三种:cpp/python/infer,分别对应c++开发的功能单元、python开发的功能单元、以及推理功能单元。
新建推理功能单元
右键工程列表中的当前工程,点击“Create Flowunit”,输入流单元名称,流单元类型选择“infer”。流单元目录使用默认的路径。
图2 新建功能单元
图3 新建功能单元
在开发推理功能单元时,只需要提供独立的toml配置文件,指定推理功能单元的基本属性即可,其目录结构为:
[some-flowunit] |---[some-flowunit].toml // 配置文件 |---[model].engine // 模型文件
cpp/python功能单元
这里以cpp功能单元为例,右键工程列表中的当前工程,点击“Create Flowunit”,输入流单元名称,流单元类型选择“cpp”。流单元目录使用默认的路径:
编排好toml图后,单击“Run>Run Without Debugging”或者使用快捷键Ctrl+F5运行程序。:
图4 运行程序
更多开发指导和ModelBox接口信息,请请参考ModelBox文档:开发ModelBox应用。
父主题: AI应用开发和调试
同意关联代理商云淘科技,购买华为云产品更优惠(QQ 78315851)
内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家