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

RefMerge

产品支持情况

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

功能说明

RefMerge为控制流基础算子,功能与Merge一致:将输入x中第一个变为可用的张量转发到输出y,并在value_index中给出该张量在输入中的索引。区别在于RefMerge用于引用(ref)类型的数据。RefMerge通常与RefSwitch算子配合实现分支汇聚。

参数说明

参数名 输入/输出/属性 描述 数据类型 数据格式
x 动态输入 输入张量,其中一个会变为可用。各输入张量应使用相同的数据类型;形状推导会合并各输入的维度信息。 float16、float32、float64、int8、int16、int32、int64、uint8、uint16、uint32、uint64、bool ND
y 输出 可用的张量,数据类型与x一致。 float16、float32、float64、int8、int16、int32、int64、uint8、uint16、uint32、uint64、bool ND
value_index 输出 标量,被选中的输入张量在输入列表中的索引。 DT_INT32 ND

约束说明

  • 输入x的个数必须大于等于1,否则形状推导失败。
  • 各输入x的数据类型必须一致;数据类型推导会逐个检查输入类型,不一致时返回失败。输出y的数据类型与输入一致,value_index为DT_INT32。
  • 若各输入x的维度数不一致或存在未知秩输入,则输出y推导为未知秩([-2]),不因秩不一致而返回推导失败。
  • 对于某一维度,若各输入取值不一致或存在未知维(-1),则该维推导为-1(未知)。

调用说明

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

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