---
title: 函数：get_input_dims_v2
description: "| 产品 | 是否支持 |"
url: https://www.hiascend.com/document/detail/zh/canncommercial/latest/API/ascendgraphapi/aclpythondevg_01_0202.html
sourcePath: /source/zh/canncommercial/900/API/ascendgraphapi/aclpythondevg_01_0202.html
indexId: 867e13068cbbd11606a6540b18ec12369ac2971d40b0ae3f2401f4334201eb3e75
---
# 函数：get_input_dims_v2

#### 产品支持情况

| 产品 | 是否支持 |
| --- | --- |
| Atlas 350 加速卡 | √ |
| Atlas A3 训练系列产品 / Atlas A3 推理系列产品 | √ |
| Atlas A2 训练系列产品 / Atlas A2 推理系列产品 | √ |
| Atlas 训练系列产品 | √ |
| Atlas 推理系列产品 | √ |
| Atlas 200I/500 A2 推理产品 | √ |


#### 功能说明

根据模型描述获取模型的输入Tensor的维度信息。

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

- 
  通过acl.mdl.get_input_dims接口获取的维度信息，各维度的值与输入图像的各维度的值保持一致，详细规则请参见表1。

- 
  通过acl.mdl.get_input_dims_v2接口获取的维度信息，H维度的值 = 输入图像的H维度值 * 系数，不同图片格式下C维度的值不同，详细规则请参见acl.mdl.get_input_dims_v2接口处的表1，且各维度值相乘的结果值与通过acl.mdl.get_input_size_by_index接口获取的值保持一致。


#### 函数原型

- C函数原型
  1 aclError aclmdlGetInputDimsV2(const aclmdlDesc *modelDesc, size_t index, aclmdlIODims *dims)

- python函数
  1 dims, ret = acl.mdl.get_input_dims_v2(model_desc, index)


#### 参数说明

| 参数名 | 说明 |
| --- | --- |
| model\_desc | int，aclmdlDesc类型数据的指针地址。 需提前调用acl.mdl.create\_desc接口创建aclmdlDesc类型的数据。 |
| index | int，指定获取第几个输入的dims，index值从0开始。 |


#### 返回值说明

| 返回值 | 说明 |
| --- | --- |
| dims | dict，针对多batch或多种宽高的场景，按照该字典的数组返回其支持的最大档的组合，具体请参见aclmdlIODims。 dims = { "name": xxx, \#tensor name "dimCount":xxx, \#shape中的维度个数 "dims": [xx, xx, xx] \# 维度信息 } 针对动态Batch、动态分辨率（宽高）的场景，输入Tensor的“dims”中Batch数或宽高为\-1，表示其动态可变。 例如，输入Tensor的“format”为NCHW，在动态Batch场景下，动态可变的输入Tensor的“dims”为[\-1, 3, 224, 224]，在动态分辨率场景下，动态可变的输入Tensor的“dims”为[1, 3, \-1, \-1]。举例中的斜体部分以实际情况为准。 若Tensor的“name”长度大于127，则在输出dims["name"]时，会将Tensor的“name”转换为“acl\_modelId\_${id}\_input\_${index}\_${随机字符串} ”格式并在转换后的“name”与原“name”之间建立映射关系，用户可调用acl.mdl.get\_tensor\_real\_name接口，传入转换后的“name”，获取原“name”（若向接口传入原“name”，则获取的还是原“name”）。 说明： 如果转换后的Tensor的“name”与模型中已有的Tensor的“name”冲突，则会在转换后的“name”尾部增加“\_${随机字符串} ”，否则不会增加随机字符串。 若Tensor的“name”长度小于或等于127，则在输出的dims["name"]时，按Tensor的“name”输出。 针对静态AIPP场景，本接口针对不同格式的图像，对应NHWC的Format格式，当前接口中明确各个维度的定义规则，如表1所示。 |
| ret | int，错误码。 返回0表示成功。 返回其它值(https://www.hiascend.comdocument/detail/zh/canncommercial/900/API/runtimeapi/aclpythondevg\_01\_0911.html)表示失败。 |


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

| 图像格式 | Format参考格式 | 维度定义规则 |
| --- | --- | --- |
| YUV420SP\_U8 | NHWC | "n,h\*1.5,w,1" |
| XRGB8888\_U8 | NHWC | "n,h,w,4" |
| RGB888\_U8 | NHWC | "n,h,w,3" |
| YUV400\_U8 | NHWC | "n,h,w,1" |
| ARGB8888\_U8 | NHWC | "n,h,w,4" |
| YUYV\_U8 | NHWC | "n,h,w,2" |
| YUV422SP\_U8 | NHWC | "n,h\*2,w,1" |
| AYUV444\_U8 | NHWC | "n,h,w,4" |
