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