ReduceMin#

ReduceMin - 13#

Version

  • name: ReduceMin (GitHub)

  • domain: main

  • since_version: 13

  • function: False

  • support_level: SupportType.COMMON

  • shape inference: True

This version of the operator has been available since version 13.

Summary

Computes the min of the input tensor’s element along the provided axes. The resulting tensor has the same rank as the input if keepdims equals 1. If keepdims equals 0, then the resulting tensor has the reduced dimension pruned.

The above behavior is similar to numpy, with the exception that numpy defaults keepdims to False instead of True.

Attributes

  • axes: A list of integers, along which to reduce. The default is to reduce over all the dimensions of the input tensor. Accepted range is [-r, r-1] where r = rank(data).

  • keepdims: Keep the reduced dimension or not, default 1 means keep reduced dimension. Default value is 1.

Inputs

  • data (heterogeneous) - T: An input tensor.

Outputs

  • reduced (heterogeneous) - T: Reduced output tensor.

Type Constraints

  • T in ( tensor(bfloat16), tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(int64), tensor(int8), tensor(uint32), tensor(uint64), tensor(uint8) ): Constrain input and output types to high-precision and 8 bit numeric tensors.

Examples

_do_not_keepdims

shape = [3, 2, 2]
axes = [1]
keepdims = 0

node = onnx.helper.make_node(
    'ReduceMin',
    inputs=['data'],
    outputs=['reduced'],
    axes=axes,
    keepdims=keepdims)

data = np.array([[[5, 1], [20, 2]], [[30, 1], [40, 2]], [[55, 1], [60, 2]]], dtype=np.float32)
reduced = np.minimum.reduce(data, axis=tuple(axes), keepdims=keepdims == 1)
#print(reduced)
#[[5., 1.]
# [30., 1.]
# [55., 1.]]

expect(node, inputs=[data], outputs=[reduced], name='test_reduce_min_do_not_keepdims_example')

np.random.seed(0)
data = np.random.uniform(-10, 10, shape).astype(np.float32)
reduced = np.minimum.reduce(data, axis=tuple(axes), keepdims=keepdims == 1)

expect(node, inputs=[data], outputs=[reduced], name='test_reduce_min_do_not_keepdims_random')

_keepdims

shape = [3, 2, 2]
axes = [1]
keepdims = 1

node = onnx.helper.make_node(
    'ReduceMin', inputs=['data'],
    outputs=['reduced'],
    axes=axes,
    keepdims=keepdims)

data = np.array([[[5, 1], [20, 2]], [[30, 1], [40, 2]], [[55, 1], [60, 2]]], dtype=np.float32)
reduced = np.minimum.reduce(data, axis=tuple(axes), keepdims=keepdims == 1)
#print(reduced)
#[[[5., 1.]]
# [[30., 1.]]
# [[55., 1.]]]

expect(node, inputs=[data], outputs=[reduced], name='test_reduce_min_keepdims_example')

np.random.seed(0)
data = np.random.uniform(-10, 10, shape).astype(np.float32)
reduced = np.minimum.reduce(data, axis=tuple(axes), keepdims=keepdims == 1)

expect(node, inputs=[data], outputs=[reduced], name='test_reduce_min_keepdims_random')

_default_axes_keepdims

shape = [3, 2, 2]
axes = None
keepdims = 1

node = onnx.helper.make_node(
    'ReduceMin',
    inputs=['data'],
    outputs=['reduced'],
    keepdims=keepdims)

data = np.array([[[5, 1], [20, 2]], [[30, 1], [40, 2]], [[55, 1], [60, 2]]], dtype=np.float32)
reduced = np.minimum.reduce(data, axis=axes, keepdims=keepdims == 1)
#print(reduced)
#[[[1.]]]

expect(node, inputs=[data], outputs=[reduced], name='test_reduce_min_default_axes_keepdims_example')

np.random.seed(0)
data = np.random.uniform(-10, 10, shape).astype(np.float32)
reduced = np.minimum.reduce(data, axis=axes, keepdims=keepdims == 1)

expect(node, inputs=[data], outputs=[reduced], name='test_reduce_min_default_axes_keepdims_random')

_negative_axes_keepdims

shape = [3, 2, 2]
axes = [-2]
keepdims = 1

node = onnx.helper.make_node(
    'ReduceMin', inputs=['data'],
    outputs=['reduced'],
    axes=axes,
    keepdims=keepdims)

data = np.array([[[5, 1], [20, 2]], [[30, 1], [40, 2]], [[55, 1], [60, 2]]], dtype=np.float32)
reduced = np.minimum.reduce(data, axis=tuple(axes), keepdims=keepdims == 1)
# print(reduced)
#[[[5., 1.]]
# [[30., 1.]]
# [[55., 1.]]]

expect(node, inputs=[data], outputs=[reduced], name='test_reduce_min_negative_axes_keepdims_example')

np.random.seed(0)
data = np.random.uniform(-10, 10, shape).astype(np.float32)
reduced = np.minimum.reduce(data, axis=tuple(axes), keepdims=keepdims == 1)

