• 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

    拷贝一份自身的副本。

    • 返回值

    深拷贝的副本。

    人工智能芯片与自动驾驶
  • 相关阅读:
    置顶功能改进
    Skin设计小组新作品发布—绿草蓝天
    代码着色功能改进
    增加了将文章收藏至网摘的功能
    [公告]C++博客开通
    [新功能]显示文章所属分类
    新Skin发布
    北京.NET俱乐部活动公告
    正式开始学习.NET 2.0
    关于共同学习.NET 2.0的想法
  • 原文地址:https://www.cnblogs.com/wujianming-110117/p/14316612.html
Copyright © 2020-2023  润新知