FilesLast commitLast update
15 days ago
15 days ago
15 days ago
15 days ago
15 days ago
15 days ago
README

Switch

产品支持情况

产品 是否支持
Ascend 950PR&950DT系列产品 √
Atlas A3系列产品 √
Atlas A2系列产品 √
Atlas 200I/500 A2推理产品 √
Atlas推理系列产品 √
Atlas训练系列产品 √

功能说明

Switch为控制流基础算子,根据布尔标量输入pred将输入张量data转发到对应的输出端口:当pred为true时,data转发到output_true;否则转发到output_false。该算子的两个输出output_true、output_false的形状与数据类型均与输入data一致,通常与Merge算子配合实现分支控制。

参数说明

参数名 输入/输出/属性 描述 数据类型 数据格式
data 输入 待转发的张量。 TensorType::ALL() ND
pred 输入 布尔标量,决定数据被转发到哪个输出端口。 DT_BOOL ND
output_false 输出 当pred为false时,data转发到该输出,形状与数据类型同data。 TensorType::ALL() ND
output_true 输出 当pred为true时,data转发到该输出,形状与数据类型同data。 TensorType::ALL() ND

约束说明

  • 输入pred必须为布尔标量(rank为0或未知rank),否则形状推导失败。
  • 输入pred的数据类型必须为DT_BOOL,否则数据类型推导失败。

调用说明

Switch算子为控制流基础算子,通常作为图中分支选择节点使用,不单独调用。

调用方式 调用样例 说明
图模式调用 test_geir_switch 通过算子IR构图方式调用Switch算子