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

While

产品支持情况

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

功能说明

  • 算子功能:循环执行body子图,直到cond子图返回false。每轮迭代前先执行cond判断是否继续;继续时将body子图返回的张量作为下一轮迭代的循环变量;循环结束时输出当前循环变量。

参数说明

参数名 输入/输出/属性 描述 数据类型 数据格式
input 输入(动态) 循环变量输入张量,迭代间由body子图的输出传递。 所有类型 ND
cond 子图 循环条件子图,接收循环变量并返回布尔标量;为false时结束循环。 - -
body 子图 循环体子图,接收循环变量并返回一组张量作为下一轮迭代的循环变量。 - -
parallel_iterations 属性 并行迭代数,控制运行时迭代的执行方式,默认值为10。 Int -
output 输出(动态) 循环结束后由body子图返回的循环变量输出张量。 所有类型 ND

约束说明

  • 输出形状与数据类型由运行时实际执行的循环迭代决定,编译期不做推导。
  • cond子图输出需为布尔标量;body子图输出的个数、形状与数据类型须与输入循环变量保持一致。
  • cond首次执行即为false时循环体不执行,输出与输入张量一致。

调用说明

While算子为控制流基础算子,由框架在循环控制场景下使用,不单独调用。可通过算子IR定义了解算子接口。