MindSpore接口mindspore::api
Context
#include <context.h>
Context类用于保存执行中的环境变量。
静态公有成员函数
Instance
获取MindSpore Context实例对象。
公有成员函数
GetDeviceTarget
获取当前目标Device类型。
- 返回值
当前DeviceTarget的类型。
GetDeviceID
获取当前Device ID。
- 返回值
当前Device ID。
SetDeviceTarget
配置目标Device。
- 参数
- device_target: 将要配置的目标Device,可选有kDeviceTypeAscend310、kDeviceTypeAscend910。
- 返回值
该MindSpore Context实例对象。
SetDeviceID
获取当前Device ID。
- 参数
- device_id: 将要配置的Device ID。
- 返回值
该MindSpore Context实例对象。
Serialization
#include <serialization.h>
Serialization类汇总了模型文件读写的方法。
静态公有成员函数
LoadModel
- 参数
- file: 模型文件路径。
- model_type:模型文件类型,可选有ModelType::kMindIR、ModelType::kOM。
- 返回值
保存图数据的对象。
Model
#include <model.h>
Model定义了MindSpore中的模型,便于计算图管理。
构造函数和析构函数
~Model();
GraphCell是Cell的一个派生,Cell目前没有开放使用。GraphCell可以由Graph构造,如Model
model(GraphCell(graph))。
公有成员函数
Build
将模型编译至可在Device上运行的状态。
- 参数
- options: 模型编译选项,key为选项名,value为对应选项,支持的options有:
Key |
Value |
kModelOptionInsertOpCfgPath |
AIPP配置文件路径 |
kModelOptionInputFormat |
手动指定模型输入format,可选有 |
kModelOptionInputShape |
手动指定模型输入shape,如 |
kModelOptionOutputType |
手动指定模型输出type,如 |
kModelOptionPrecisionMode |
模型精度模式,可选有 |
kModelOptionOpSelectImplMode |
算子选择模式,可选有 |
- 返回值
状态码。
Predict
推理模型。
- 参数
- inputs: 模型输入按顺序排列的vector。
- outputs: 输出参数,按顺序排列的vector的指针,模型输出会按顺序填入该容器。
- 返回值
状态码。
GetInputsInfo
获取模型输入信息。
- 参数
- names: 可选输出参数,模型输入按顺序排列的vector的指针,模型输入的name会按顺序填入该容器,传入nullptr则表示不获取该属性。
- shapes: 可选输出参数,模型输入按顺序排列的vector的指针,模型输入的shape会按顺序填入该容器,传入nullptr则表示不获取该属性。
- data_types: 可选输出参数,模型输入按顺序排列的vector的指针,模型输入的数据类型会按顺序填入该容器,传入nullptr则表示不获取该属性。
- mem_sizes: 可选输出参数,模型输入按顺序排列的vector的指针,模型输入的以字节为单位的内存长度会按顺序填入该容器,传入nullptr则表示不获取该属性。
- 返回值
状态码。
GetOutputsInfo
获取模型输出信息。
- 参数
- names: 可选输出参数,模型输出按顺序排列的vector的指针,模型输出的name会按顺序填入该容器,传入nullptr则表示不获取该属性。
- shapes: 可选输出参数,模型输出按顺序排列的vector的指针,模型输出的shape会按顺序填入该容器,传入nullptr则表示不获取该属性。
- data_types: 可选输出参数,模型输出按顺序排列的vector的指针,模型输出的数据类型会按顺序填入该容器,传入nullptr则表示不获取该属性。
- mem_sizes: 可选输出参数,模型输出按顺序排列的vector的指针,模型输出的以字节为单位的内存长度会按顺序填入该容器,传入nullptr则表示不获取该属性。
- 返回值
状态码。
Tensor
#include <types.h>
构造函数和析构函数
Tensor(const std::string &name, DataType type, const std::vector<int64_t> &shape, const void *data, size_t data_len);
~Tensor();
静态公有成员函数
GetTypeSize
获取数据类型的内存长度,以字节为单位。
- 参数
- type: 数据类型。
- 返回值
内存长度,单位是字节。
公有成员函数
Name
获取Tensor的名字。
- 返回值
Tensor的名字。
DataType
获取Tensor的数据类型。
- 返回值
Tensor的数据类型。
Shape
获取Tensor的Shape。
- 返回值
Tensor的Shape。
SetName
设置Tensor的名字。
- 参数
- name: 将要设置的name。
SetDataType
设置Tensor的数据类型。
- 参数
- type: 将要设置的type。
SetShape
设置Tensor的Shape。
- 参数
- shape: 将要设置的shape。
Data
获取Tensor中的数据的const指针。
- 返回值
指向Tensor中的数据的const指针。
MutableData
获取Tensor中的数据的指针。
- 返回值
指向Tensor中的数据的指针。
DataSize
获取Tensor中的数据的以字节为单位的内存长度。
- 返回值
Tensor中的数据的以字节为单位的内存长度。
ResizeData
重新调整Tensor的内存大小。
- 参数
- data_len: 调整后的内存字节数。
- 返回值
bool值表示是否成功。
SetData
重新调整Tensor的内存数据。
- 参数
- data: 源数据内存地址。
- data_len: 源数据内存长度。
- 返回值
bool值表示是否成功。
ElementNum
获取Tensor中元素的个数。
- 返回值
Tensor中的元素个数
Clone
拷贝一份自身的副本。
- 返回值
深拷贝的副本。