any
功能说明
此函数用于判断输入参数是否全部为False,若是则返回False;若其中有一个为True,则返回True。
此接口一般用作条件判断语句if_scope、elif_scope的判断条件(cond)。
函数原型
any(*args)
参数说明
参数名称 |
输入/输出 |
含义 |
---|---|---|
*args |
输入 |
可传入多个参数,用“,”分隔。 支持InputScalar,Scalar,Expr,bool,立即数(Int,Float),以及all、negate函数。
其中:
须知:
Expr中支持如下运算符:
|
支持的型号
Atlas 200/300/500 推理产品
Atlas 训练系列产品
Atlas推理系列产品AI Core
Atlas推理系列产品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推理系列产品AI Core,Scalar和Expr中的scalar不能为float16类型。
Atlas推理系列产品Vector Core,Scalar和Expr中的scalar不能为float16类型。
Atlas A2训练系列产品/Atlas 800I A2推理产品,Scalar和Expr中的scalar不能为float16类型。
Atlas 200/500 A2推理产品,Scalar和Expr中的scalar不能为float16类型。
返回值
返回Expr类型
调用示例
tik_instance = tik.Tik() scalar = tik_instance.Scalar("uint32", init_value=0) scalar2 = tik_instance.Scalar("uint32", init_value=1) scalar3 = tik_instance.Scalar("uint32", init_value=0) gm = tik_instance.Tensor(dtype, shape, name="gm_b", scope=tik.scope_gm) ub = tik_instance.Tensor(dtype, shape, name="ub_b", scope=tik.scope_ubuf) # scalar =0, 结果为False;scalar2!=0,结果为True。 # 当存在参数为True时,tik.any的结果也为True,则会进入if_scope分支 with tik_instance.if_scope(tik.any(scalar, scalar2)): scalar3.set_as(1) tik_instance.vec_dup(64, ub, scalar3, 1, 8) tik_instance.data_move(gm, ub, 0, 1, 8, 0, 0) tik_instance.BuildCCE(kernel_name="tik_any", inputs=[], outputs=[gm])
父主题: 程序控制