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。
- 参数
- device_target: 将要配置的目标Device,可选有kDeviceTypeAscend310、kDeviceTypeAscend910。
- 返回值
该MindSpore Context实例对象。
SetDeviceID
Context &SetDeviceID(uint32_t device_id);
获取当前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(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上运行的状态。
- 参数
- options: 模型编译选项,key为选项名,value为对应选项,支持的options有:
|
Key |
Value |
|
kModelOptionInsertOpCfgPath |
AIPP配置文件路径 |
|
kModelOptionInputFormat |
手动指定模型输入format,可选有 |
|
kModelOptionInputShape |
手动指定模型输入shape,如 |
|
kModelOptionOutputType |
手动指定模型输出type,如 |
|
kModelOptionPrecisionMode |
模型精度模式,可选有 |
|
kModelOptionOpSelectImplMode |
算子选择模式,可选有 |
- 返回值
状态码。
Predict
Status Predict(const std::vector<Buffer> &inputs, std::vector<Buffer> *outputs);
推理模型。
- 参数
- inputs: 模型输入按顺序排列的vector。
- outputs: 输出参数,按顺序排列的vector的指针,模型输出会按顺序填入该容器。
- 返回值
状态码。
GetInputsInfo
Status GetInputsInfo(std::vector<std::string> *names, std::vector<std::vector<int64_t>> *shapes, std::vector<DataType> *data_types, std::vector<size_t> *mem_sizes) const;
获取模型输入信息。
- 参数
- names: 可选输出参数,模型输入按顺序排列的vector的指针,模型输入的name会按顺序填入该容器,传入nullptr则表示不获取该属性。
- shapes: 可选输出参数,模型输入按顺序排列的vector的指针,模型输入的shape会按顺序填入该容器,传入nullptr则表示不获取该属性。
- data_types: 可选输出参数,模型输入按顺序排列的vector的指针,模型输入的数据类型会按顺序填入该容器,传入nullptr则表示不获取该属性。
- mem_sizes: 可选输出参数,模型输入按顺序排列的vector的指针,模型输入的以字节为单位的内存长度会按顺序填入该容器,传入nullptr则表示不获取该属性。
- 返回值
状态码。
GetOutputsInfo
Status GetOutputsInfo(std::vector<std::string> *names, std::vector<std::vector<int64_t>> *shapes, std::vector<DataType> *data_types, std::vector<size_t> *mem_sizes) const;
获取模型输出信息。
- 参数
- names: 可选输出参数,模型输出按顺序排列的vector的指针,模型输出的name会按顺序填入该容器,传入nullptr则表示不获取该属性。
- shapes: 可选输出参数,模型输出按顺序排列的vector的指针,模型输出的shape会按顺序填入该容器,传入nullptr则表示不获取该属性。
- data_types: 可选输出参数,模型输出按顺序排列的vector的指针,模型输出的数据类型会按顺序填入该容器,传入nullptr则表示不获取该属性。
- 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);
获取数据类型的内存长度,以字节为单位。
- 参数
- 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的名字。
- 参数
- name: 将要设置的name。
SetDataType
void SetDataType(api::DataType type);
设置Tensor的数据类型。
- 参数
- type: 将要设置的type。
SetShape
void SetShape(const std::vector<int64_t> &shape);
设置Tensor的Shape。
- 参数
- 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的内存大小。
- 参数
- data_len: 调整后的内存字节数。
- 返回值
bool值表示是否成功。
SetData
bool SetData(const void *data, size_t data_len);
重新调整Tensor的内存数据。
- 参数
- data: 源数据内存地址。
- data_len: 源数据内存长度。
- 返回值
bool值表示是否成功。
ElementNum
int64_t ElementNum() const;
获取Tensor中元素的个数。
- 返回值
Tensor中的元素个数
Clone
Tensor Clone() const;
拷贝一份自身的副本。
- 返回值
深拷贝的副本。
MindSpore接口mindspore::api的更多相关文章
- effective OC2.0 52阅读笔记(三 接口与API设计)
第三章:接口与API设计 15 用前缀避免命名空间冲突 总结:避免重名符号错误的唯一办法是变相实现命名空间.为所有符号都加上命名前缀.类和分类都应加三字前缀.注意类实现文件中的纯C函数及全局变量,是算 ...
- 转载-- http接口、api接口、RPC接口、RMI、webservice、Restful等概念
http接口.api接口.RPC接口.RMI.webservice.Restful等概念 收藏 Linux一叶 https://my.oschina.net/heavenly/blog/499661 ...
- 【转】基于laravel制作APP接口(API)
这篇文章主要介绍了基于laravel制作APP接口(API)的相关资料,需要的朋友可以参考下 前期准备 前言,为什么做以及要做个啥本人姓小名白,不折不扣编程届小白一名,但是自从大一那会儿接触到编程这件 ...
- 开放接口/RESTful/Api服务的设计和安全方案
总体思路 这个涉及到两个方面问题:一个是接口访问认证问题,主要解决谁可以使用接口(用户登录验证.来路验证)一个是数据数据传输安全,主要解决接口数据被监听(HTTPS安全传输.敏感内容加密.数字签名) ...
- Atitit.自定义存储引擎的接口设计 api 标准化 attilax 总结 mysql
Atitit.自定义存储引擎的接口设计 api 标准化 attilax 总结 mysql 1. 图16.1:MySQL体系结构1 2. 16.7. 创建表create()虚拟函数:2 3. 16.8 ...
- Linux系统调用及用户编程接口(API)
系统调用 所谓系统调用是指操作系统提供给用户程序调用的一组"特殊"接口,用户程序能够通过这组"特殊"接口来获得操作系统内核提供的服务.比如用户能够通过进程控制相 ...
- 第3章 接口与API设计 52条笔记
第3章 接口与API设计 52条笔记 第15条: 用前缀避免命名空间冲突 Objective-C 没有其他语言那种内置的命名空间机制 .鉴于此,我们在起名时要设法避免潜在的命名冲突,否则很容易就重名了 ...
- Python Flask 实现移动端应用接口(API)
引言 目前,Web 应用已形成一种趋势:业务逻辑被越来越多地移到客户端,逐渐完善为一种称为富互联网应用(RIA,rich Internet application)的架构.在 RIA 中,服务器的主要 ...
- 阶段5 3.微服务项目【学成在线】_day16 Spring Security Oauth2_16-认证接口开发-Api接口定义
4.3 认证服务 4.3.1 需求分析 认证服务需要实现的功能如下: 1.登录接口 前端post提交账号.密码等,用户身份校验通过,生成令牌,并将令牌存储到redis. 将令牌写入cookie. 2. ...
随机推荐
- 【小白向】基于Docker使用Gogs,Drone以及drone-runner-docker的自动化部署
Gogs是基于Go语言编写的可以替代gitlab的代码托管平台,它没有gitlab那么庞大且不需要占用大量资源,对小型服务器相对于比较友好,我们甚至可以使用树莓派搭建. 服务器配置: * 操作系统:C ...
- R3获取kernel32地址
获取Kernel32地址 如果是搞PE变形或者PE重构,再或者代码注入,很多时候我们要动态获取Loadlibrary()以及GetPeocAddress()两个函数的地址,通过这两个函数再动态获取其他 ...
- ACM、考研、就业,在我心底已经有了明确的答案_人生没有完整的,只有无悔的
思绪再三,还是决定放弃了ACM,走上考研路(我现在是大二下学期,马上结束).虽然我们ACM的带队老师经常说:"ACM和考研是不冲突的",但是我感觉做ACM和考研的关系不是很紧密,而 ...
- 矩阵旋转-Eigen应用(QTCreator编辑器)
* { font-family: "Tibetan Machine Uni", "sans-serif", STFangSong; outline: none ...
- XAML一些控件的使用
这节来讲一些XAML中常用控件的使用. Window Window控件是一个基础,它是其它控件的容器,我们可以通过修改其中的一些属性来设置窗体的显示效果,下面说一些最常用的属性: WindowStar ...
- 【Linux】 Linux网络编程
作者:李春港 出处:https://www.cnblogs.com/lcgbk/p/14779410.html 目录 前言 (一). 回顾系统编程进程的通信方式 (二). 网络编程大纲 (三). 网络 ...
- 交叉编译参数--build、host和target的区别
build.host和target 在交叉编译中比较 常见 的一些参数就是build.host和target了,正确的理解这三者的含义对于交叉编译是非常重要的,下面就此进行解释 --build=编译该 ...
- [web] 虚拟机网络设置
三种模式 桥接(Bridged):主机网卡--虚拟网桥--虚拟机网卡,把主机虚拟为交换机,虚拟机ip需与主机设置在同一网段,网关与DNS与主机网卡一致 地址转换(NAT):主机网卡--虚拟NAT设备- ...
- 【Git】git clone报错 git fatal: Unable to find remote helper for 'https'
[参考资料] https://stackoverflow.com/questions/8329485/unable-to-find-remote-helper-for-https-during-git ...
- 搭建LAMP环境部署GLPI资源管理系统
搭建LAMP环境部署GLPI资源管理系统 一.关闭防火墙和Selinux [root@localhost ~]# systemctl disable --now firewalld [root@loc ...