Skip to main content

aclmdlAddDatasetBuffer

aclUpdateDataBuffer

函数功能

更新aclDataBuffer中数据的内存及大小。同步接口。

更新aclDataBuffer后,之前aclDataBuffer中存放数据的内存如果不使用,需及时释放,否则可能会导致内存泄漏。

函数原型

aclError aclUpdateDataBuffer(aclDataBuffer *dataBuffer, void *data, size_t size)

参数说明

参数名输入/输出说明
dataBuffer输入aclDataBuffer类型的指针。 需提前调用aclCreateDataBuffer接口创建aclDataBuffer类型的数据。 该内存需由用户自行管理,调用aclrtMalloc接口/aclrtFree接口申请/释放内存,或调用aclrtMallocHost接口/aclrtFreeHost接口申请/释放内存。
data输入存放数据内存地址的指针。
size输入内存大小,单位Byte。 如果用户需要使用空tensor,则在申请内存时,内存大小最小为1Byte,以保障后续业务正常运行。

返回值说明

返回0表示成功,返回非0表示失败。

父主题: aclDataBuffer

aclmdlCreateDataset

函数功能

创建aclmdlDataset类型的数据,该数据类型用于描述模型推理时的输入数据、输出数据,模型可能存在多个输入、多个输出,每个输入/输出的内存地址、内存大小用aclDataBuffer类型的数据来描述。同步接口。

如需销毁aclmdlDataset类型的数据,请参见aclmdlDestroyDataset

函数原型

aclmdlDataset *aclmdlCreateDataset()

参数说明

返回值说明

返回aclmdlDataset类型的指针。

父主题: aclmdlDataset

aclmdlDestroyDataset

函数功能

销毁通过aclmdlCreateDataset接口创建的aclmdlDataset类型的数据。同步接口。

函数原型

aclError aclmdlDestroyDataset(const aclmdlDataset *dataset)

参数说明

参数名输入/输出说明
dataset输入待销毁的aclmdlDataset类型的指针。

返回值说明

返回0表示成功,返回非0表示失败。

父主题: aclmdlDataset

aclmdlAddDatasetBuffer

函数功能

向aclmdlDataset中增加aclDataBuffer。同步接口。

函数原型

aclError aclmdlAddDatasetBuffer(****aclmdlDataset *dataset, aclDataBuffer *dataBuffer)

参数说明

参数名输入/输出说明
dataset输出待增加aclDataBuffer的aclmdlDataset地址指针。 需提前调用aclmdlCreateDataset接口创建aclmdlDataset类型的数据。
dataBuffer输入待增加的aclDataBuffer地址指针。 需提前调用aclCreateDataBuffer接口创建aclDataBuffer类型的数据。

返回值说明

返回0表示成功,返回非0表示失败。

父主题: aclmdlDataset

aclmdlGetDatasetNumBuffers

函数功能

获取aclmdlDataset中aclDataBuffer的个数。同步接口。

函数原型

size_t aclmdlGetDatasetNumBuffers(const aclmdlDataset *dataset)

参数说明

参数名输入/输出说明
dataset输入aclmdlDataset类型的指针。 需提前调用aclmdlCreateDataset接口创建aclmdlDataset类型的数据。

返回值说明

aclDataBuffer的个数。

父主题: aclmdlDataset

aclmdlGetDatasetBuffer

函数功能

获取aclmdlDataset中的第n个aclDataBuffer。同步接口。

函数原型

aclDataBuffer***** aclmdlGetDatasetBuffer(const aclmdlDataset *dataset, size_t index)

参数说明

参数名输入/输出说明
dataset输入aclmdlDataset类型的指针。 需提前调用aclmdlCreateDataset接口创建aclmdlDataset类型的数据。
index输入表明获取的是第几个aclDataBuffer。

返回值说明

  • 获取成功,返回aclDataBuffer的地址。
  • 获取失败返回空地址。

父主题: aclmdlDataset

aclmdlSetDatasetTensorDesc

函数功能

如果模型输入或输出的Shape是动态的,在模型执行之前调用本接口设置模型输入或输出的tensor描述信息。同步接口。

Atlas 200/500 A2推理产品,不支持该接口。

约束说明

对同一个模型,aclmdlSetDynamicBatchSize接口、aclmdlSetDynamicHWSize接口、aclmdlSetInputDynamicDims接口、aclmdlSetDatasetTensorDesc接口,只能调用其中一个接口。

函数原型

aclError aclmdlSetDatasetTensorDesc(****aclmdlDataset *dataset, aclTensorDesc *tensorDesc, size_t index)

参数说明

参数名输入/输出说明
dataset输出待增加aclTensorDesc的aclmdlDataset地址指针,表示模型执行的输入或输出数据结构。 需提前调用aclmdlCreateDataset接口创建aclmdlDataset类型的数据,再调用aclmdlAddDatasetBuffer接口向aclmdlDataset中增加aclDataBuffer。
tensorDesc输入待增加的aclTensorDesc地址指针,表示模型执行时对应的输入或输出的tensor描述。 需提前调用aclCreateTensorDesc接口创建aclTensorDesc类型的数据,当前只有设置模型输入、输出tensor描述信息中的维度信息有效(对应aclCreateTensorDesc接口中的代表维度个数的numDims参数、代表维度大小的dims参数),设置数据类型、Format无效。 此处设置的维度个数、维度大小必须在模型构建时设置的输入Shape范围内。
index输入表示第几个输入或输出的序号。 模型存在多个输入、输出时,为避免序号出错,可以先调用aclmdlGetInputNameByIndexaclmdlGetOutputNameByIndex接口获取输入、输出的名称,根据输入、输出名称所对应的index来设置。

返回值说明

返回0表示成功,返回非0表示失败。

父主题: aclmdlDataset

在线提单