文档
注册
评分
提单
论坛
小AI

all

功能说明

此函数用于判断输入参数是否全部为True,若是则返回True;若其中有一个为False,则返回False。

此接口一般用作条件判断语句if_scope、elif_scope的判断条件(cond)。

函数原型

all(*args)

参数说明

参数名称

输入/输出

含义

*args

输入

可传入多个参数。

支持InputScalar,Scalar,Expr,bool,立即数(Int,Float),以及any、all、negate函数。

其中:
  • Scalar、InputScalar类型的参数会自动转换为表达式,例如若参数名称为a,则转换为:a != 0。
  • 如果Expr为数值表达式,则会自动判断是否!=0,例如参数为scalar // 2,则转换为 scalar // 2 !=0
须知:

Expr中支持如下运算符:

  • 比较运算符:>,<,!=,==,>=,<=
  • 算术运算符:+,-,*,/,//,%
  • 位运算符:&,|,<<,>>

可以用支持的运算符组成复杂表达式,但是不支持比较运算符的连用,例如,若想表达n>1,且n<4:

  • 不支持如下表达方式

    1 < n < 4

  • 可以使用如下表达方式

    tik.all((1 < n) , (n < 4))

支持的型号

Atlas 200/300/500 推理产品

Atlas 训练系列产品

Atlas推理系列产品(Ascend 310P处理器)AI Core

Atlas推理系列产品(Ascend 310P处理器)Vector Core

Atlas A2训练系列产品/Atlas 800I A2推理产品

Atlas 200/500 A2推理产品

注意事项

Atlas 200/300/500 推理产品,Scalar和Expr中的scalar不能为float16或float32类型。

Atlas 训练系列产品,Scalar和Expr中的scalar不能为float16类型。

Atlas推理系列产品(Ascend 310P处理器)AI Core,Scalar和Expr中的scalar不能为float16类型。

Atlas推理系列产品(Ascend 310P处理器)Vector Core,Scalar和Expr中的scalar不能为float16类型。

Atlas A2训练系列产品/Atlas 800I A2推理产品,Scalar和Expr中的scalar不能为float16类型。

Atlas 200/500 A2推理产品,Scalar和Expr中的scalar不能为float16类型。

返回值

返回TIK表达式。

例如:tik.all(scalar, scalar > 1, a == 0, i)

返回:((x != 0) && (x > 1)) && (i != 0))

调用示例

tik_instance = tik.Tik()
scalar = tik_instance.Scalar("uint32", init_value=0)
scalar2 = tik_instance.Scalar("uint32", init_value=4)
gm_b = tik_instance.Tensor(dtype, shape, name="gm_b", scope=tik.scope_gm)
ub_b = tik_instance.Tensor(dtype, shape, name="ub_b", scope=tik.scope_ubuf)
a = 1
# scalar2!=0,所以结果为True;a等于1,大于0,所以结果为True;scalar等于0,结果也为True
# 当所有参数都为True时,tik.all的结果也为True,程序会进入if_scope分支
with tik_instance.if_scope(tik.all(scalar2, a > 0, scalar == 0)):    
    tik_instance.vec_dup(64, ub_b, scalar2, 1, 8)
    tik_instance.data_move(gm_b, ub_b, 0, 1, 8, 0, 0)
tik_instance.BuildCCE(kernel_name="all", inputs=[], outputs=[gm_b])
搜索结果
找到“0”个结果

当前产品无相关内容

未找到相关内容,请尝试其他搜索词