为输入张量对象设置数据,数据大小和是否需要释放内存的标识。
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); |
无。