Mod¶
Mod - 13¶
版本¶
名称:Mod (GitHub)
域:
main
起始版本:
13
函数:
False
支持级别:
SupportType.COMMON
形状推断:
True
此版本的运算符自 版本 13 起可用。
摘要¶
执行逐元素的二元模运算。语义和支持的数据类型取决于 fmod
属性的值,该属性必须是 0
(默认) 或 1
。
如果 fmod
属性设置为 0
,则 T
仅限于整数数据类型,其语义遵循 Python %
运算符。结果的符号与除数相同。
如果 fmod
设置为 1
,则此运算符的行为遵循 C 语言中的 fmod
函数,并且 T
仅限于浮点数据类型。此运算符的结果是除法运算 x / y
的余数,其中 x
和 y
分别是 A
和 B
的元素。结果正是值 x - n * y
,其中 n
是 x / y
并截断其小数部分。返回值的符号与 x
相同(除非 x
是 -0
),并且大小小于或等于 |y|
。当 fmod
设置为 1
时,适用以下特殊情况:
如果
x
是-0
且y
大于零,则可能会返回+0
或-0
。如果
x
是±∞
且y
不是NaN
,则返回NaN
。如果
y
是±0
且x
不是NaN
,则应返回NaN
。如果
y
是±∞
且x
是有限的,则返回x
。如果任一参数是
NaN
,则返回NaN
。
此运算符支持多向(即 NumPy 风格)广播;有关更多详细信息,请查看ONNX 中的广播。
属性¶
fmod - INT(默认为
'0'
)运算符是否应表现得像 fmod(默认值为 0 表示它将执行整数模);将其设置为 1 以强制执行 fmod 处理
输入¶
A (异构) - T
被除数张量
B (异构) - T
除数张量
输出¶
C (异构) - T
余数张量
类型约束¶
T 包含 (
tensor(bfloat16)
,tensor(double)
,tensor(float)
,tensor(float16)
,tensor(int16)
,tensor(int32)
,tensor(int64)
,tensor(int8)
,tensor(uint16)
,tensor(uint32)
,tensor(uint64)
,tensor(uint8)
)将输入和输出类型限制为高精度数值张量。
Mod - 10¶
版本¶
名称:Mod (GitHub)
域:
main
since_version:
10
函数:
False
支持级别:
SupportType.COMMON
形状推断:
True
此版本的操作符已在 版本 10 中提供。
摘要¶
执行逐元素的二元模运算(支持 Numpy 风格的广播)。余数的符号与除数的符号相同。
Mod 运算符也可以像 C 语言的 fmod() 或 numpy.fmod 一样工作。在这种情况下,余数的符号将与被除数相同(与整数模相反)。为了强制执行类似 numpy.fmod() 的行为,提供了一个“fmod”属性。此属性默认设置为 0,导致其行为类似于整数模。将此属性设置为 1 会导致余数的计算方式类似于 numpy.fmod()。
如果输入类型是浮点数,则 fmod
属性必须设置为 1。
如果被除数为零,结果将取决于平台。
此操作符支持多向(即 Numpy 风格)广播;有关更多详细信息,请查看 ONNX 中的广播。
属性¶
fmod - INT(默认为
'0'
)运算符是否应表现得像 fmod(默认值为 0 表示它将执行整数模);将其设置为 1 以强制执行 fmod 处理
输入¶
A (异构) - T
被除数张量
B (异构) - T
除数张量
输出¶
C (异构) - T
余数张量
类型约束¶
T 包含 (
tensor(double)
,tensor(float)
,tensor(float16)
,tensor(int16)
,tensor(int32)
,tensor(int64)
,tensor(int8)
,tensor(uint16)
,tensor(uint32)
,tensor(uint64)
,tensor(uint8)
)将输入和输出类型限制为高精度数值张量。