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_
Kernel和schema::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列表。
返回值
MSTensor的列表。
outputs
const std::vector<mindspore::MSTensor> &outputs()
返回DelegateModel输出tensor列表。
返回值
MSTensor的列表。
GetVersion
const SchemaVersion GetVersion()
返回当前执行推理的模型文件的版本。
返回值
enum值,0: r1.2及r1.2之后的版本,1: r1.1及r1.1之前的版本,-1: 无效版本。