Skip to main content

operator=

类说明

该类主要有TensorBase数据结构的构造方法和相关的功能接口。

note

须知

如出现因内存耗尽,导致构造函数执行失败抛出的异常时,请勿继续调用后续的成员函数。

父主题: TensorBase

CreateTensorBase

函数功能

用来创建TensorBase对象,并根据传入参数不同,调用不同的构造函数。

函数原型

template<typename... Param>
static APP_ERROR CreateTensorBase(TensorBase &tensor, Param... params);

参数说明

参数名输入/输出说明
tensor输出TensorBase对象,用于接收构造的TensorBase对象。
params输入用于构造TensorBase的参数,具体参数可参考构造函数。

返回参数说明

数据结构说明
APP_ERROR程序执行返回的错误码,请参考APP_ERROR说明

父主题: TensorBase

operator=

函数功能

等号运算符重载,用于TensorBase对象之间的赋值。

函数原型

TensorBase& operator = (const TensorBase& other);

参数说明

参数名输入/输出说明
other输入/输出TensorBase对象。

父主题: TensorBase

GetIndices

函数功能

将一个新的元素加到向量的最后面。

函数原型

void GetIndices (std::vector<T>& indices, U value);
void GetIndices (std::vector<T>& indices, U value, Ix ... idxs);
void GetIndices (std::vector<T>& indices, std::vector<U > values);

参数说明

参数名输入/输出说明
indices输入/输出输入的向量。
value输入被添加到向量的值。
idxs输入被添加到向量的值。

父主题: TensorBase

GetTensorDataTypeDesc

函数功能

获取张量的数据类型。

函数原型

std::string GetTensorDataTypeDesc (TensorDataType type);

参数说明

参数名输入/输出说明
type输入枚举值,范围在[-1, 12],参考TensorDataType

返回参数说明

数据结构说明
std::string返回的张量的数据。

父主题: TensorBase

TensorBase

函数功能

TensorBase的构造函数,用来创建TensorBase对象,根据传入的不同参数可选用不同的构造函数。

note

须知

如出现因内存耗尽,导致构造函数执行失败抛出的异常时,请勿继续调用后续的成员函数。

函数原型

TensorBase();
TensorBase(const MemoryData &memoryData, const bool &isBorrowed, const std::vector<uint32_t> &shape, const TensorDataType &type);
TensorBase(const std::vector<uint32_t> &shape, const TensorDataType &type, const MemoryData::MemoryType &bufferType, const int32_t &deviceId);
TensorBase(const std::vector<uint32_t> &shape, const TensorDataType &type, const int32_t &deviceId);
TensorBase(const std::vector<uint32_t> &shape, const TensorDataType &type);
TensorBase(const std::vector<uint32_t> &shape);
TensorBase(const TensorBase& tensor) = default;

参数说明

:::note 说明

  • 函数原型2、3、4、5只是预先设置了shape,但不会申请内存空间,需要调用TensorBaseMalloc才能申请对应内存空间。
  • 函数原型1使用场景:用户已在外部申请内存空间,构造Tensor对象的时候直接引用已申请的内存,需确保内存空间大小与Tensor对象的shape一致,同时可以选择外部申请的空间是Tensor对象内部自行释放还是用户外部释放。 :::
参数名输入/输出说明
memoryData输入用于构造TensorBase对象的参数,内存管理结构体,具体请参见MemoryData
isBorrowed输入表示传入的MemoryData数据是否要Tensor主动释放。
- 若为“true”,表示不需要主动释放,用户自行释放。
- 若为“false”,用户不需要手动释放,Tensor析构时自动释放。
shape输入用于构造TensorBase对象的参数,张量的形状。
type输入用于构造TensorBase对象的参数,TensorDataType类型数据,具体请参见TensorDataType枚举说明。
bufferType输入用于构造TensorBase对象的参数,张量数据的内存类型。
deviceId输入用于构造TensorBase对象的参数,int类型数据,设备编号。
tensor输入TensorBase对象,用于构造TensorBase对象的参数。

父主题: TensorBase

在线提单