MindSpore Lite提供多model并发推理接口ModelParallelRunner,多model并发推理现支持Ascend 310/310P/910、Nvidia GPU、CPU后端。
通过MindSpore导出mindir
模型,或者由模型转换工具转换获得mindir
模型后,即可在Runtime中执行模型的并发推理流程。本教程介绍如何使用Java接口执行多model并发推理。
使用MindSpore Lite并发推理主要包括以下步骤:
以下代码样例来自于使用Java接口执行云侧推理示例代码。
通过MindSpore导出MindIR模型,或者由模型转换工具转换获得MindIR模型,并将其拷贝到mindspore/lite/examples/cloud_infer/quick_start_parallel_java/model
目录,可以下载MobileNetV2模型文件mobilenetv2.mindir。
从官网下载Ascend、Nvidia GPU、CPU三合一的MindSpore Lite云侧推理包mindspore-lite-{version}-linux-{arch}.tar.gz
,并存放到mindspore/lite/examples/cloud_infer/quick_start_parallel_java
目录。
配置项RunnerConfig会保存一些并发推理所需的基本配置参数,用于指导并发model数量以及模型编译和模型执行;
下面示例代码演示了如何创建RunnerConfig,并配置并发推理的worker数量。
// use default param init context
MSContext context = new MSContext();
context.init(1,0);
boolean ret = context.addDeviceInfo(DeviceType.DT_CPU, false, 0);
if (!ret) {
System.err.println("init context failed");
context.free();
return ;
}
// init runner config
RunnerConfig config = new RunnerConfig();
config.init(context);
config.setWorkersNum(2);
Context的配置方法详细见Context。
多model并发推理现阶段支持CPUDeviceInfo、GPUDeviceInfo、AscendDeviceInfo几种不同的硬件后端。在设置GPU后端的时候需要先设置GPU后端再设置CPU后端,否则会报错退出。
多model并发推理不支持FP32类型数据推理,绑核只支持不绑核或者绑大核,不支持绑中核的参数设置,且不支持配置绑核列表。
使用MindSpore Lite执行并发推理时,ModelParallelRunner是并发推理的主入口,通过ModelParallelRunner可以初始化以及执行并发推理。采用上一步创建得到的RunnerConfig,调用ModelParallelRunner的Init接口来实现ModelParallelRunner的初始化。
// init ModelParallelRunner
ModelParallelRunner runner = new ModelParallelRunner();
ret = runner.init(modelPath, config);
if (!ret) {
System.err.println("ModelParallelRunner init failed.");
runner.free();
return;
}
ModelParallelRunner的初始化,可以不设置RunnerConfig配置参数,则会使用默认参数进行多model的并发推理。
MindSpore Lite调用ModelParallelRunner的Predict接口进行模型并发推理。
ret = runner.predict(inputs,outputs);
if (!ret) {
System.err.println("MindSpore Lite predict failed.");
freeTensor();
runner.free();
return;
}
无需使用MindSpore Lite推理框架时,需要释放已经创建的ModelParallelRunner。
freeTensor();
runner.free();
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。