100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > MindSpore接口mindspore::api

MindSpore接口mindspore::api

时间:2020-11-09 21:15:25

相关推荐

MindSpore接口mindspore::api

MindSpore接口mindspore::api

Context

#include <context.h>

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

静态公有成员函数

Instance

static Context &Instance();

获取MindSpore Context实例对象。

公有成员函数

GetDeviceTarget

const std::string &GetDeviceTarget() const;

获取当前目标Device类型。

• 返回值

当前DeviceTarget的类型。

GetDeviceID

uint32_t GetDeviceID() const;

获取当前Device ID。

• 返回值

当前Device ID。

SetDeviceTarget

Context &SetDeviceTarget(const std::string &device_target);

配置目标Device。

• 参数

o device_target: 将要配置的目标Device,可选有kDeviceTypeAscend310、kDeviceTypeAscend910。

• 返回值

该MindSpore Context实例对象。

SetDeviceID

Context &SetDeviceID(uint32_t device_id);

获取当前Device ID。

• 参数

o device_id: 将要配置的Device ID。

• 返回值

该MindSpore Context实例对象。

Serialization

#include <serialization.h>

Serialization类汇总了模型文件读写的方法。

静态公有成员函数

LoadModel

• 参数

o file: 模型文件路径。

o model_type:模型文件类型,可选有ModelType::kMindIR、ModelType::kOM。

• 返回值

保存图数据的对象。

Model

#include <model.h>

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

构造函数和析构函数

Model(const GraphCell &graph);

~Model();

GraphCell是Cell的一个派生,Cell目前没有开放使用。GraphCell可以由Graph构造,如Model model(GraphCell(graph))。

公有成员函数

Build

Status Build(const std::map<std::string, std::string> &options);

将模型编译至可在Device上运行的状态。

• 参数

o 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

Status Predict(const std::vector &inputs, std::vector *outputs);

推理模型。

• 参数

o inputs: 模型输入按顺序排列的vector。

o outputs: 输出参数,按顺序排列的vector的指针,模型输出会按顺序填入该容器。

• 返回值

状态码。

GetInputsInfo

Status GetInputsInfo(std::vectorstd::string *names, std::vector<std::vector<int64_t>> *shapes, std::vector *data_types, std::vector<size_t> *mem_sizes) const;

获取模型输入信息。

• 参数

o names: 可选输出参数,模型输入按顺序排列的vector的指针,模型输入的name会按顺序填入该容器,传入nullptr则表示不获取该属性。

o shapes: 可选输出参数,模型输入按顺序排列的vector的指针,模型输入的shape会按顺序填入该容器,传入nullptr则表示不获取该属性。

o data_types: 可选输出参数,模型输入按顺序排列的vector的指针,模型输入的数据类型会按顺序填入该容器,传入nullptr则表示不获取该属性。

o mem_sizes: 可选输出参数,模型输入按顺序排列的vector的指针,模型输入的以字节为单位的内存长度会按顺序填入该容器,传入nullptr则表示不获取该属性。

• 返回值

状态码。

GetOutputsInfo

Status GetOutputsInfo(std::vectorstd::string *names, std::vector<std::vector<int64_t>> *shapes, std::vector *data_types, std::vector<size_t> *mem_sizes) const;

获取模型输出信息。

• 参数

o names: 可选输出参数,模型输出按顺序排列的vector的指针,模型输出的name会按顺序填入该容器,传入nullptr则表示不获取该属性。

o shapes: 可选输出参数,模型输出按顺序排列的vector的指针,模型输出的shape会按顺序填入该容器,传入nullptr则表示不获取该属性。

o data_types: 可选输出参数,模型输出按顺序排列的vector的指针,模型输出的数据类型会按顺序填入该容器,传入nullptr则表示不获取该属性。

o mem_sizes: 可选输出参数,模型输出按顺序排列的vector的指针,模型输出的以字节为单位的内存长度会按顺序填入该容器,传入nullptr则表示不获取该属性。

• 返回值

状态码。

Tensor

#include <types.h>

构造函数和析构函数

Tensor();

Tensor(const std::string &name, DataType type, const std::vector<int64_t> &shape, const void *data, size_t data_len);

~Tensor();

静态公有成员函数

GetTypeSize

static int GetTypeSize(api::DataType type);

获取数据类型的内存长度,以字节为单位。

• 参数

o type: 数据类型。

• 返回值

内存长度,单位是字节。

公有成员函数

Name

const std::string &Name() const;

获取Tensor的名字。

• 返回值

Tensor的名字。

DataType

api::DataType DataType() const;

获取Tensor的数据类型。

• 返回值

Tensor的数据类型。

Shape

const std::vector<int64_t> &Shape() const;

获取Tensor的Shape。

• 返回值

Tensor的Shape。

SetName

void SetName(const std::string &name);

设置Tensor的名字。

• 参数

o name: 将要设置的name。

SetDataType

void SetDataType(api::DataType type);

设置Tensor的数据类型。

• 参数

o type: 将要设置的type。

SetShape

void SetShape(const std::vector<int64_t> &shape);

设置Tensor的Shape。

• 参数

o shape: 将要设置的shape。

Data

const void *Data() const;

获取Tensor中的数据的const指针。

• 返回值

指向Tensor中的数据的const指针。

MutableData

void *MutableData();

获取Tensor中的数据的指针。

• 返回值

指向Tensor中的数据的指针。

DataSize

size_t DataSize() const;

获取Tensor中的数据的以字节为单位的内存长度。

• 返回值

Tensor中的数据的以字节为单位的内存长度。

ResizeData

bool ResizeData(size_t data_len);

重新调整Tensor的内存大小。

• 参数

o data_len: 调整后的内存字节数。

• 返回值

bool值表示是否成功。

SetData

bool SetData(const void *data, size_t data_len);

重新调整Tensor的内存数据。

• 参数

o data: 源数据内存地址。

o data_len: 源数据内存长度。

• 返回值

bool值表示是否成功。

ElementNum

int64_t ElementNum() const;

获取Tensor中元素的个数。

• 返回值

Tensor中的元素个数

Clone

Tensor Clone() const;

拷贝一份自身的副本。

• 返回值

深拷贝的副本。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。