aclmdlSetDatasetTensorDesc

函数功能

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

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

约束说明

对同一个模型,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表示失败。