---
title: aclmdlSetDatasetTensorDesc
description: "| 产品 | 是否支持 |"
url: https://www.hiascend.com/document/detail/zh/CANNCommunityEdition/latest/API/ascendgraphapi/aclcppdevg_03_1443.html
sourcePath: /source/zh/CANNCommunityEdition/920beta1/API/ascendgraphapi/aclcppdevg_03_1443.html
indexId: 7a5922393dc260a5de627ee65551ffe349c50e0a080ab9c7b0b3da60298a628483
---
# aclmdlSetDatasetTensorDesc

#### 产品支持情况

| 产品 | 是否支持 |
| --- | --- |
| Ascend 950PR / Ascend 950DT | √ |
| Atlas A3 训练系列产品 / Atlas A3 推理系列产品 | √ |
| Atlas A2 训练系列产品 / Atlas A2 推理系列产品 | √ |
| Atlas 200I/500 A2 推理产品 | √ |
| Atlas 推理系列产品 | √ |
| Atlas 训练系列产品 | √ |


#### 功能说明

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


#### 函数原型

```
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表示成功，返回其他值表示失败，请参见aclError。


#### 约束说明

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


#### 参考资源

接口调用示例，参见动态Shape输入（设置Shape范围）(https://www.hiascend.comdocument/detail/zh/CANNCommunityEdition/920beta1/others/acldevg/aclcppdevg_000044.html)。
