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 | 输入 | 表示第几个输入或输出的序号。 模型存在多个输入、输出时,为避免序号出错,可以先调用aclmdlGetInputNameByIndex、aclmdlGetOutputNameByIndex接口获取输入、输出的名称,根据输入、输出名称所对应的index来设置。 |
返回值说明
返回0表示成功,返回非0表示失败。
父主题: aclmdlDataset
在线提单