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中的数据的字节数大小。