mindspore::lite

Allocator

#include <context.h>

Allocator类定义了一个内存池,用于动态地分配和释放内存。

Context

#include <context.h>

Context类用于保存执行中的环境变量。

构造函数和析构函数

Context

Context()

用默认参数构造MindSpore Lite Context 对象。

~Context

~Context()

MindSpore Lite Context 的析构函数。

公有属性

vendor_name_

vendor_name_

string值,芯片厂商名字,用于区别不同的芯片厂商。

thread_num_

thread_num_

int值,默认为2,设置线程数。

allocator

allocator

pointer类型,指向内存分配器 Allocator 的指针。

device_list_

device_list_

DeviceContextVector 类型, 元素为 DeviceContextvector.

现在支持CPU、GPU和NPU。如果设置了GPU设备环境变量并且设备支持GPU,优先使用GPU设备,否则优先使用CPU设备。如果设置了NPU设备环境变量并且设备支持NPU,优先使用NPU设备,否则优先使用CPU设备。

Model

#include <model.h>

Model定义了MindSpore Lite中的模型,便于计算图管理。

析构函数

~Model

~Model()

MindSpore Lite Model的析构函数。

公有成员函数

Destroy

void Destroy()

释放Model内的所有过程中动态分配的内存。

Free

void Free()

释放MindSpore Lite Model中的MetaGraph,用于减小运行时的内存。

静态公有成员函数

Import

static Model *Import(const char *model_buf, size_t size)

创建Model指针的静态方法。

  • 参数

    • model_buf: 定义了读取模型文件的缓存区。

    • size: 定义了模型缓存区的字节数。

  • 返回值

    指向MindSpore Lite的Model的指针。

CpuBindMode

#include <context.h>

枚举类型,设置cpu绑定策略。

公有属性

MID_CPU

MID_CPU = 2

优先中等CPU绑定策略。

HIGHER_CPU

HIGHER_CPU = 1

优先高级CPU绑定策略。

NO_BIND

NO_BIND = 0

不绑定。

DeviceType

#include <context.h>

枚举类型,设置设备类型。

公有属性

DT_CPU

DT_CPU = 0

设备为CPU。

DT_GPU

DT_GPU = 1

设备为GPU。

DT_NPU

DT_NPU = 2

设备为NPU。

Version

#include <version.h>

std::string Version()

全局方法,用于获取版本的字符串。

  • 返回值

    MindSpore Lite版本的字符串。

StringsToMSTensor

int StringsToMSTensor(const std::vector<std::string> &inputs, tensor::MSTensor *tensor)

全局方法,用于将字符串存入MSTensor。

  • 返回值

    STATUS,STATUS在errorcode.h中定义。

MSTensorToStrings

std::vector<std::string> MSTensorToStrings(const tensor::MSTensor *tensor)

全局方法,用于从MSTensor获取字符串。

  • 返回值

    字符串的vector。

DeviceContextVector

#include <context.h>

元素为DeviceContextvector

DeviceContext

#include <context.h>

DeviceContext类定义不同硬件设备的环境信息。

公有属性

device_type

device_type

DeviceType 枚举类型。默认为DT_CPU,标明设备信息。

device_info_

device_info_

union类型,包含 CpuDeviceInfoGpuDeviceInfoNpuDeviceInfo

DeviceInfo

#include <context.h>

union类型,设置不同硬件的环境变量。

公有属性

cpu_device_info_

cpu_device_info_

CpuDeviceInfo 类型,配置CPU的环境变量。

gpu_device_info_

gpu_device_info_

GpuDeviceInfo 类型,配置GPU的环境变量。

npu_device_info_

npu_device_info_

NpuDeviceInfo 类型,配置NPU的环境变量。

CpuDeviceInfo

#include <context.h>

CpuDeviceInfo类,配置CPU的环境变量。

Public Attributes

enable_float16_

enable_float16_

bool值,默认为false,用于使能float16 推理。

使能float16推理可能会导致模型推理精度下降,因为在模型推理的中间过程中,有些变量可能会超出float16的数值范围。

cpu_bind_mode_

cpu_bind_mode_

CpuBindMode 枚举类型,默认为MID_CPU

GpuDeviceInfo

#include <context.h>

GpuDeviceInfo类,用来配置GPU的环境变量。

公有属性

enable_float16_

enable_float16_

bool值,默认为false,用于使能float16 推理。

使能float16推理可能会导致模型推理精度下降,因为在模型推理的中间过程中,有些变量可能会超出float16的数值范围。

NpuDeviceInfo

#include <context.h>

NpuDeviceInfo类,用来配置NPU的环境变量。

公有属性

frequency

frequency_

int值,默认为3,用来设置NPU频率,可设置为1(低功耗)、2(均衡)、3(高性能)、4(极致性能)。

TrainModel

#include <model.h>

继承于结构体Model,用于导入或导出训练模型。

析构函数

~TrainModel

virtual ~TrainModel();

虚析构函数。

公有成员函数

Import

static TrainModel *Import(const char *model_buf, size_t size);

导入模型。

  • 参数

    • model_buf: 指向存储读入MindSpore模型缓冲区的常量字符型指针。

    • size: 缓冲区大小。

  • 返回值

    返回一个指向MindSpore Lite训练模型(TrainModel)的指针。

ExportBuf

char* ExportBuf(char *buf, size_t *len) const;

导出模型缓冲区。

  • 参数

    • buf: 指向模型导出的目标缓冲区的指针,如果指针为空则自动分配一块内存。

    • len: 指向预分配缓冲区大小的指针。

  • 返回值

    返回一个指向存储导出模型缓冲区的字符指针。

Free

void Free() override;

释放计算-图的元数据。

公有属性

buf_size_

size_t buf_size_;

缓冲区大小。