函数: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的各个维度的取值范围。同步接口。

输入说明

desc:int,tensor描述地址对象。

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

返回值说明

ret:int,错误码。

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

约束说明

注意事项

使用场景:动态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。