Class ModelParallelRunner

#include <model_parallel_runner.h>

ModelParallelRunner定义了MindSpore的多个Model以及并发策略,便于多个Model的调度与管理。

构造函数

ModelParallelRunner()

析构函数

~ModelParallelRunner()

公有成员函数

函数

云侧推理是否支持

端侧推理是否支持

inline Status Init(const std::string &model_path, const std::shared_ptr<RunnerConfig> &runner_config = nullptr)

Status Init(const void *model_data, const size_t data_size, const std::shared_ptr<RunnerConfig> &runner_config = nullptr)

std::vector<MSTensor> GetInputs()

std::vector<MSTensor> GetOutputs()

Status Predict(const std::vector<MSTensor> &inputs, std::vector<MSTensor> *outputs, const MSKernelCallBack &before = nullptr, const MSKernelCallBack &after = nullptr)

Init

inline Status Init(const std::string &model_path, const std::shared_ptr<RunnerConfig> &runner_config = nullptr)

根据路径读取加载模型,生成一个或者多个模型,并将所有模型编译至可在Device上运行的状态。该接口支持传入ms模型(converter_lite工具导出)和mindir模型(MindSpore导出或converter_lite工具导出),但对ms模型的支持,将在未来的迭代中删除,推荐使用mindir模型进行推理。当使用ms模型进行推理时,请保持模型的后缀名为.ms,否则无法识别。

  • 参数

    • model_path: 模型文件路径。

    • runner_config: 一个RunnerConfig类。定义了并发推理模型的配置参数。

  • 返回值

    状态码类Status对象,可以使用其公有函数StatusCodeToString函数来获取具体错误码及错误信息。

Init

Status Init(const void *model_data, const size_t data_size, const std::shared_ptr<RunnerConfig> &runner_config = nullptr)

根据模型文件数据,生成一个或者多个模型,并将所有模型编译至可在Device上运行的状态。该接口仅支持传入mindir模型文件数据。

  • 参数

    • model_data: 模型文件数据。

    • data_size: 模型文件数据大小。

    • runner_config: 一个RunnerConfig类。定义了并发推理模型的配置参数。

  • 返回值

    状态码类Status对象,可以使用其公有函数StatusCodeToString函数来获取具体错误码及错误信息。

Predict

Status Predict(const std::vector<MSTensor> &inputs, std::vector<MSTensor> *outputs,
                 const MSKernelCallBack &before = nullptr, const MSKernelCallBack &after = nullptr)

并发推理模型。

  • 参数

    • inputs: 模型输入按顺序排列的vector

    • outputs: 输出参数,按顺序排列的vector的指针,模型输出会按顺序填入该容器。

    • before: 一个MSKernelCallBack 结构体。定义了运行每个节点之前调用的回调函数。

    • after: 一个MSKernelCallBack 结构体。定义了运行每个节点之后调用的回调函数。

  • 返回值

    状态码类Status对象,可以使用其公有函数StatusCodeToString函数来获取具体错误码及错误信息。

GetInputs

std::vector<MSTensor> GetInputs()

获取模型所有输入张量。

  • 返回值

    包含模型所有输入张量的容器类型变量。

GetOutputs

std::vector<MSTensor> GetOutputs()

获取模型所有输出张量。

  • 返回值

    包含模型所有输出张量的容器类型变量。