tensor_c
#include <tensor_c.h>
tensor_c.h提供了控制MindSpore MSTensor(后文简称:MSTensor)的接口,借助该接口,用户可以创建、销毁张量,也可以获取或者修改张量的属性。
公有函数
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中数据的字节数大小。