tensor.h
概述
提供了张量相关的接口,可用于创建和修改张量信息,该接口是非线程安全的。
引用文件: <mindspore/tensor.h>
库: libmindspore_lite_ndk.so
系统能力: SystemCapability.Ai.MindSpore
起始版本: 9
相关模块: MindSpore
汇总
结构体
| 名称 | typedef关键字 | 描述 |
|---|---|---|
| void * | OH_AI_TensorHandle | 指向张量对象句柄。 |
| void * | OH_AI_AllocatorHandle | 指向内存分配器对象句柄。 |
函数
函数说明
OH_AI_TensorCreate()
OH_AI_API OH_AI_TensorHandle OH_AI_TensorCreate(const char *name, OH_AI_DataType type, const int64_t *shape,size_t shape_num, const void *data, size_t data_len)
描述
创建一个张量对象。
起始版本: 9
参数:
| 参数项 | 描述 |
|---|---|
| const char *name | 张量名称。字符串长度跟随系统限制。 |
| OH_AI_DataType type | 张量的数据类型。 |
| const int64_t *shape | 张量的维度数组。 |
| size_t shape_num | 张量维度数组长度。 |
| const void *data | 指向数据的指针。 |
| size_t data_len | 数据的长度。 |
返回:
| 类型 | 说明 |
|---|---|
| OH_AI_API OH_AI_TensorHandle | 指向张量对象句柄。 |
OH_AI_TensorDestroy()
OH_AI_API void OH_AI_TensorDestroy(OH_AI_TensorHandle *tensor)
描述
释放张量对象。
起始版本: 9
参数:
| 参数项 | 描述 |
|---|---|
| OH_AI_TensorHandle *tensor | 指向张量句柄的二级指针。 |
OH_AI_TensorClone()
OH_AI_API OH_AI_TensorHandle OH_AI_TensorClone(OH_AI_TensorHandle tensor)
描述
深拷贝一个张量。
起始版本: 9
参数:
| 参数项 | 描述 |
|---|---|
| OH_AI_TensorHandle tensor | 张量对象句柄。 |
返回:
| 类型 | 说明 |
|---|---|
| OH_AI_API OH_AI_TensorHandle | 指向新张量对象句柄。 |
OH_AI_TensorSetName()
OH_AI_API void OH_AI_TensorSetName(OH_AI_TensorHandle tensor, const char *name)
描述
设置张量的名称。
起始版本: 9
参数:
| 参数项 | 描述 |
|---|---|
| OH_AI_TensorHandle tensor | 张量对象句柄。 |
| const char *name | 张量名称。字符串长度跟随系统限制。 |
OH_AI_TensorGetName()
OH_AI_API const char *OH_AI_TensorGetName(const OH_AI_TensorHandle tensor)
描述
获取张量的名称。
起始版本: 9
参数:
| 参数项 | 描述 |
|---|---|
| const OH_AI_TensorHandle tensor | 张量对象句柄。 |
返回:
| 类型 | 说明 |
|---|---|
| OH_AI_API const char * | 张量的名称。 |
OH_AI_TensorSetDataType()
OH_AI_API void OH_AI_TensorSetDataType(OH_AI_TensorHandle tensor, OH_AI_DataType type)
描述
设置张量的数据类型。
起始版本: 9
参数:
| 参数项 | 描述 |
|---|---|
| OH_AI_TensorHandle tensor | 张量对象句柄。 |
| OH_AI_DataType type | 数据类型,具体见OH_AI_DataType。 |
OH_AI_TensorGetDataType()
OH_AI_API OH_AI_DataType OH_AI_TensorGetDataType(const OH_AI_TensorHandle tensor)
描述
获取张量类型。
起始版本: 9
参数:
| 参数项 | 描述 |
|---|---|
| const OH_AI_TensorHandle tensor | 张量对象句柄。 |
返回:
| 类型 | 说明 |
|---|---|
| OH_AI_API OH_AI_DataType | 张量的数据类型。 |
OH_AI_TensorSetShape()
OH_AI_API void OH_AI_TensorSetShape(OH_AI_TensorHandle tensor, const int64_t *shape, size_t shape_num)
描述
设置张量的形状。
起始版本: 9
参数:
| 参数项 | 描述 |
|---|---|
| OH_AI_TensorHandle tensor | 张量对象句柄。 |
| const int64_t *shape | 形状数组。 |
| size_t shape_num | 张量形状数组长度。 |
OH_AI_TensorGetShape()
OH_AI_API const int64_t *OH_AI_TensorGetShape(const OH_AI_TensorHandle tensor, size_t *shape_num)
描述
获取张量的形状。
起始版本: 9
参数:
| 参数项 | 描述 |
|---|---|
| const OH_AI_TensorHandle tensor | 张量对象句柄。 |
| size_t *shape_num | 该参数是输出参数,形状数组的长度会写入该变量。 |
返回:
| 类型 | 说明 |
|---|---|
| OH_AI_API const int64_t * | 形状数组。 |
OH_AI_TensorSetFormat()
OH_AI_API void OH_AI_TensorSetFormat(OH_AI_TensorHandle tensor, OH_AI_Format format)
描述
设置张量数据的排列方式。
起始版本: 9
参数:
| 参数项 | 描述 |
|---|---|
| OH_AI_TensorHandle tensor | 张量对象句柄。 |
| OH_AI_Format format | 张量数据排列方式。 |
OH_AI_TensorGetFormat()
OH_AI_API OH_AI_Format OH_AI_TensorGetFormat(const OH_AI_TensorHandle tensor)
描述
获取张量数据的排列方式。
起始版本: 9
参数:
| 参数项 | 描述 |
|---|---|
| const OH_AI_TensorHandle tensor | 张量对象句柄。 |
返回:
| 类型 | 说明 |
|---|---|
| OH_AI_API OH_AI_Format | 张量数据的排列方式。 |
OH_AI_TensorSetData()
OH_AI_API void OH_AI_TensorSetData(OH_AI_TensorHandle tensor, void *data)
描述
设置张量的数据。
起始版本: 9
参数:
| 参数项 | 描述 |
|---|---|
| OH_AI_TensorHandle tensor | 张量对象句柄。 |
| void *data | 指向数据的指针。 |
OH_AI_TensorGetData()
OH_AI_API const void *OH_AI_TensorGetData(const OH_AI_TensorHandle tensor)
描述
获取张量数据的指针。
起始版本: 9
参数:
| 参数项 | 描述 |
|---|---|
| const OH_AI_TensorHandle tensor | 张量对象句柄。 |
返回:
| 类型 | 说明 |
|---|---|
| OH_AI_API const void * | 张量数据的指针。 |
OH_AI_TensorGetMutableData()
OH_AI_API void *OH_AI_TensorGetMutableData(const OH_AI_TensorHandle tensor)
描述
获取可变的张量数据指针。如果数据为空则会开辟内存。
起始版本: 9
参数:
| 参数项 | 描述 |
|---|---|
| const OH_AI_TensorHandle tensor | 张量对象句柄。 |
返回:
| 类型 | 说明 |
|---|---|
| OH_AI_API void * | 张量数据的指针。 |
OH_AI_TensorGetElementNum()
OH_AI_API int64_t OH_AI_TensorGetElementNum(const OH_AI_TensorHandle tensor)
描述
获取张量元素数量。
起始版本: 9
参数:
| 参数项 | 描述 |
|---|---|
| const OH_AI_TensorHandle tensor | 张量对象句柄。 |
返回:
| 类型 | 说明 |
|---|---|
| OH_AI_API int64_t | 张量的元素数量。 |
OH_AI_TensorGetDataSize()
OH_AI_API size_t OH_AI_TensorGetDataSize(const OH_AI_TensorHandle tensor)
描述
获取张量中的数据的字节数大小。
起始版本: 9
参数:
| 参数项 | 描述 |
|---|---|
| const OH_AI_TensorHandle tensor | 张量对象句柄。 |
返回:
| 类型 | 说明 |
|---|---|
| OH_AI_API size_t | 张量数据的字节数大小。 |
OH_AI_TensorSetUserData()
OH_AI_API OH_AI_Status OH_AI_TensorSetUserData(OH_AI_TensorHandle tensor, void *data, size_t data_size)
描述
设置张量为用户自行管理的数据。此接口常用于复用用户数据作为模型输入,可减少一次数据拷贝。
注意:此数据对于张量来说是外部数据,张量销毁时不会主动释放,由调用者负责释放。另外,在此张量使用过程中,调用者须确保此数据有效。
起始版本: 10
参数:
| 参数项 | 描述 |
|---|---|
| OH_AI_TensorHandle tensor | 张量对象句柄。 |
| void *data | 用户数据首地址。 |
| size_t data_size | 用户数据长度。 |
返回:
| 类型 | 说明 |
|---|---|
| OH_AI_API OH_AI_Status | 执行状态码。若成功返回OH_AI_STATUS_SUCCESS,否则返回具体错误码。 |
OH_AI_TensorGetAllocator()
OH_AI_API OH_AI_AllocatorHandle OH_AI_TensorGetAllocator(OH_AI_TensorHandle tensor)
描述
获取内存分配器。此接口主要是提供一种获取张量的内存分配器的方法。
起始版本: 12
参数:
| 参数项 | 描述 |
|---|---|
| OH_AI_TensorHandle tensor | 张量对象句柄。 |
返回:
| 类型 | 说明 |
|---|---|
| OH_AI_API OH_AI_AllocatorHandle | 内存分配器的句柄。 |
OH_AI_TensorSetAllocator()
OH_AI_API OH_AI_Status OH_AI_TensorSetAllocator(OH_AI_TensorHandle tensor, OH_AI_AllocatorHandle allocator)
描述
设置内存分配器。此接口主要是提供一种设置内存分配器的方法,tensor的内存将由这个分配器分配。
起始版本: 12
参数:
| 参数项 | 描述 |
|---|---|
| OH_AI_TensorHandle tensor | 张量对象句柄。 |
| OH_AI_AllocatorHandle allocator | 内存分配器对象句柄。 |
返回:
| 类型 | 说明 |
|---|---|
| OH_AI_API OH_AI_Status | 执行状态码。若成功返回OH_AI_STATUS_SUCCESS,否则返回具体错误码。 |
你可能感兴趣的鸿蒙文章
openharmony 鸿蒙 capi-mindspore-oh-ai-callbackparam
openharmony 鸿蒙 capi-mindspore-oh-ai-shapeinfo
openharmony 鸿蒙 capi-mindspore-oh-ai-contexthandle
openharmony 鸿蒙 capi-mindspore-oh-ai-traincfghandle
openharmony 鸿蒙 capi-mindspore-oh-ai-allocatorhandle