Greater#
Domain:
ai.onnxSince version: 13
Returns the tensor resulted from performing the Greater logical operation
elementwise on the input tensors A and B (with Numpy-style broadcasting support).
Inputs
A (T): First input operand for the logical operator.
B (T): Second input operand for the logical operator.
Outputs
C (T1): Result tensor.
Type Constraints
T: Constrain input types to all numeric tensors. Allowed types: tensor(bfloat16), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8).
T1: Constrain output to boolean tensor. Allowed types: tensor(bool).
Examples#
test_cc_greater
Node:
Greater(x, y) -> (z)
Inputs:
x: shape=(2, 2), dtype=float32
[[1., 2.],
[3., 4.]]
y: shape=(2, 2), dtype=float32
[[2., 2.],
[2., 2.]]
Outputs:
z: shape=(2, 2), dtype=bool
[[False, False],
[ True, True]]
test_cc_greater_bcast
Node:
Greater(x, y) -> (z)
Inputs:
x: shape=(2, 2), dtype=float32
[[1., 2.],
[3., 4.]]
y: shape=(), dtype=float32
2.5
Outputs:
z: shape=(2, 2), dtype=bool
[[False, False],
[ True, True]]
test_cc_greater_bfloat16
Node:
Greater(x, y) -> (z)
Inputs:
x: shape=(2, 3), dtype=bfloat16
[[1, 4, 3],
[6, 5, 2]]
y: shape=(2, 3), dtype=bfloat16
[[2, 3, 3],
[5, 6, 1]]
Outputs:
z: shape=(2, 3), dtype=bool
[[False, True, False],
[ True, False, True]]
test_cc_greater_float16
Node:
Greater(x, y) -> (z)
Inputs:
x: shape=(2, 3), dtype=float16
[[1., 4., 3.],
[6., 5., 2.]]
y: shape=(2, 3), dtype=float16
[[2., 3., 3.],
[5., 6., 1.]]
Outputs:
z: shape=(2, 3), dtype=bool
[[False, True, False],
[ True, False, True]]
test_greater
Node:
Greater(x, y) -> (greater)
Inputs:
x: shape=(3, 4, 5), dtype=float32
[[[-0.04804087, -0.30510044, -1.6544707 , -0.07651462, 0.15347514],
[-0.8623296 , 1.2285718 , -1.4362634 , 0.62051475, 0.46972257],
[-2.3047967 , 0.39351684, 0.8641912 , -0.8612014 , -0.6527527 ],
[ 0.19660589, 0.5224583 , -0.7622916 , -0.81308407, -0.2525546 ]],
[[ 0.09045612, -0.20432594, 0.22601509, -0.95009905, 1.013518 ],
[ 0.36961022, -1.081151 , 1.2164041 , 1.0255347 , 0.13125335],
[-0.1453436 , 0.997203 , -1.3772132 , 1.8190564 , -1.2004651 ],
[ 1.1938328 , 1.2253742 , -1.137825 , 0.645201 , -1.9091352 ]],
[[ 1.5557947 , 0.88667655, -0.73243964, -1.0173167 , 0.24505444],
[ 2.4330087 , 0.948794 , 0.96979547, -2.5747623 , -0.3217281 ],
[-0.81137896, 0.45256877, 0.02869228, -1.1839191 , -1.3251646 ],
[-0.6303364 , -1.3884656 , 0.78481734, -1.180762 , 0.08010377]]]
y: shape=(3, 4, 5), dtype=float32
[[[ 1.7542539e+00, 1.2595381e-01, 2.7244222e-01, 1.5426704e-01,
1.6261207e+00],
[-3.8990438e-01, -1.2887475e+00, 4.2111769e-01, 2.2889955e+00,
-1.4774142e-01],
[-1.5192430e-01, 1.7868859e+00, -1.3853636e+00, 2.5799441e-01,
-1.4348719e-01],
[-2.5402310e-01, 1.2493013e+00, 9.4376206e-02, -8.1307483e-01,
8.5687798e-01]],
[[-6.0505110e-01, 7.5472873e-01, -2.5019467e-01, -2.1011617e+00,
3.6517543e-01],
[-2.6853949e-01, -1.3520234e+00, 5.1533467e-01, -1.8550395e+00,
1.3554487e-01],
[-1.6063135e+00, 1.5684804e+00, 1.3375679e+00, -1.2752861e+00,
-1.2536888e-01],
[ 1.0870316e+00, -6.3893634e-01, -1.4576868e+00, -1.0812014e+00,
-3.0740843e+00]],
[[-1.5012600e+00, 7.2199064e-01, 3.8688444e-02, 1.8910414e-01,
-1.1433129e+00],
[ 1.6144730e+00, 1.7268082e+00, 8.7535965e-01, -6.6721655e-02,
6.0414374e-01],
[-1.7328656e-03, 3.5138649e-01, 6.2776333e-01, 1.6265903e+00,
7.4280053e-01],
[ 6.3700020e-01, 8.0218631e-01, 1.0023049e+00, -1.3831070e-01,
1.8957044e+00]]]
Outputs:
greater: shape=(3, 4, 5), dtype=bool
[[[False, False, False, False, False],
[False, True, False, False, True],
[False, False, True, False, False],
[ True, False, False, False, False]],
[[ True, False, True, True, True],
[ True, True, True, True, False],
[ True, False, False, True, False],
[ True, True, True, True, True]],
[[ True, True, False, False, True],
[ True, False, True, False, False],
[False, True, False, False, False],
[False, False, False, False, False]]]
test_greater_bcast
Node:
Greater(x, y) -> (greater)
Inputs:
x: shape=(3, 4, 5), dtype=float32
[[[ 0.8741822 , 0.553631 , -1.1274734 , -0.8376671 , -0.40274566],
[-1.941035 , 0.03275626, -0.18707356, 0.6395014 , -0.72187763],
[ 1.4065468 , -2.193512 , -1.1618237 , 0.2559442 , 2.2077847 ],
[-0.35174358, -0.7595853 , 1.283599 , -2.3089054 , -0.5201577 ]],
[[-0.59689295, -0.6146078 , -0.47808528, -0.15212394, -1.6787723 ],
[ 0.16855474, 0.24434562, 1.9536088 , -1.3060435 , -0.513753 ],
[-1.3100123 , 2.4454045 , -0.18710747, 0.35884383, -1.4523033 ],
[ 0.9135257 , -1.6895586 , 0.23634721, -0.11271938, 0.15884553]],
[[-0.3383164 , -0.17695117, -2.064649 , 0.26156715, 2.2557833 ],
[-0.27379173, -1.7714736 , 0.8415886 , -0.04499549, 0.09789849],
[-1.2850043 , -0.57014376, 0.39273298, 1.2920564 , -0.1401397 ],
[-1.9270529 , -1.8151977 , -0.04628848, 1.4735022 , -0.06726861]]]
y: shape=(5,), dtype=float32
[ 1.4420623 , -0.9769679 , 0.03334304, -0.0760201 , -0.9492963 ]
Outputs:
greater: shape=(3, 4, 5), dtype=bool
[[[False, True, False, False, True],
[False, True, False, True, True],
[False, False, False, True, True],
[False, True, True, False, True]],
[[False, True, False, False, False],
[False, True, True, False, True],
[False, True, False, True, False],
[False, False, True, False, True]],
[[False, True, False, True, True],
[False, False, True, True, True],
[False, True, True, True, True],
[False, False, False, True, True]]]
test_greater_int16
Node:
Greater(x, y) -> (greater)
Inputs:
x: shape=(3, 4, 5), dtype=int16
[[[-1, 0, 0, -1, 0],
[ 0, 0, 0, 0, 1],
[ 0, 0, 0, -1, 0],
[-1, 0, 0, -1, 0]],
[[ 0, 1, 1, 0, -1],
[ 0, 0, 0, 0, 1],
[ 1, -1, 0, -1, -2],
[ 0, 0, -1, 0, -1]],
[[ 0, -1, 0, 0, 0],
[ 0, 1, 0, 1, 0],
[ 0, 0, 0, 0, 0],
[ 0, 0, 0, 0, 0]]]
y: shape=(3, 4, 5), dtype=int16
[[[-1, 1, 0, 0, -1],
[ 0, -1, -1, -1, 1],
[ 0, 0, 0, 0, 0],
[ 0, 0, -1, 0, 1]],
[[ 2, 0, 0, 1, 1],
[ 0, 0, 0, 1, 0],
[ 0, 0, -1, 0, 0],
[ 0, -1, -1, 0, 0]],
[[ 0, 1, 0, 0, 0],
[ 0, 0, 0, 0, 0],
[ 0, 0, 1, 0, 0],
[ 2, 0, 0, -1, 0]]]
Outputs:
greater: shape=(3, 4, 5), dtype=bool
[[[False, False, False, False, True],
[False, True, True, True, False],
[False, False, False, False, False],
[False, False, True, False, False]],
[[False, True, True, False, False],
[False, False, False, False, True],
[ True, False, True, False, False],
[False, True, False, False, False]],
[[False, False, False, False, False],
[False, True, False, True, False],
[False, False, False, False, False],
[False, False, False, True, False]]]
test_greater_int8
Node:
Greater(x, y) -> (greater)
Inputs:
x: shape=(3, 4, 5), dtype=int8
[[[ 0, -1, 0, 0, -1],
[ 0, 0, 1, 1, -2],
[ 0, 0, 0, 0, 0],
[ 0, 0, -2, 0, -1]],
[[ 0, 0, -1, 0, 0],
[ 0, 0, 2, 0, 0],
[ 0, 0, 0, 0, 2],
[-2, 0, 0, 0, 0]],
[[ 0, 1, 0, 1, 0],
[-1, 0, 0, 0, 0],
[ 0, 0, 1, 1, 0],
[ 0, -2, -1, 0, 0]]]
y: shape=(3, 4, 5), dtype=int8
[[[ 0, 1, -1, 0, 0],
[ 0, 0, -1, 0, 0],
[ 0, 0, 0, 1, 0],
[ 0, 0, -1, 1, -1]],
[[ 0, 0, 0, 0, 0],
[ 0, -1, 0, -1, -1],
[ 0, 0, 0, -2, 0],
[ 0, 1, 1, 0, 0]],
[[ 0, 1, 0, 0, 0],
[ 0, -1, 0, 1, 0],
[-1, 0, 0, 0, 1],
[-1, 1, 0, 0, -1]]]
Outputs:
greater: shape=(3, 4, 5), dtype=bool
[[[False, False, True, False, False],
[False, False, True, True, False],
[False, False, False, False, False],
[False, False, False, False, False]],
[[False, False, False, False, False],
[False, True, True, True, True],
[False, False, False, True, True],
[False, False, False, False, False]],
[[False, False, False, True, False],
[False, True, False, False, False],
[ True, False, True, True, False],
[ True, False, False, False, True]]]
test_greater_uint16
Node:
Greater(x, y) -> (greater)
Inputs:
x: shape=(3, 4, 5), dtype=uint16
[[[23, 10, 6, 1, 7],
[ 4, 4, 5, 4, 8],
[ 5, 0, 0, 4, 4],
[15, 7, 7, 3, 10]],
[[ 8, 15, 2, 5, 2],
[ 5, 10, 20, 21, 18],
[11, 14, 6, 10, 2],
[ 6, 2, 8, 11, 20]],
[[20, 3, 11, 9, 2],
[ 9, 11, 2, 3, 15],
[ 5, 8, 18, 13, 11],
[19, 14, 2, 5, 19]]]
y: shape=(3, 4, 5), dtype=uint16
[[[ 0, 6, 11, 5, 14],
[19, 11, 17, 8, 17],
[21, 21, 0, 15, 0],
[22, 18, 19, 4, 7]],
[[ 0, 20, 5, 12, 16],
[15, 1, 4, 20, 15],
[15, 11, 8, 4, 17],
[ 3, 21, 13, 23, 9]],
[[15, 9, 18, 12, 20],
[13, 22, 13, 6, 11],
[14, 0, 13, 4, 20],
[ 6, 12, 9, 5, 23]]]
Outputs:
greater: shape=(3, 4, 5), dtype=bool
[[[ True, True, False, False, False],
[False, False, False, False, False],
[False, False, False, False, True],
[False, False, False, False, True]],
[[ True, False, False, False, False],
[False, True, True, True, True],
[False, True, False, True, False],
[ True, False, False, False, True]],
[[ True, False, False, False, False],
[False, False, False, False, True],
[False, True, True, True, False],
[ True, True, False, False, False]]]
test_greater_uint32
Node:
Greater(x, y) -> (greater)
Inputs:
x: shape=(3, 4, 5), dtype=uint32
[[[20, 8, 6, 5, 22],
[ 3, 18, 18, 7, 16],
[ 1, 1, 22, 3, 0],
[ 1, 7, 0, 1, 8]],
[[15, 14, 9, 3, 7],
[14, 1, 12, 18, 12],
[19, 16, 14, 23, 1],
[15, 18, 23, 20, 22]],
[[10, 13, 22, 2, 18],
[ 7, 5, 2, 3, 15],
[20, 23, 1, 18, 0],
[15, 1, 1, 4, 10]]]
y: shape=(3, 4, 5), dtype=uint32
[[[10, 11, 20, 20, 2],
[23, 2, 18, 20, 8],
[ 9, 22, 14, 1, 23],
[18, 2, 6, 16, 10]],
[[ 5, 4, 3, 19, 23],
[ 3, 4, 2, 9, 0],
[17, 8, 17, 1, 13],
[12, 5, 5, 9, 23]],
[[16, 7, 10, 2, 23],
[ 1, 10, 7, 20, 10],
[19, 22, 1, 18, 13],
[ 0, 15, 3, 0, 3]]]
Outputs:
greater: shape=(3, 4, 5), dtype=bool
[[[ True, False, False, False, True],
[False, True, False, False, True],
[False, False, True, True, False],
[False, True, False, False, False]],
[[ True, True, True, False, False],
[ True, False, True, True, True],
[ True, True, False, True, False],
[ True, True, True, True, False]],
[[False, True, True, False, False],
[ True, False, False, False, True],
[ True, True, False, False, False],
[ True, False, False, True, True]]]
test_greater_uint64
Node:
Greater(x, y) -> (greater)
Inputs:
x: shape=(3, 4, 5), dtype=uint64
[[[ 9, 20, 1, 11, 13],
[14, 18, 0, 3, 15],
[ 4, 12, 13, 22, 7],
[12, 14, 17, 16, 3]],
[[ 2, 2, 8, 3, 11],
[ 4, 3, 10, 1, 10],
[10, 3, 7, 17, 11],
[ 7, 18, 16, 13, 12]],
[[ 8, 12, 10, 5, 14],
[23, 2, 10, 20, 18],
[ 7, 14, 2, 19, 13],
[ 2, 9, 12, 2, 13]]]
y: shape=(3, 4, 5), dtype=uint64
[[[13, 19, 18, 12, 10],
[ 6, 13, 20, 13, 14],
[23, 22, 14, 7, 20],
[ 2, 5, 21, 15, 0]],
[[ 0, 1, 21, 1, 8],
[ 9, 13, 7, 7, 3],
[13, 22, 5, 22, 13],
[19, 17, 17, 16, 4]],
[[10, 17, 4, 1, 11],
[ 2, 18, 7, 22, 23],
[ 9, 8, 4, 19, 13],
[ 3, 1, 18, 16, 10]]]
Outputs:
greater: shape=(3, 4, 5), dtype=bool
[[[False, True, False, False, True],
[ True, True, False, False, True],
[False, False, False, True, False],
[ True, True, False, True, True]],
[[ True, True, False, True, True],
[False, False, True, False, True],
[False, False, True, False, False],
[False, True, False, False, True]],
[[False, False, True, True, True],
[ True, False, True, False, False],
[False, True, False, False, False],
[False, True, False, False, True]]]
test_greater_uint8
Node:
Greater(x, y) -> (greater)
Inputs:
x: shape=(3, 4, 5), dtype=uint8
[[[ 3, 10, 23, 5, 12],
[ 7, 19, 5, 18, 3],
[21, 3, 14, 12, 13],
[ 2, 3, 1, 4, 8]],
[[ 3, 5, 15, 13, 12],
[10, 7, 20, 14, 18],
[12, 7, 20, 5, 20],
[ 1, 0, 19, 5, 2]],
[[17, 10, 2, 20, 21],
[10, 22, 8, 5, 11],
[ 6, 7, 0, 18, 22],
[ 6, 5, 5, 7, 9]]]
y: shape=(3, 4, 5), dtype=uint8
[[[11, 9, 17, 20, 23],
[19, 14, 13, 19, 2],
[ 5, 23, 3, 9, 5],
[ 2, 21, 6, 16, 6]],
[[ 0, 8, 0, 21, 8],
[ 2, 5, 4, 22, 8],
[19, 6, 19, 22, 14],
[ 2, 21, 13, 3, 3]],
[[17, 7, 5, 21, 21],
[12, 10, 5, 10, 2],
[ 7, 7, 20, 16, 13],
[20, 0, 15, 20, 16]]]
Outputs:
greater: shape=(3, 4, 5), dtype=bool
[[[False, True, True, False, False],
[False, True, False, False, True],
[ True, False, True, True, True],
[False, False, False, False, True]],
[[ True, False, True, False, True],
[ True, True, True, False, True],
[False, True, True, False, True],
[False, False, True, True, False]],
[[False, True, False, False, False],
[False, True, True, False, True],
[False, False, False, True, True],
[False, True, False, False, False]]]
Differences with previous version (9)#
SchemaDiff: Greater (domain 'ai.onnx')
old version: 9
new version: 13
breaking: no
Type constraints:
changed ‘T’: added types: [‘tensor(bfloat16)’]