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算子为控制流基础算子,通常作为图中分支选择节点使用,不单独调用。