函数:set_tensor_shape_range

C函数原型

aclError aclSetTensorShapeRange(aclTensorDesc* desc, size_t dimsCount, int64_t dimsRange[][ACL_TENSOR_SHAPE_RANGE_NUM])

Python函数

ret = acl.set_tensor_shape_range(desc, dims_range)

函数功能

调用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。

输入说明

desc:int,Tensor描述数据的指针地址。

需提前调用acl.create_tensor_desc接口创建aclTensorDesc类型。

dims_range:list,用二维list表示每个维度的取值范围。

返回值说明

ret:int,错误码。

  • 返回0表示成功。
  • 返回其它值表示失败。

约束说明