昇腾社区首页
中文
注册

函数:set_tensor_shape_range

产品支持情况

产品

是否支持

Atlas A3 训练系列产品/Atlas A3 推理系列产品

Atlas A2 训练系列产品/Atlas 800I A2 推理产品/A200I A2 Box 异构组件

Atlas 训练系列产品

Atlas 推理系列产品

Atlas 200I/500 A2 推理产品

Atlas 200/300/500 推理产品

功能说明

调用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表示成功。
  • 返回其它值表示失败。