expect(node, inputs=[data], outputs=[reduced], name='test_reduce_min_negative_axes_keepdims_random')

Differences

00Computes the min of the input tensor's element along the provided axes. The resultingComputes the min of the input tensor's element along the provided axes. The resulting
11tensor has the same rank as the input if keepdims equals 1. If keepdims equal 0, thentensor has the same rank as the input if keepdims equals 1. If keepdims equals 0, then
22the resulted tensor have the reduced dimension pruned.the resulting tensor has the reduced dimension pruned.
33
44The above behavior is similar to numpy, with the exception that numpy defaults keepdims toThe above behavior is similar to numpy, with the exception that numpy defaults keepdims to
55False instead of True.False instead of True.
66
77**Attributes****Attributes**
88
99* **axes**:* **axes**:
1010 A list of integers, along which to reduce. The default is to reduce A list of integers, along which to reduce. The default is to reduce
1111 over all the dimensions of the input tensor. Accepted range is [-r, over all the dimensions of the input tensor. Accepted range is [-r,
1212 r-1] where r = rank(data). r-1] where r = rank(data).
1313* **keepdims**:* **keepdims**:
1414 Keep the reduced dimension or not, default 1 means keep reduced Keep the reduced dimension or not, default 1 means keep reduced
1515 dimension. Default value is 1. dimension. Default value is 1.
1616
1717**Inputs****Inputs**
1818
1919* **data** (heterogeneous) - **T**:* **data** (heterogeneous) - **T**:
2020 An input tensor. An input tensor.
2121
2222**Outputs****Outputs**
2323
2424* **reduced** (heterogeneous) - **T**:* **reduced** (heterogeneous) - **T**:
2525 Reduced output tensor. Reduced output tensor.
2626
2727**Type Constraints****Type Constraints**
2828
2929* **T** in (* **T** in (
30 tensor(bfloat16),
3031 tensor(double), tensor(double),
3132 tensor(float), tensor(float),
3233 tensor(float16), tensor(float16),
3334 tensor(int32), tensor(int32),
3435 tensor(int64), tensor(int64),
3536 tensor(int8), tensor(int8),
3637 tensor(uint32), tensor(uint32),
3738 tensor(uint64), tensor(uint64),
3839 tensor(uint8) tensor(uint8)
3940 ): ):
4041 Constrain input and output types to high-precision and 8 bit numeric Constrain input and output types to high-precision and 8 bit numeric
4142 tensors. tensors.

ReduceMin - 12#

Version

  • name: ReduceMin (GitHub)

  • domain: main

  • since_version: 12

  • function: False

  • support_level: SupportType.COMMON

  • shape inference: True

This version of the operator has been available since version 12.

Summary

Computes the min of the input tensor’s element along the provided axes. The resulting tensor has the same rank as the input if keepdims equals 1. If keepdims equal 0, then the resulted tensor have the reduced dimension pruned.

The above behavior is similar to numpy, with the exception that numpy defaults keepdims to False instead of True.

Attributes

  • axes: A list of integers, along which to reduce. The default is to reduce over all the dimensions of the input tensor. Accepted range is [-r, r-1] where r = rank(data).

  • keepdims: Keep the reduced dimension or not, default 1 means keep reduced dimension. Default value is 1.

Inputs

  • data (heterogeneous) - T: An input tensor.

Outputs

  • reduced (heterogeneous) - T: Reduced output tensor.

Type Constraints

  • T in ( tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(int64), tensor(int8), tensor(uint32), tensor(uint64), tensor(uint8) ): Constrain input and output types to high-precision and 8 bit numeric tensors.

Differences

00Computes the min of the input tensor's element along the provided axes. The resultingComputes the min of the input tensor's element along the provided axes. The resulting
11tensor has the same rank as the input if keepdims equals 1. If keepdims equal 0, thentensor has the same rank as the input if keepdims equals 1. If keepdims equal 0, then
22the resulted tensor have the reduced dimension pruned.the resulted tensor have the reduced dimension pruned.
33
44The above behavior is similar to numpy, with the exception that numpy defaults keepdims toThe above behavior is similar to numpy, with the exception that numpy defaults keepdims to
55False instead of True.False instead of True.
66
77**Attributes****Attributes**
88
99* **axes**:* **axes**:
1010 A list of integers, along which to reduce. The default is to reduce A list of integers, along which to reduce. The default is to reduce
1111 over all the dimensions of the input tensor. Accepted range is [-r, over all the dimensions of the input tensor. Accepted range is [-r,
1212 r-1] where r = rank(data). r-1] where r = rank(data).
1313* **keepdims**:* **keepdims**:
1414 Keep the reduced dimension or not, default 1 means keep reduced Keep the reduced dimension or not, default 1 means keep reduced
1515 dimension. Default value is 1. dimension. Default value is 1.
1616
1717**Inputs****Inputs**
1818
1919* **data** (heterogeneous) - **T**:* **data** (heterogeneous) - **T**:
2020 An input tensor. An input tensor.
2121
2222**Outputs****Outputs**
2323
2424* **reduced** (heterogeneous) - **T**:* **reduced** (heterogeneous) - **T**:
2525 Reduced output tensor. Reduced output tensor.
2626
2727**Type Constraints****Type Constraints**
2828
2929* **T** in (* **T** in (
3030 tensor(double), tensor(double),
3131 tensor(float), tensor(float),
3232 tensor(float16), tensor(float16),
3333 tensor(int32), tensor(int32),
3434 tensor(int64), tensor(int64),
35 tensor(int8),
3536 tensor(uint32), tensor(uint32),
3637 tensor(uint64) tensor(uint64),
38 tensor(uint8)
3739 ): ):
3840 Constrain input and output types to high-precision numeric tensors. Constrain input and output types to high-precision and 8 bit numeric
41 tensors.

