# aclmdlGetInputDynamicDims

#### 函数功能

根据模型描述信息获取模型的输入所支持的动态维度信息。同步接口。


#### 约束说明

只有在模型构建时设置了动态维度的分档信息后，才可以调用该接口获取动态维度信息。模型构建的详细说明请参见模型构建。

例如，模型有三个输入，分别为data(1, 1, 40, -1)，label(1, -1)，mask(-1, -1) ， 其中-1表示动态可变。在模型转换时，dynamic_dims参数的配置示例为：--dynamic_dims="20,20,1,1; 40,40,2,2; 80,60,4,4"，则通过本接口获取的动态维度信息为（aclmdlIODims结构体内的name暂不使用）：

- 第0档：

  - aclmdlIODims结构体内dimCount：8，表示所有输入tensor的维度数量之和
  - aclmdlIODims结构体内的dims：“1,1,40,20,1,20,1,1”，表示data(1,1,40,20)+label(1,20)+mask(1,1)
- 第1档：

  - aclmdlIODims结构体内dimCount：8，表示所有输入tensor的维度数量之和
  - aclmdlIODims结构体内的dims：“1,1,40,40,1,40,2,2”，表示data(1,1,40,40)+label(1,40)+mask(2,2)
- 第2档：

  - aclmdlIODims结构体内dimCount：8，表示所有输入tensor的维度数量之和
  - aclmdlIODims结构体内的dims：“1,1,40,80,1,60,4,4”，表示data(1,1,40,80)+label(1,60)+mask(4,4)


#### 函数原型

aclError aclmdlGetInputDynamicDims(const aclmdlDesc *modelDesc, size_t index, aclmdlIODims *dims, size_t gearCount)


#### 参数说明

| 参数名 | 输入/输出 | 说明 |
| --- | --- | --- |
| modelDesc | 输入 | aclmdlDesc类型的指针。 需提前调用aclmdlCreateDesc接口创建aclmdlDesc类型的数据。 |
| index | 输入 | 预留参数，当前未使用，固定设置为\-1。 |
| gearCount | 输入 | 模型支持的动态维度档位数，需要先通过aclmdlGetInputDynamicGearCount接口获取。 |
| dims | 输出 | 输入的动态维度信息的指针。 dims参数是一个数组，数组中的每个元素指向aclmdlIODims结构，aclmdlIODims结构体中的dims参数也是也是一个数组，该数组中的每个元素对应每一档中的具体值。 例如： aclmdlIODims dims[gearCount]; aclmdlGetInputDynamicDims(model.modelDesc, \-1, dims, gearCount); |


#### 返回值说明

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