tensor_c

#include<tensor_c.h>

tensor_c.h提供了控制Mindspore MSTensor(后文简称:MSTensor)的接口,借助该接口,用户可以创建、销毁张量,也可以获取或者修改张量的属性。

公有函数

function

MSTensorHandle MSTensorCreate(const char* name, MSDataType type, const int64_t* shape, size_t shape_num, const void* data, size_t data_len)

void MSTensorDestroy(MSTensorHandle* tensor)

MSTensorHandle MSTensorClone(MSTensorHandle tensor)

void MSTensorSetName(MSTensorHandle tensor, const char* name)

const char* MSTensorGetName(const MSTensorHandle tensor)

void MSTensorSetDataType(MSTensorHandle tensor, MSDataType type)

MSDataType MSTensorGetDataType(const MSTensorHandle tensor)

void MSTensorSetShape(MSTensorHandle tensor, const int64_t* shape, size_t shape_num)

const int64_t* MSTensorGetShape(const MSTensorHandle tensor, size_t* shape_num)

void MSTensorSetFormat(MSTensorHandle tensor, MSFormat format)

MSFormat MSTensorGetFormat(const MSTensorHandle tensor)

void MSTensorSetData(MSTensorHandle tensor, void* data)

const void* MSTensorGetData(const MSTensorHandle tensor)

void* MSTensorGetMutableData(const MSTensorHandle tensor)

int64_t MSTensorGetElementNum(const MSTensorHandle tensor)

size_t MSTensorGetDataSize(const MSTensorHandle tensor)

MSTensorCreate

MSTensorHandle MSTensorCreate(const char* name, MSDataType type, const
                              int64_t* shape, size_t shape_num,
                              const void* data, size_t data_len)

创建一个MSTensor。

  • 参数

    • name: 张量名称。

    • type: 张量数据类型。

    • shape: 张量的维度数组。

    • shape_num: 张量维度数组长度。

    • data: 指向数据的指针。

    • data_len: 数据的长度。

  • 返回值

    指向MSTensor的指针。

MSTensorDestroy

void MSTensorDestroy(MSTensorHandle* tensor)

销毁MSTensor对象。若参数tensor为空或者tensor指向的内存为空则不会做任何操作。

  • 参数

    • tensor: 指向MSTensor指针的指针。

MSTensorClone

MSTensorHandle MSTensorClone(MSTensorHandle tensor)

深拷贝一个MSTensor。

  • 参数

    • tensor: 指向待拷贝MSTensor的指针。

  • 返回值

    指向新MSTensor的指针。

MSTensorSetName

void MSTensorSetName(MSTensorHandle tensor, const char* name)

设置MSTensor的名称。所有参数不能为空,若为空则不会做任何操作,并在日志中输出错误信息。

  • 参数

    • tensor: 指向MSTensor的指针。

    • name: 张量名称。

MSTensorGetName

const char* MSTensorGetName(const MSTensorHandle tensor)

获取MSTensor的名称。

  • 参数

    • tensor: 指向MSTensor的指针。

  • 返回值

    MSTensor的名称。

MSTensorSetDataType

void MSTensorSetDataType(MSTensorHandle tensor, MSDataType type)

设置MSTensor的数据类型。

  • 参数

    • tensor: 指向MSTensor的指针。

    • type: 张量的数据类型。

MSTensorGetDataType

MSDataType MSTensorGetDataType(const MSTensorHandle tensor)

获取MSTensor的数据类型,具体数据类型见MSDataType

  • 参数

    • tensor: 指向MSTensor的指针。

  • 返回值

    MSTensor的数据类型。

MSTensorSetShape

void MSTensorSetShape(MSTensorHandle tensor, const int64_t* shape, size_t shape_num)

设置MSTensor的形状。

  • 参数

    • tensor: 指向MSTensor的指针。

    • shape: 维度信息数组。

    • shape_num: 维度信息数组的长度。

MSTensorGetShape

const int64_t* MSTensorGetShape(const MSTensorHandle tensor, size_t* shape_num)

获取MSTensor的形状。

  • 参数

    • tensor: 指向MSTensor的指针。

    • shape_num: 维度信息数组的长度。

  • 返回值

    一个包含MSTensor形状数值的整型数组。

MSTensorSetFormat

void MSTensorSetFormat(MSTensorHandle tensor, MSFormat format)

设置MSTensor的数据排列。

  • 参数

    • tensor: 指向MSTensor的指针。

    • format: 张量的数据排列,具体见MSFormat

MSTensorGetFormat

MSFormat MSTensorGetFormat(const MSTensorHandle tensor)

获取MSTensor的数据排列。

  • 返回值

    张量的数据排列,具体见MSFormat

MSTensorSetData

void MSTensorSetData(MSTensorHandle tensor, void* data)

设置MSTensor的数据。

  • 参数

    • tensor: 指向MSTensor的指针。

    • data: 指向数据的指针。

MSTensorGetData

const void* MSTensorGetData(const MSTensorHandle tensor)

获取设置张量的数据。

  • 参数

    • tensor: 指向MSTensor的指针。

  • 返回值

    指向MSTensor的数据指针。

MSTensorGetMutableData

void* MSTensorGetMutableData(const MSTensorHandle tensor)

获取可变的MSTensor的数据。

  • 参数

    • tensor: 指向MSTensor的指针。

  • 返回值

    指向MSTensor的可变数据的指针。

MSTensorGetElementNum

int64_t MSTensorGetElementNum(const MSTensorHandle tensor)

获取MSTensor的元素个数。

  • 参数

    • tensor: 指向MSTensor的指针。

  • 返回值

    MSTensor的元素个数。

MSTensorGetDataSize

size_t MSTensorGetDataSize(const MSTensorHandle tensor)

获取MSTensor中的数据的字节数大小。

  • 参数

    • tensor: 指向MSTensor的指针。

  • 返回值

    MSTensor中的数据的字节数大小。