SetBuffer接口

接口功能

为输入张量对象设置数据,数据大小和是否需要释放内存的标识。

接口格式

void SetBuffer(const void *buffer, size_t tensorbyteSize, bool tensorNeedRelease)

接口参数

参数

是否必选

说明

取值要求

buffer

张量数据地址指针。

合法的地址指针:需要指向由malloc、calloc和realloc等函数动态分配的内存地址。

tensorbyteSize

张量数据内存大小。

合法的张量内存空间大小,类型为size_t 。

tensorNeedRelease

是否需要释放内存的标识。

合法的bool类型。

使用样例

构造一个名为"INPUT_IDS",数据类型为INT64,数据维度为{1,2}的Tensor对象,然后为输入张量对象设置数据、数据大小和是否需要释放内存的标识。

1
2
3
4
5
6
7
8
std::string name = "INPUT_IDS";
mindie_llm::InferDataType dataType= mindie_llm::InferDataType::TYPE_INT64;
int64_t dataSize = 2;
std::vector<int64_t> dataShape = {1, dataSize};
auto inputsTensor = std::make_shared<mindie_llm::InferTensor>(name, dataType, dataShape);
uint64_t bufferSize = dataSize * sizeof(int64_t);
void *data = (void *)malloc(bufferSize);
inputsTensor->SetBuffer(data, bufferSize, false);

返回值

无。