GreaterOrEqual#
Domain:
ai.onnxSince version: 16
Returns the tensor resulted from performing the GreaterOrEqual 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_or_equal
Node:
GreaterOrEqual(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, True],
[ True, True]]
test_cc_greater_or_equal_bcast
Node:
GreaterOrEqual(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_or_equal_bfloat16
Node:
GreaterOrEqual(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, True],
[ True, False, True]]
test_cc_greater_or_equal_float16
Node:
GreaterOrEqual(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, True],
[ True, False, True]]
test_greater_equal
Node:
GreaterOrEqual(x, y) -> (greater_equal)
Inputs:
x: shape=(3, 4, 5), dtype=float32
[[[ 1.096885 , 0.07066563, 1.2448575 , 0.14811043, -0.5882804 ],
[-0.76082605, 0.30773467, -0.16073832, -0.5154356 , -1.2388316 ],
[ 0.45789725, 1.223727 , 0.904155 , 1.3492115 , -0.3860116 ],
[ 1.0861362 , -0.04619086, -0.4874804 , 0.09241318, 0.01729156]],
[[ 0.33288187, 2.0623937 , 0.8016675 , -1.2551261 , -0.95763373],
[ 2.8635995 , -0.07978736, 0.7112011 , -1.0436926 , 0.04026257],
[ 1.7116932 , 1.4548388 , 0.05999403, -0.4005206 , -0.311438 ],
[ 1.7903335 , 0.65163237, 0.9814421 , 2.2528698 , 0.9619803 ]],
[[-0.7707977 , -1.3540401 , 0.6926936 , 0.16810998, 0.39450422],
[ 0.7462312 , -0.65408707, -0.01557474, -0.31656304, -0.52292097],
[-0.12932564, 0.6598996 , -0.9455917 , -0.09841688, -0.2862465 ],
[ 1.9248927 , 0.4243033 , -0.92452365, -1.027331 , -1.695347 ]]]
y: shape=(3, 4, 5), dtype=float32
[[[-9.4792253e-01, -6.1622328e-01, -2.7506614e+00, -7.1404856e-01,
1.3997095e+00],
[-2.8393906e-01, -1.6412349e-01, -6.7827290e-01, 2.4085191e-01,
4.9361777e-01],
[-2.4063063e-01, 1.7832187e+00, 1.2601568e+00, 8.7304723e-01,
1.6478558e+00],
[-2.5179946e-01, -1.4829162e+00, -4.9271366e-01, -1.5499992e+00,
-3.0267167e-01]],
[[-4.9574757e-01, 2.8974986e-01, 8.6432129e-01, -1.1831111e+00,
5.8822042e-01],
[-1.7248467e+00, -4.0154502e-01, 2.4545431e-01, 1.4359000e+00,
-9.9507153e-01],
[-9.6928167e-01, -9.7301491e-02, 1.3923490e-01, 1.0592966e+00,
-1.2110893e+00],
[-4.0319696e-01, -8.7887537e-01, -1.2383486e+00, 1.6847624e+00,
8.3216959e-01]],
[[-1.5605131e-01, -1.1203907e+00, -1.8518837e-01, -8.6301607e-01,
1.5879667e-03],
[-2.6343402e-01, 1.6419634e+00, -5.7128775e-01, 8.8431293e-01,
-4.1970479e-01],
[ 4.2572483e-01, -1.4820842e-01, -1.3883865e+00, -2.6390123e-01,
-4.2321909e-02],
[ 6.5218055e-01, -9.3892686e-02, -2.2359974e+00, 1.3215044e+00,
8.4481820e-02]]]
Outputs:
greater_equal: shape=(3, 4, 5), dtype=bool
[[[ True, True, True, True, False],
[False, True, True, False, False],
[ True, False, False, True, False],
[ True, True, True, True, True]],
[[ True, True, False, False, False],
[ True, True, True, False, True],
[ True, True, False, False, True],
[ True, True, True, True, True]],
[[False, False, True, True, True],
[ True, False, True, False, False],
[False, True, True, True, False],
[ True, True, True, False, False]]]
test_greater_equal_bcast
Node:
GreaterOrEqual(x, y) -> (greater_equal)
Inputs:
x: shape=(3, 4, 5), dtype=float32
[[[ 2.4561718 , -0.5817526 , -0.54229295, -0.41356328, -0.20007235],
[-0.54210097, -0.65532076, 1.3473451 , -0.26939955, -0.72250503],
[ 0.95833427, -0.78738844, -0.28558663, -0.04312987, 0.23397207],
[-1.9877945 , 1.324135 , 1.140795 , -1.7412977 , -0.02137867]],
[[ 0.5489151 , -0.2974111 , -1.2979202 , -0.2075926 , -1.7911516 ],
[-1.660064 , 2.078913 , 0.847851 , 0.13794622, 0.8359384 ],
[-0.5319438 , 1.3650343 , 1.2040756 , 1.1579663 , 1.9649589 ],
[-0.8214484 , -0.8813257 , -1.7042575 , 1.2134799 , 1.530937 ]],
[[-0.08842818, -2.3269267 , -0.7379559 , 0.71526307, -0.92147946],
[-0.42176482, -0.2546885 , 0.6320057 , -1.148917 , -1.7351899 ],
[-0.0150405 , -0.7948117 , -0.9393947 , -0.88039076, -1.2827091 ],
[ 0.33037648, -0.52088577, 1.5395774 , 2.1163888 , -1.3960867 ]]]
y: shape=(5,), dtype=float32
[ 0.8498976 , -0.56461936, 1.0727223 , 0.32034445, 0.14509577]
Outputs:
greater_equal: shape=(3, 4, 5), dtype=bool
[[[ True, False, False, False, False],
[False, False, True, False, False],
[ True, False, False, False, True],
[False, True, True, False, False]],
[[False, True, False, False, False],
[False, True, False, False, True],
[False, True, True, True, True],
[False, False, False, True, True]],
[[False, False, False, True, False],
[False, True, False, False, False],
[False, False, False, False, False],
[False, True, True, True, False]]]
test_greater_equal_int16
Node:
GreaterOrEqual(x, y) -> (greater_equal)
Inputs:
x: shape=(3, 4, 5), dtype=int16
[[[ 0, 0, 1, -1, 0],
[ 0, -1, 1, 0, 0],
[ 0, 0, 0, 0, 1],
[-1, 1, 1, 0, -1]],
[[ 0, 0, 0, 0, 0],
[-1, 0, 0, 0, -1],
[ 0, -1, 0, 0, 0],
[ 0, 0, 0, 0, 1]],
[[-1, 0, -1, -2, 0],
[-2, 0, -2, 0, 0],
[ 0, 0, 0, 0, -1],
[ 0, 0, 0, -1, -1]]]
y: shape=(3, 4, 5), dtype=int16
[[[ 0, 0, 0, 0, 0],
[ 0, 0, 0, 0, -1],
[-1, 0, 0, 0, 0],
[-1, 0, 0, 0, 0]],
[[ 0, 0, 0, -1, 0],
[ 0, 0, 0, 1, 0],
[ 0, 0, 1, 0, 2],
[ 0, 0, 0, -1, 0]],
[[ 0, 0, 0, -1, 0],
[ 0, 0, 0, 1, 0],
[ 0, -1, -2, -1, 0],
[ 0, -1, -1, -1, 0]]]
Outputs:
greater_equal: shape=(3, 4, 5), dtype=bool
[[[ True, True, True, False, True],
[ True, False, True, True, True],
[ True, True, True, True, True],
[ True, True, True, True, False]],
[[ True, True, True, True, True],
[False, True, True, False, False],
[ True, False, False, True, False],
[ True, True, True, True, True]],
[[False, True, False, False, True],
[False, True, False, False, True],
[ True, True, True, True, False],
[ True, True, True, True, False]]]
test_greater_equal_int8
Node:
GreaterOrEqual(x, y) -> (greater_equal)
Inputs:
x: shape=(3, 4, 5), dtype=int8
[[[ 2, 0, 0, -1, 0],
[ 0, -1, -1, 2, -2],
[ 0, -1, 0, -1, -1],
[ 0, 0, 0, 0, -1]],
[[ 0, 0, 0, -1, 0],
[ 0, 0, 0, 0, 0],
[ 0, 0, -2, 1, -1],
[ 1, 2, 1, -1, 0]],
[[ 0, 0, 0, 0, 0],
[ 0, -1, 0, 0, 0],
[ 0, 0, 0, 0, 0],
[ 0, 2, 2, 0, -1]]]
y: shape=(3, 4, 5), dtype=int8
[[[ 0, 0, -1, 0, 2],
[ 0, -1, 0, 0, 0],
[ 0, -2, 0, 0, 1],
[-1, -1, 0, 0, 0]],
[[ 0, -1, 0, 0, -1],
[ 0, 0, 0, 0, 0],
[ 0, 0, 1, 0, 0],
[ 0, 0, 1, 0, 0]],
[[ 0, 0, -3, 0, 1],
[-1, 0, 0, 0, 0],
[-1, 0, 0, 1, 0],
[ 0, 0, 0, 1, -1]]]
Outputs:
greater_equal: shape=(3, 4, 5), dtype=bool
[[[ True, True, True, False, False],
[ True, True, False, True, False],
[ True, True, True, False, False],
[ True, True, True, True, False]],
[[ True, True, True, False, True],
[ True, True, True, True, True],
[ True, True, False, True, False],
[ True, True, True, False, True]],
[[ True, True, True, True, False],
[ True, False, True, True, True],
[ True, True, True, False, True],
[ True, True, True, False, True]]]
test_greater_equal_uint16
Node:
GreaterOrEqual(x, y) -> (greater_equal)
Inputs:
x: shape=(3, 4, 5), dtype=uint16
[[[19, 18, 14, 0, 12],
[11, 1, 23, 5, 12],
[11, 11, 16, 15, 7],
[17, 3, 17, 4, 3]],
[[ 1, 4, 12, 21, 16],
[10, 1, 5, 19, 18],
[ 0, 15, 2, 6, 22],
[ 8, 13, 22, 22, 5]],
[[ 3, 16, 10, 3, 11],
[18, 19, 11, 0, 6],
[19, 5, 8, 20, 21],
[ 2, 22, 2, 2, 16]]]
y: shape=(3, 4, 5), dtype=uint16
[[[22, 19, 2, 12, 15],
[12, 15, 17, 0, 8],
[ 6, 6, 10, 19, 20],
[10, 11, 14, 8, 7]],
[[ 5, 9, 11, 1, 3],
[ 1, 10, 22, 19, 21],
[ 0, 18, 21, 7, 14],
[23, 17, 11, 14, 1]],
[[16, 2, 8, 10, 21],
[19, 3, 7, 0, 8],
[ 4, 2, 1, 16, 14],
[23, 0, 1, 16, 8]]]
Outputs:
greater_equal: shape=(3, 4, 5), dtype=bool
[[[False, False, True, False, False],
[False, False, True, True, True],
[ True, True, True, False, False],
[ True, False, True, False, False]],
[[False, False, True, True, True],
[ True, False, False, True, False],
[ True, False, False, False, True],
[False, False, True, True, True]],
[[False, True, True, False, False],
[False, True, True, True, False],
[ True, True, True, True, True],
[False, True, True, False, True]]]
test_greater_equal_uint32
Node:
GreaterOrEqual(x, y) -> (greater_equal)
Inputs:
x: shape=(3, 4, 5), dtype=uint32
[[[ 3, 2, 10, 19, 9],
[23, 5, 22, 13, 17],
[ 5, 0, 9, 17, 6],
[10, 18, 0, 10, 20]],
[[14, 19, 9, 0, 21],
[23, 23, 14, 7, 9],
[17, 21, 22, 3, 20],
[20, 13, 21, 6, 12]],
[[16, 14, 14, 12, 14],
[16, 15, 23, 0, 7],
[14, 17, 17, 2, 12],
[17, 22, 13, 10, 18]]]
y: shape=(3, 4, 5), dtype=uint32
[[[ 1, 11, 23, 1, 4],
[ 7, 6, 12, 12, 1],
[ 1, 6, 11, 13, 7],
[13, 20, 3, 4, 8]],
[[15, 14, 20, 18, 5],
[20, 14, 11, 16, 13],
[23, 13, 21, 6, 0],
[ 4, 17, 17, 23, 6]],
[[ 8, 13, 13, 5, 17],
[12, 1, 0, 6, 4],
[20, 22, 20, 16, 15],
[ 5, 19, 14, 8, 8]]]
Outputs:
greater_equal: shape=(3, 4, 5), dtype=bool
[[[ True, False, False, True, True],
[ True, False, True, True, True],
[ True, False, False, True, False],
[False, False, False, True, True]],
[[False, True, False, False, True],
[ True, True, True, False, False],
[False, True, True, False, True],
[ True, False, True, False, True]],
[[ True, True, True, True, False],
[ True, True, True, False, True],
[False, False, False, False, False],
[ True, True, False, True, True]]]
test_greater_equal_uint64
Node:
GreaterOrEqual(x, y) -> (greater_equal)
Inputs:
x: shape=(3, 4, 5), dtype=uint64
[[[20, 17, 18, 17, 7],
[17, 22, 22, 8, 0],
[14, 4, 10, 16, 6],
[ 2, 18, 11, 23, 6]],
[[10, 0, 23, 5, 8],
[ 6, 12, 10, 6, 14],
[ 5, 9, 17, 1, 3],
[ 0, 6, 19, 23, 7]],
[[18, 18, 4, 17, 23],
[ 2, 23, 6, 21, 23],
[21, 13, 11, 1, 17],
[ 4, 16, 4, 17, 3]]]
y: shape=(3, 4, 5), dtype=uint64
[[[17, 1, 22, 10, 7],
[17, 2, 11, 15, 13],
[16, 17, 21, 3, 6],
[ 2, 16, 4, 6, 0]],
[[13, 11, 7, 3, 7],
[ 7, 7, 10, 22, 23],
[ 4, 14, 13, 13, 15],
[12, 9, 20, 12, 8]],
[[ 8, 21, 18, 18, 6],
[ 1, 3, 5, 3, 12],
[20, 7, 5, 1, 5],
[ 7, 17, 18, 8, 6]]]
Outputs:
greater_equal: shape=(3, 4, 5), dtype=bool
[[[ True, True, False, True, True],
[ True, True, True, False, False],
[False, False, False, True, True],
[ True, True, True, True, True]],
[[False, False, True, True, True],
[False, True, True, False, False],
[ True, False, True, False, False],
[False, False, False, True, False]],
[[ True, False, False, False, True],
[ True, True, True, True, True],
[ True, True, True, True, True],
[False, False, False, True, False]]]
test_greater_equal_uint8
Node:
GreaterOrEqual(x, y) -> (greater_equal)
Inputs:
x: shape=(3, 4, 5), dtype=uint8
[[[18, 15, 2, 10, 19],
[19, 13, 17, 23, 8],
[15, 6, 12, 1, 1],
[13, 13, 4, 16, 15]],
[[21, 10, 13, 19, 22],
[14, 1, 22, 20, 3],
[ 1, 21, 15, 5, 0],
[18, 20, 11, 4, 17]],
[[ 2, 23, 0, 6, 4],
[10, 5, 23, 8, 10],
[18, 0, 2, 15, 0],
[11, 20, 4, 18, 6]]]
y: shape=(3, 4, 5), dtype=uint8
[[[ 9, 17, 5, 9, 1],
[ 4, 2, 19, 4, 18],
[ 2, 3, 22, 12, 10],
[20, 3, 10, 20, 21]],
[[ 9, 15, 18, 13, 13],
[22, 21, 3, 19, 10],
[10, 2, 2, 0, 17],
[20, 15, 19, 12, 3]],
[[22, 15, 0, 22, 21],
[ 4, 19, 22, 6, 15],
[ 5, 19, 21, 22, 23],
[ 8, 23, 8, 3, 11]]]
Outputs:
greater_equal: shape=(3, 4, 5), dtype=bool
[[[ True, False, False, True, True],
[ True, True, False, True, False],
[ True, True, False, False, False],
[False, True, False, False, False]],
[[ True, False, False, True, True],
[False, False, True, True, False],
[False, True, True, True, False],
[False, True, False, False, True]],
[[False, True, True, False, False],
[ True, False, True, True, False],
[ True, False, False, False, False],
[ True, False, False, True, False]]]
Differences with previous version (12)#
SchemaDiff: GreaterOrEqual (domain 'ai.onnx')
old version: 12
new version: 16
breaking: no
Type constraints:
changed ‘T’: added types: [‘tensor(bfloat16)’]