---
title: aclmdlGetInputDims
description: "根据模型描述信息获取模型的输入tensor的维度信息。同步接口。"
url: https://www.hiascend.com/document/detail/zh/Atlas200IDKA2DeveloperKit/latest/Application%20Development%20Guide/aadgc/aclcppdevg_03_1751.html
sourcePath: /source/zh/Atlas200IDKA2DeveloperKit/23.0.RC2/Application Development Guide/aadgc/aclcppdevg_03_1751.html
indexId: 1eed8ef6dfab647fb58416153c7008eececd57a8ceca2f4768669b38d3fead2b105
---
# aclmdlGetInputDims

#### 函数功能

根据模型描述信息获取模型的输入tensor的维度信息。同步接口。

如果模型中含有静态AIPP配置信息，您可以根据实际需要选择aclmdlGetInputDims接口或aclmdlGetInputDimsV2接口查询维度信息，两者的区别在于：

- 通过  aclmdlGetInputDims
接口获取的维度信息，各维度的值与输入图像的各维度的值保持一致，详细规则如  表1
所示。
- 通过  aclmdlGetInputDimsV2
接口获取的维度信息，H维度的值 = 输入图像的H维度值*系数，不同图片格式下C维度的值不同，详细规则如  aclmdlGetInputDimsV2
接口处的  表1
所示，且各维度值相乘的结果值与通过  aclmdlGetInputSizeByIndex
接口获取的值保持一致。


#### 函数原型

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


#### 参数说明

| 参数名 | 输入/输出 | 说明 |
| --- | --- | --- |
| modelDesc | 输入 | aclmdlDesc类型的指针。 需提前调用aclmdlCreateDesc接口创建aclmdlDesc类型的数据。 |
| index | 输入 | 指定获取第几个输入的Dims，index值从0开始。 |
| dims | 输出 | 输入维度信息的指针。 针对动态Batch、动态分辨率（宽高）的场景，输入tensor的dims中batch size或宽高为\-1，表示其动态可变。例如，输入tensor的format为NCHW，在动态Batch场景下，动态可变的输入tensor的dims为[\-1,3,224,224]；在动态分辨率场景下，动态可变的输入tensor的dims为[1,3,\-1,\-1]。举例中的斜体部分以实际情况为准。 若tensor的name长度大于127，则在输出的dims.name时，AscendCL会将tensor的name转换为“acl\_modelId\_${id}\_input\_${index}\_${随机字符串} ”格式（如果转换后的tensor的name与模型中已有的tensor的name冲突，则会在转换后的name尾部增加“\_${随机字符串} ”，否则不会增加随机字符串），并在转换后的name与原name之间建立映射关系，用户可调用aclmdlGetTensorRealName接口，传入转换后的name，获取原name（若向接口传入原name，则获取的还是原name）；若tensor的name长度小于或等于127，则在输出的dims.name时，按tensor的name输出。 |


**表1 静态AIPP场景下的维度定义规则**

| 图像格式 | Format参考格式 | 维度定义规则 |
| --- | --- | --- |
| YUV420SP\_U8 | NHWC | n,h,w,c |
| XRGB8888\_U8 | NHWC | n,h,w,c |
| RGB888\_U8 | NHWC | n,h,w,c |
| YUV400\_U8 | NHWC | n,h,w,c |
| ARGB8888\_U8 | NHWC | n,h,w,c |
| YUYV\_U8 | NHWC | n,h,w,c |
| YUV422SP\_U8 | NHWC | n,h,w,c |
| AYUV444\_U8 | NHWC | n,h,w,c |


#### 返回值说明

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