MindSpore接口mindspore::api

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,可选有"NCHW""NHWC"

kModelOptionInputShape

手动指定模型输入shape,如"input_op_name1: n1,c2,h3,w4;input_op_name2: n4,c3,h2,w1"

kModelOptionOutputType

手动指定模型输出type,如"FP16""UINT8"等,默认为"FP32"

kModelOptionPrecisionMode

模型精度模式,可选有"force_fp16""allow_fp32_to_fp16""must_keep_origin_dtype"或者"allow_mix_precision",默认为"force_fp16"

kModelOptionOpSelectImplMode

算子选择模式,可选有"high_performance""high_precision",默认为"high_performance"

  • 返回值

状态码。

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

拷贝一份自身的副本。

  • 返回值

深拷贝的副本。

 

posted @ 2021-01-23 10:11  吴建明wujianming  阅读(162)  评论(0编辑  收藏  举报