Template Class DelegateModel

#include <delegate.h>

DelegateModel定义了MindSpore Lite Delegate机制操作的模型对象。

构造函数

DelegateModel(std::vector<kernel::Kernel *> *kernels, const std::vector<MSTensor> &inputs,
              const std::vector<MSTensor> &outputs,
              const std::map<kernel::Kernel *, const schema::Primitive *> &primitives, SchemaVersion version)

析构函数

~DelegateModel() = default

保护成员

kernels_

std::vector<kernel::Kernel *> *kernels_

Kernel的列表,保存模型的所有算子。

inputs_

const std::vector<mindspore::MSTensor> &inputs_

MSTensor的列表,保存这个算子的输入tensor。

outputs_

const std::vector<mindspore::MSTensor> &outputs

MSTensor的列表,保存这个算子的输出tensor。

primitives_

const std::map<kernel::Kernel *, const schema::Primitive *> &primitives_

Kernelschema::Primitive的Map,保存所有算子的属性。

version_

SchemaVersion version_

enum值,当前执行推理的模型的版本SchemaVersion

公有成员函数

GetPrimitive

const schema::Primitive *GetPrimitive(kernel::Kernel *kernel) const

获取一个Kernel的属性值。

  • 参数

    • kernel: 指向Kernel的指针。

  • 返回值

    const schema::Primitive *,输入参数Kernel对应的该算子的属性值。

BeginKernelIterator

KernelIter BeginKernelIterator()

返回DelegateModel Kernel列表起始元素的迭代器。

  • 返回值

    KernelIter,指向DelegateModel Kernel列表起始元素的迭代器。

EndKernelIterator

KernelIter EndKernelIterator()

返回DelegateModel Kernel列表末尾元素的迭代器。

  • 返回值

    KernelIter,指向DelegateModel Kernel列表末尾元素的迭代器。

Replace

KernelIter Replace(KernelIter from, KernelIter end, kernel::Kernel *graph_kernel)

用Delegate子图Kernel替换Delegate支持的连续Kernel列表。

  • 参数

    • from: Delegate支持的连续Kernel列表的起始元素迭代器。

    • end: Delegate支持的连续Kernel列表的末尾元素迭代器。

    • graph_kernel: 指向Delegate子图Kernel实例的指针。

  • 返回值

    KernelIter,用Delegate子图Kernel替换之后,子图Kernel下一个元素的迭代器,指向下一个未被访问的Kernel。

nodes

std::vector<kernel::Kernel *> *nodes()

获取nodes。

  • 返回值

    Kernel组成的vector。

inputs

const std::vector<mindspore::MSTensor> &inputs()

返回DelegateModel输入tensor列表。

outputs

const std::vector<mindspore::MSTensor> &outputs()

返回DelegateModel输出tensor列表。

GetVersion

const SchemaVersion GetVersion()

返回当前执行推理的模型文件的版本。

  • 返回值

    enum值,0: r1.2及r1.2之后的版本,1: r1.1及r1.1之前的版本,-1: 无效版本。