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

#### 产品支持情况

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


#### 功能说明

调用acl.create_tensor_desc接口创建Tensor描述信息后，可通过本接口设置Tensor的各个维度的取值范围。

使用场景：动态Shape的算子，其输入Shape中变化维度用“-1”表示，但每个变化维度的范围是不一样的，需要显式设置。

如Shape为[16, -1, 20, -1]，对应的shape range可以是[[16, 16], [1, 128], [20, 20], [1, 10]]，表示第一维的Shape范围固定为16，第二维的Shape范围为1到128，第三维的Shape范围固定为20，第四维的Shape范围为1到10。


#### 函数原型

- C函数原型
  1 aclError aclSetTensorShapeRange(aclTensorDesc* desc, size_t dimsCount, int64_t dimsRange[][ACL_TENSOR_SHAPE_RANGE_NUM])

- python函数
  1 ret = acl.set_tensor_shape_range(desc, dims_range)


#### 参数说明

| 参数名 | 说明 |
| --- | --- |
| desc | int，Tensor描述数据的指针地址。 需提前调用acl.create\_tensor\_desc接口创建aclTensorDesc类型。 |
| dims\_range | list，用二维list表示每个维度的取值范围。 |


#### 返回值说明

| 返回值 | 说明 |
| --- | --- |
| ret | int，错误码。 返回0表示成功。 返回其它值(https://www.hiascend.comdocument/detail/zh/canncommercial/900/API/runtimeapi/aclpythondevg\_01\_0911.html)表示失败。 |
