case

    api_attr

    声明式编程模式(静态图)

    该OP的运行方式类似于python的if-elif-elif-else。

    参数:

    • pred_fn_pairs (list|tuple) - 一个list或者tuple,元素是二元组(pred, fn)。其中 pred 是形状为[1]的布尔型 Tensor,fn 是一个可调用对象。所有的可调用对象都返回相同结构的Tensor。

    返回:如果 pred_fn_pairs 中存在pred是True的元组(pred, fn),则返回第一个为True的pred的元组中fn的返回结果;如果 pred_fn_pairs 中不存在pred为True的元组(pred, fn) 且 default 不是None,则返回调用 default 的返回结果; 如果 中不存在pred为True的元组(pred, fn) 且 default 是None,则返回 pred_fn_pairs 中最后一个pred的返回结果。

    返回类型:Tensor|list(Tensor)

    抛出异常:

    • TypeError - 如果 pred_fn_pairs 的类型不是list或tuple。

    • TypeError - 如果 pred_fn_pairs 中的2-tuple的第一个元素的类型不是Tensor。

    • TypeError - 如果 pred_fn_pairs 中的2-tuple的第二个元素不是可调用对象。

    代码示例