---
title: GetDynamicInputTensorRange
description: "根据算子原型定义中的输入索引获取对应的动态输入tensor range指针。"
url: https://www.hiascend.com/document/detail/zh/canncommercial/latest/maintenref/basicdataapi/atlasopapi_07_00107.html
sourcePath: /source/zh/canncommercial/900/maintenref/basicdataapi/atlasopapi_07_00107.html
indexId: 718cc08402a08fe8453cd98fa5cbb6be2ce43d3302ba00324fe58595c9b04d1478
---
# GetDynamicInputTensorRange

#### 函数功能

根据算子原型定义中的输入索引获取对应的动态输入tensor range指针。


#### 函数原型

```
const TensorRange *GetDynamicInputTensorRange(const size_t ir_index, const size_t relative_index) const
```


#### 参数说明

| 参数 | 输入/输出 | 说明 |
| --- | --- | --- |
| ir\_index | 输入 | 算子IR原型定义中的输入索引，从0开始计数。 |
| relative\_index | 输入 | 该输入实例化后的相对index，例如某个DYNAMIC\_INPUT实例化了3个输入，那么relative\_index的有效范围是[0,2]。 |


#### 返回值说明

TensorRange类型指针，定义如下：

```
using TensorRange = Range<Tensor>;
```

ir_index或relative_index非法时，返回空指针。


#### 约束说明

如果输入没有被设置为数据依赖，调用此接口获取tensor range时，只能在tensor中获取到正确的shape、format、datatype信息，无法获取到真实的tensor数据地址（获取到的地址为nullptr）。


#### 调用示例

```
const auto infer_shape_range_func = [](gert::InferShapeRangeContext *context) -> graphStatus {
  auto input_shape_range = context->GetDynamicInputTensorRange(0U, 0U);
  auto output_shape_range = context->GetOutputShapeRange(0U);
  *output_shape_range-->GetMin() = input_shape_range->GetMin()->GetStorageShape();
  *output_shape_range-->GetMax() = input_shape_range->GetMax()->GetStorageShape();
  return GRAPH_SUCCESS;
};
```
