如果¶
If - 23¶
版本¶
名称: If (GitHub)
域:
main
自版本:
23
函数:
False
支持级别:
SupportType.COMMON
形状推断:
True
此版本的运算符自版本 23起可用。
摘要¶
如果条件
属性¶
else_branch - GRAPH (必需)
如果条件为假则运行的图。有 N 个输出:您希望实时输出到封闭范围的值。输出数量必须与 then_branch 中的输出数量匹配。
then_branch - GRAPH (必需)
如果条件为真则运行的图。有 N 个输出:您希望实时输出到封闭范围的值。输出数量必须与 else_branch 中的输出数量匹配。
输入¶
cond (异构) - B
如果的条件。该张量必须包含单个元素。
输出¶
1 到 2147483647 个输出之间。
outputs (可变参数) - V
实时输出到封闭范围的值。then_branch 和 else_branch 中的返回值必须具有相同的数据类型。then_branch 和 else_branch 可能会生成具有相同元素类型和不同形状的张量。如果 then-branch 和 else-branch 中的对应输出具有静态形状 S1 和 S2,则如果节点(如果存在)的对应输出变量的形状必须与 S1 和 S2 都兼容,因为它代表两种可能形状的并集。例如,如果在模型文件中,then_branch 的第一个输出被类型化为具有形状 [2] 的浮点张量,而 else_branch 的第一个输出是另一个具有形状 [3] 的浮点张量,则 If 的第一个输出应该(a)没有设置形状,或(b)具有秩为 1 的形状,并且没有设置 dim_value 或 dim_param,或 © 具有秩为 1 的形状,并且具有唯一的 dim_param。相反,第一个输出不能具有形状 [2],因为 [2] 和 [3] 不兼容。
类型约束¶
V 在 (
optional(seq(tensor(bfloat16)))
,optional(seq(tensor(bool)))
,optional(seq(tensor(complex128)))
,optional(seq(tensor(complex64)))
,optional(seq(tensor(double)))
,optional(seq(tensor(float)))
,optional(seq(tensor(float16)))
,optional(seq(tensor(int16)))
,optional(seq(tensor(int32)))
,optional(seq(tensor(int64)))
,optional(seq(tensor(int8)))
,optional(seq(tensor(string)))
,optional(seq(tensor(uint16)))
,optional(seq(tensor(uint32)))
,optional(seq(tensor(uint64)))
,optional(seq(tensor(uint8)))
,optional(tensor(bfloat16))
,optional(tensor(bool))
,optional(tensor(complex128))
,optional(tensor(complex64))
,optional(tensor(double))
,optional(tensor(float))
,optional(tensor(float16))
,optional(tensor(float4e2m1))
,optional(tensor(float8e4m3fn))
,optional(tensor(float8e4m3fnuz))
,optional(tensor(float8e5m2))
,optional(tensor(float8e5m2fnuz))
,optional(tensor(int16))
,optional(tensor(int32))
,optional(tensor(int4))
,optional(tensor(int64))
,optional(tensor(int8))
,optional(tensor(string))
,optional(tensor(uint16))
,optional(tensor(uint32))
,optional(tensor(uint4))
,optional(tensor(uint64))
,optional(tensor(uint8))
,seq(tensor(bfloat16))
,seq(tensor(bool))
,seq(tensor(complex128))
,seq(tensor(complex64))
,seq(tensor(double))
,seq(tensor(float))
,seq(tensor(float16))
,seq(tensor(float4e2m1))
,seq(tensor(float8e4m3fn))
,seq(tensor(float8e4m3fnuz))
,seq(tensor(float8e5m2))
,seq(tensor(float8e5m2fnuz))
,seq(tensor(int16))
,seq(tensor(int32))
,seq(tensor(int4))
,seq(tensor(int64))
,seq(tensor(int8))
,seq(tensor(string))
,seq(tensor(uint16))
,seq(tensor(uint32))
,seq(tensor(uint4))
,seq(tensor(uint64))
,seq(tensor(uint8))
,tensor(bfloat16)
,tensor(bool)
,tensor(complex128)
,tensor(complex64)
,tensor(double)
,tensor(float)
,tensor(float16)
,tensor(float4e2m1)
,tensor(float8e4m3fn)
,tensor(float8e4m3fnuz)
,tensor(float8e5m2)
,tensor(float8e5m2fnuz)
,tensor(int16)
,tensor(int32)
,tensor(int4)
,tensor(int64)
,tensor(int8)
,tensor(string)
,tensor(uint16)
,tensor(uint32)
,tensor(uint4)
,tensor(uint64)
,tensor(uint8)
)所有 Tensor、Sequence(Tensor)、Optional(Tensor) 和 Optional(Sequence(Tensor)) 类型,最高支持到 IRv11。
B 在 (
tensor(bool)
)仅 bool 类型
如果 - 21¶
版本¶
名称: If (GitHub)
域:
main
since_version:
21
函数:
False
支持级别:
SupportType.COMMON
形状推断:
True
此版本的操作符自 **版本 21** 起可用。
概要¶
如果条件
属性¶
else_branch - GRAPH (必需)
如果条件为假则运行的图。有 N 个输出:您希望实时输出到封闭范围的值。输出数量必须与 then_branch 中的输出数量匹配。
then_branch - GRAPH (必需)
如果条件为真则运行的图。有 N 个输出:您希望实时输出到封闭范围的值。输出数量必须与 else_branch 中的输出数量匹配。
输入¶
cond (异构) - B
如果的条件。该张量必须包含单个元素。
输出¶
1 到 2147483647 个输出之间。
outputs (可变参数) - V
实时输出到封闭范围的值。then_branch 和 else_branch 中的返回值必须具有相同的数据类型。then_branch 和 else_branch 可能会生成具有相同元素类型和不同形状的张量。如果 then-branch 和 else-branch 中的对应输出具有静态形状 S1 和 S2,则如果节点(如果存在)的对应输出变量的形状必须与 S1 和 S2 都兼容,因为它代表两种可能形状的并集。例如,如果在模型文件中,then_branch 的第一个输出被类型化为具有形状 [2] 的浮点张量,而 else_branch 的第一个输出是另一个具有形状 [3] 的浮点张量,则 If 的第一个输出应该(a)没有设置形状,或(b)具有秩为 1 的形状,并且没有设置 dim_value 或 dim_param,或 © 具有秩为 1 的形状,并且具有唯一的 dim_param。相反,第一个输出不能具有形状 [2],因为 [2] 和 [3] 不兼容。
类型约束¶
V 在 (
optional(seq(tensor(bfloat16)))
,optional(seq(tensor(bool)))
,optional(seq(tensor(complex128)))
,optional(seq(tensor(complex64)))
,optional(seq(tensor(double)))
,optional(seq(tensor(float)))
,optional(seq(tensor(float16)))
,optional(seq(tensor(int16)))
,optional(seq(tensor(int32)))
,optional(seq(tensor(int64)))
,optional(seq(tensor(int8)))
,optional(seq(tensor(string)))
,optional(seq(tensor(uint16)))
,optional(seq(tensor(uint32)))
,optional(seq(tensor(uint64)))
,optional(seq(tensor(uint8)))
,optional(tensor(bfloat16))
,optional(tensor(bool))
,optional(tensor(complex128))
,optional(tensor(complex64))
,optional(tensor(double))
,optional(tensor(float))
,optional(tensor(float16))
,optional(tensor(float8e4m3fn))
,optional(tensor(float8e4m3fnuz))
,optional(tensor(float8e5m2))
,optional(tensor(float8e5m2fnuz))
,optional(tensor(int16))
,optional(tensor(int32))
,optional(tensor(int64))
,optional(tensor(int8))
,optional(tensor(string))
,optional(tensor(uint16))
,optional(tensor(uint32))
,optional(tensor(uint64))
,optional(tensor(uint8))
,seq(tensor(bfloat16))
,seq(tensor(bool))
,seq(tensor(complex128))
,seq(tensor(complex64))
,seq(tensor(double))
,seq(tensor(float))
,seq(tensor(float16))
,seq(tensor(float8e4m3fn))
,seq(tensor(float8e4m3fnuz))
,seq(tensor(float8e5m2))
,seq(tensor(float8e5m2fnuz))
,seq(tensor(int16))
,seq(tensor(int32))
,seq(tensor(int64))
,seq(tensor(int8))
,seq(tensor(string))
,seq(tensor(uint16))
,seq(tensor(uint32))
,seq(tensor(uint64))
,seq(tensor(uint8))
,tensor(bfloat16)
,tensor(bool)
,tensor(complex128)
,tensor(complex64)
,tensor(double)
,tensor(float)
,tensor(float16)
,tensor(float8e4m3fn)
,tensor(float8e4m3fnuz)
,tensor(float8e5m2)
,tensor(float8e5m2fnuz)
,tensor(int16)
,tensor(int32)
,tensor(int64)
,tensor(int8)
,tensor(string)
,tensor(uint16)
,tensor(uint32)
,tensor(uint64)
,tensor(uint8)
)所有 Tensor、Sequence(Tensor)、Optional(Tensor) 和 Optional(Sequence(Tensor)) 类型,最高支持至 IRv10。
B 在 (
tensor(bool)
)仅 bool 类型
如果 - 19¶
版本¶
名称: If (GitHub)
域:
main
since_version:
19
函数:
False
支持级别:
SupportType.COMMON
形状推断:
True
此版本的运算符自 **版本 19** 开始可用。
摘要¶
如果条件
属性¶
else_branch - GRAPH (必需)
如果条件为假则运行的图。有 N 个输出:您希望实时输出到封闭范围的值。输出数量必须与 then_branch 中的输出数量匹配。
then_branch - GRAPH (必需)
如果条件为真则运行的图。有 N 个输出:您希望实时输出到封闭范围的值。输出数量必须与 else_branch 中的输出数量匹配。
输入¶
cond (异构) - B
如果的条件。该张量必须包含单个元素。
输出¶
1 到 2147483647 个输出之间。
outputs (可变参数) - V
实时输出到封闭范围的值。then_branch 和 else_branch 中的返回值必须具有相同的数据类型。then_branch 和 else_branch 可能会生成具有相同元素类型和不同形状的张量。如果 then-branch 和 else-branch 中的对应输出具有静态形状 S1 和 S2,则如果节点(如果存在)的对应输出变量的形状必须与 S1 和 S2 都兼容,因为它代表两种可能形状的并集。例如,如果在模型文件中,then_branch 的第一个输出被类型化为具有形状 [2] 的浮点张量,而 else_branch 的第一个输出是另一个具有形状 [3] 的浮点张量,则 If 的第一个输出应该(a)没有设置形状,或(b)具有秩为 1 的形状,并且没有设置 dim_value 或 dim_param,或 © 具有秩为 1 的形状,并且具有唯一的 dim_param。相反,第一个输出不能具有形状 [2],因为 [2] 和 [3] 不兼容。
类型约束¶
V 在 (
optional(seq(tensor(bfloat16)))
,optional(seq(tensor(bool)))
,optional(seq(tensor(complex128)))
,optional(seq(tensor(complex64)))
,optional(seq(tensor(double)))
,optional(seq(tensor(float)))
,optional(seq(tensor(float16)))
,optional(seq(tensor(int16)))
,optional(seq(tensor(int32)))
,optional(seq(tensor(int64)))
,optional(seq(tensor(int8)))
,optional(seq(tensor(string)))
,optional(seq(tensor(uint16)))
,optional(seq(tensor(uint32)))
,optional(seq(tensor(uint64)))
,optional(seq(tensor(uint8)))
,optional(tensor(bfloat16))
,optional(tensor(bool))
,optional(tensor(complex128))
,optional(tensor(complex64))
,optional(tensor(double))
,optional(tensor(float))
,optional(tensor(float16))
,optional(tensor(float8e4m3fn))
,optional(tensor(float8e4m3fnuz))
,optional(tensor(float8e5m2))
,optional(tensor(float8e5m2fnuz))
,optional(tensor(int16))
,optional(tensor(int32))
,optional(tensor(int64))
,optional(tensor(int8))
,optional(tensor(string))
,optional(tensor(uint16))
,optional(tensor(uint32))
,optional(tensor(uint64))
,optional(tensor(uint8))
,seq(tensor(bfloat16))
,seq(tensor(bool))
,seq(tensor(complex128))
,seq(tensor(complex64))
,seq(tensor(double))
,seq(tensor(float))
,seq(tensor(float16))
,seq(tensor(float8e4m3fn))
,seq(tensor(float8e4m3fnuz))
,seq(tensor(float8e5m2))
,seq(tensor(float8e5m2fnuz))
,seq(tensor(int16))
,seq(tensor(int32))
,seq(tensor(int64))
,seq(tensor(int8))
,seq(tensor(string))
,seq(tensor(uint16))
,seq(tensor(uint32))
,seq(tensor(uint64))
,seq(tensor(uint8))
,tensor(bfloat16)
,tensor(bool)
,tensor(complex128)
,tensor(complex64)
,tensor(double)
,tensor(float)
,tensor(float16)
,tensor(float8e4m3fn)
,tensor(float8e4m3fnuz)
,tensor(float8e5m2)
,tensor(float8e5m2fnuz)
,tensor(int16)
,tensor(int32)
,tensor(int64)
,tensor(int8)
,tensor(string)
,tensor(uint16)
,tensor(uint32)
,tensor(uint64)
,tensor(uint8)
)所有 Tensor、Sequence(Tensor)、Optional(Tensor) 和 Optional(Sequence(Tensor)) 类型,最高支持至 IRv9。
B 在 (
tensor(bool)
)仅 bool 类型
如果 - 16¶
版本¶
名称: If (GitHub)
域:
main
since_version:
16
函数:
False
支持级别:
SupportType.COMMON
形状推断:
True
此版本的运算符自 **版本 16** 开始可用。
摘要¶
如果条件
属性¶
else_branch - GRAPH (必需)
如果条件为假则运行的图。有 N 个输出:您希望实时输出到封闭范围的值。输出数量必须与 then_branch 中的输出数量匹配。
then_branch - GRAPH (必需)
如果条件为真则运行的图。有 N 个输出:您希望实时输出到封闭范围的值。输出数量必须与 else_branch 中的输出数量匹配。
输入¶
cond (异构) - B
如果的条件。该张量必须包含单个元素。
输出¶
1 到 2147483647 个输出之间。
outputs (可变参数) - V
实时输出到封闭范围的值。then_branch 和 else_branch 中的返回值必须具有相同的数据类型。then_branch 和 else_branch 可能会生成具有相同元素类型和不同形状的张量。如果 then-branch 和 else-branch 中的对应输出具有静态形状 S1 和 S2,则如果节点(如果存在)的对应输出变量的形状必须与 S1 和 S2 都兼容,因为它代表两种可能形状的并集。例如,如果在模型文件中,then_branch 的第一个输出被类型化为具有形状 [2] 的浮点张量,而 else_branch 的第一个输出是另一个具有形状 [3] 的浮点张量,则 If 的第一个输出应该(a)没有设置形状,或(b)具有秩为 1 的形状,并且没有设置 dim_value 或 dim_param,或 © 具有秩为 1 的形状,并且具有唯一的 dim_param。相反,第一个输出不能具有形状 [2],因为 [2] 和 [3] 不兼容。
类型约束¶
V 在 (
optional(seq(tensor(bfloat16)))
,optional(seq(tensor(bool)))
,optional(seq(tensor(complex128)))
,optional(seq(tensor(complex64)))
,optional(seq(tensor(double)))
,optional(seq(tensor(float)))
,optional(seq(tensor(float16)))
,optional(seq(tensor(int16)))
,optional(seq(tensor(int32)))
,optional(seq(tensor(int64)))
,optional(seq(tensor(int8)))
,optional(seq(tensor(string)))
,optional(seq(tensor(uint16)))
,optional(seq(tensor(uint32)))
,optional(seq(tensor(uint64)))
,optional(seq(tensor(uint8)))
,optional(tensor(bfloat16))
,optional(tensor(bool))
,optional(tensor(complex128))
,optional(tensor(complex64))
,optional(tensor(double))
,optional(tensor(float))
,optional(tensor(float16))
,optional(tensor(int16))
,optional(tensor(int32))
,optional(tensor(int64))
,optional(tensor(int8))
,optional(tensor(string))
,optional(tensor(uint16))
,optional(tensor(uint32))
,optional(tensor(uint64))
,optional(tensor(uint8))
,seq(tensor(bfloat16))
,seq(tensor(bool))
,seq(tensor(complex128))
,seq(tensor(complex64))
,seq(tensor(double))
,seq(tensor(float))
,seq(tensor(float16))
,seq(tensor(int16))
,seq(tensor(int32))
,seq(tensor(int64))
,seq(tensor(int8))
,seq(tensor(string))
,seq(tensor(uint16))
,seq(tensor(uint32))
,seq(tensor(uint64))
,seq(tensor(uint8))
,tensor(bfloat16)
,tensor(bool)
,tensor(complex128)
,tensor(complex64)
,tensor(double)
,tensor(float)
,tensor(float16)
,tensor(int16)
,tensor(int32)
,tensor(int64)
,tensor(int8)
,tensor(string)
,tensor(uint16)
,tensor(uint32)
,tensor(uint64)
,tensor(uint8)
)所有直到 IRv4 的张量、序列(张量)、可选(张量) 和可选(序列(张量)) 类型。
B 在 (
tensor(bool)
)仅 bool 类型
If - 13¶
版本¶
名称: If (GitHub)
域:
main
since_version:
13
函数:
False
支持级别:
SupportType.COMMON
形状推断:
True
此版本的算子自 版本 13 起可用。
摘要¶
如果条件
属性¶
else_branch - GRAPH (必需)
如果条件为假则运行的图。有 N 个输出:您希望实时输出到封闭范围的值。输出数量必须与 then_branch 中的输出数量匹配。
then_branch - GRAPH (必需)
如果条件为真则运行的图。有 N 个输出:您希望实时输出到封闭范围的值。输出数量必须与 else_branch 中的输出数量匹配。
输入¶
cond (异构) - B
如果的条件。该张量必须包含单个元素。
输出¶
1 到 2147483647 个输出之间。
outputs (可变参数) - V
实时输出到封闭范围的值。then_branch 和 else_branch 中的返回值必须具有相同的数据类型。then_branch 和 else_branch 可能会生成具有相同元素类型和不同形状的张量。如果 then-branch 和 else-branch 中的对应输出具有静态形状 S1 和 S2,则如果节点(如果存在)的对应输出变量的形状必须与 S1 和 S2 都兼容,因为它代表两种可能形状的并集。例如,如果在模型文件中,then_branch 的第一个输出被类型化为具有形状 [2] 的浮点张量,而 else_branch 的第一个输出是另一个具有形状 [3] 的浮点张量,则 If 的第一个输出应该(a)没有设置形状,或(b)具有秩为 1 的形状,并且没有设置 dim_value 或 dim_param,或 © 具有秩为 1 的形状,并且具有唯一的 dim_param。相反,第一个输出不能具有形状 [2],因为 [2] 和 [3] 不兼容。
类型约束¶
V 在 (
seq(tensor(bool))
,seq(tensor(complex128))
,seq(tensor(complex64))
,seq(tensor(double))
,seq(tensor(float))
,seq(tensor(float16))
,seq(tensor(int16))
,seq(tensor(int32))
,seq(tensor(int64))
,seq(tensor(int8))
,seq(tensor(string))
,seq(tensor(uint16))
,seq(tensor(uint32))
,seq(tensor(uint64))
,seq(tensor(uint8))
,tensor(bool)
,tensor(complex128)
,tensor(complex64)
,tensor(double)
,tensor(float)
,tensor(float16)
,tensor(int16)
,tensor(int32)
,tensor(int64)
,tensor(int8)
,tensor(string)
,tensor(uint16)
,tensor(uint32)
,tensor(uint64)
,tensor(uint8)
)所有张量和序列类型
B 在 (
tensor(bool)
)仅 bool 类型
If - 11¶
版本¶
名称: If (GitHub)
域:
main
since_version:
11
函数:
False
支持级别:
SupportType.COMMON
形状推断:
True
此版本的算子自 版本 11 起可用。
摘要¶
如果条件
属性¶
else_branch - GRAPH (必需)
如果条件为假则运行的图。有 N 个输出:您希望实时输出到封闭范围的值。输出数量必须与 then_branch 中的输出数量匹配。
then_branch - GRAPH (必需)
如果条件为真则运行的图。有 N 个输出:您希望实时输出到封闭范围的值。输出数量必须与 else_branch 中的输出数量匹配。
输入¶
cond (异构) - B
如果的条件。该张量必须包含单个元素。
输出¶
1 到 2147483647 个输出之间。
outputs (可变参数) - V
实时输出到封闭范围的值。then_branch 和 else_branch 中的返回值必须具有相同的数据类型。then_branch 和 else_branch 可能会生成具有相同元素类型和不同形状的张量。如果 then-branch 和 else-branch 中的对应输出具有静态形状 S1 和 S2,则如果节点(如果存在)的对应输出变量的形状必须与 S1 和 S2 都兼容,因为它代表两种可能形状的并集。例如,如果在模型文件中,then_branch 的第一个输出被类型化为具有形状 [2] 的浮点张量,而 else_branch 的第一个输出是另一个具有形状 [3] 的浮点张量,则 If 的第一个输出应该(a)没有设置形状,或(b)具有秩为 1 的形状,并且没有设置 dim_value 或 dim_param,或 © 具有秩为 1 的形状,并且具有唯一的 dim_param。相反,第一个输出不能具有形状 [2],因为 [2] 和 [3] 不兼容。
类型约束¶
V 在 (
tensor(bool)
,tensor(complex128)
,tensor(complex64)
,tensor(double)
,tensor(float)
,tensor(float16)
,tensor(int16)
,tensor(int32)
,tensor(int64)
,tensor(int8)
,tensor(string)
,tensor(uint16)
,tensor(uint32)
,tensor(uint64)
,tensor(uint8)
)所有张量类型
B 在 (
tensor(bool)
)仅 bool 类型
If - 1¶
版本¶
名称: If (GitHub)
域:
main
since_version:
1
函数:
False
支持级别:
SupportType.COMMON
形状推断:
True
此版本的算子自 版本 1 起可用。
摘要¶
如果条件
属性¶
else_branch - GRAPH (必需)
如果条件为假则运行的图。有 N 个输出:您希望实时输出到封闭范围的值。输出数量必须与 then_branch 中的输出数量匹配。
then_branch - GRAPH (必需)
如果条件为真则运行的图。有 N 个输出:您希望实时输出到封闭范围的值。输出数量必须与 else_branch 中的输出数量匹配。
输入¶
cond (异构) - B
如果的条件。该张量必须包含单个元素。
输出¶
1 到 2147483647 个输出之间。
outputs (可变参数) - V
对包含范围有效的输出值。
then_branch
和else_branch
中的返回值必须具有相同的形状和相同的 数据类型。
类型约束¶
V 在 (
tensor(bool)
,tensor(complex128)
,tensor(complex64)
,tensor(double)
,tensor(float)
,tensor(float16)
,tensor(int16)
,tensor(int32)
,tensor(int64)
,tensor(int8)
,tensor(string)
,tensor(uint16)
,tensor(uint32)
,tensor(uint64)
,tensor(uint8)
)所有张量类型
B 在 (
tensor(bool)
)仅 bool 类型