ReduceMin - 11#

Version

  • name: ReduceMin (GitHub)

  • domain: main

  • since_version: 11

  • function: False

  • support_level: SupportType.COMMON

  • shape inference: True

This version of the operator has been available since version 11.

Summary

Computes the min of the input tensor’s element along the provided axes. The resulting tensor has the same rank as the input if keepdims equals 1. If keepdims equal 0, then the resulted tensor have the reduced dimension pruned.

The above behavior is similar to numpy, with the exception that numpy defaults keepdims to False instead of True.

Attributes

  • axes: A list of integers, along which to reduce. The default is to reduce over all the dimensions of the input tensor. Accepted range is [-r, r-1] where r = rank(data).

  • keepdims: Keep the reduced dimension or not, default 1 means keep reduced dimension. Default value is 1.

Inputs

  • data (heterogeneous) - T: An input tensor.

Outputs

  • reduced (heterogeneous) - T: Reduced output tensor.

Type Constraints

  • T in ( tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(int64), tensor(uint32), tensor(uint64) ): Constrain input and output types to high-precision numeric tensors.

Differences

00Computes the min of the input tensor's element along the provided axes. The resultingComputes the min of the input tensor's element along the provided axes. The resulting
11tensor has the same rank as the input if keepdims equals 1. If keepdims equal 0, thentensor has the same rank as the input if keepdims equals 1. If keepdims equal 0, then
22the resulted tensor have the reduced dimension pruned.the resulted tensor have the reduced dimension pruned.
33
44The above behavior is similar to numpy, with the exception that numpy defaults keepdims toThe above behavior is similar to numpy, with the exception that numpy defaults keepdims to
55False instead of True.False instead of True.
66
77**Attributes****Attributes**
88
99* **axes**:* **axes**:
1010 A list of integers, along which to reduce. The default is to reduce A list of integers, along which to reduce. The default is to reduce
1111 over all the dimensions of the input tensor. over all the dimensions of the input tensor. Accepted range is [-r,
12 r-1] where r = rank(data).
1213* **keepdims**:* **keepdims**:
1314 Keep the reduced dimension or not, default 1 means keep reduced Keep the reduced dimension or not, default 1 means keep reduced
1415 dimension. Default value is 1. dimension. Default value is 1.
1516
1617**Inputs****Inputs**
1718
1819* **data** (heterogeneous) - **T**:* **data** (heterogeneous) - **T**:
1920 An input tensor. An input tensor.
2021
2122**Outputs****Outputs**
2223
2324* **reduced** (heterogeneous) - **T**:* **reduced** (heterogeneous) - **T**:
2425 Reduced output tensor. Reduced output tensor.
2526
2627**Type Constraints****Type Constraints**
2728
2829* **T** in (* **T** in (
2930 tensor(double), tensor(double),
3031 tensor(float), tensor(float),
3132 tensor(float16), tensor(float16),
3233 tensor(int32), tensor(int32),
3334 tensor(int64), tensor(int64),
3435 tensor(uint32), tensor(uint32),
3536 tensor(uint64) tensor(uint64)
3637 ): ):
3738 Constrain input and output types to high-precision numeric tensors. Constrain input and output types to high-precision numeric tensors.

ReduceMin - 1#

Version

  • name: ReduceMin (GitHub)

  • domain: main

  • since_version: 1

  • function: False

  • support_level: SupportType.COMMON

  • shape inference: True

This version of the operator has been available since version 1.

Summary

Computes the min of the input tensor’s element along the provided axes. The resulting tensor has the same rank as the input if keepdims equals 1. If keepdims equal 0, then the resulted tensor have the reduced dimension pruned.

The above behavior is similar to numpy, with the exception that numpy defaults keepdims to False instead of True.

Attributes

  • axes: A list of integers, along which to reduce. The default is to reduce over all the dimensions of the input tensor.

  • keepdims: Keep the reduced dimension or not, default 1 means keep reduced dimension. Default value is 1.

Inputs

  • data (heterogeneous) - T: An input tensor.

Outputs

  • reduced (heterogeneous) - T: Reduced output tensor.

Type Constraints

  • T in ( tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(int64), tensor(uint32), tensor(uint64) ): Constrain input and output types to high-precision numeric tensors.