(l-onnx-doc-Mean)= # Mean (l-onnx-op-mean-13)= ## Mean - 13 ### Version - **name**: [Mean (GitHub)](https://github.com/onnx/onnx/blob/main/docs/Operators.md#Mean) - **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 Element-wise mean of each of the input tensors (with Numpy-style broadcasting support). All inputs and outputs must have the same data type. This operator supports **multidirectional (i.e., Numpy-style) broadcasting**; for more details please check [Broadcasting in ONNX](https://github.com/onnx/onnx/blob/main/docs/Broadcasting.md). ### Inputs Between 1 and 2147483647 inputs. - **data_0** (variadic, heterogeneous) - **T**: List of tensors for mean. ### Outputs - **mean** (heterogeneous) - **T**: Output tensor. ### Type Constraints * **T** in ( `tensor(bfloat16)`, `tensor(double)`, `tensor(float)`, `tensor(float16)` ): Constrain input and output types to float tensors. ### Examples #### default ```python import numpy as np import onnx data_0 = np.array([3, 0, 2]).astype(np.float32) data_1 = np.array([1, 3, 4]).astype(np.float32) data_2 = np.array([2, 6, 6]).astype(np.float32) result = np.array([2, 3, 4]).astype(np.float32) node = onnx.helper.make_node( "Mean", inputs=["data_0", "data_1", "data_2"], outputs=["result"], ) expect( node, inputs=[data_0, data_1, data_2], outputs=[result], name="test_mean_example", ) node = onnx.helper.make_node( "Mean", inputs=["data_0"], outputs=["result"], ) expect(node, inputs=[data_0], outputs=[data_0], name="test_mean_one_input") result = np.divide(np.add(data_0, data_1), 2.0) node = onnx.helper.make_node( "Mean", inputs=["data_0", "data_1"], outputs=["result"], ) expect( node, inputs=[data_0, data_1], outputs=[result], name="test_mean_two_inputs" ) ``` ```{toctree} text_diff_Mean_8_13 ``` (l-onnx-op-mean-8)= ## Mean - 8 ### Version - **name**: [Mean (GitHub)](https://github.com/onnx/onnx/blob/main/docs/Operators.md#Mean) - **domain**: `main` - **since_version**: `8` - **function**: `False` - **support_level**: `SupportType.COMMON` - **shape inference**: `True` This version of the operator has been available **since version 8**. ### Summary Element-wise mean of each of the input tensors (with Numpy-style broadcasting support). All inputs and outputs must have the same data type. This operator supports **multidirectional (i.e., Numpy-style) broadcasting**; for more details please check [Broadcasting in ONNX](https://github.com/onnx/onnx/blob/main/docs/Broadcasting.md). ### Inputs Between 1 and 2147483647 inputs. - **data_0** (variadic, heterogeneous) - **T**: List of tensors for mean. ### Outputs - **mean** (heterogeneous) - **T**: Output tensor. ### Type Constraints * **T** in ( `tensor(double)`, `tensor(float)`, `tensor(float16)` ): Constrain input and output types to float tensors. ```{toctree} text_diff_Mean_6_13 text_diff_Mean_6_8 ``` (l-onnx-op-mean-6)= ## Mean - 6 ### Version - **name**: [Mean (GitHub)](https://github.com/onnx/onnx/blob/main/docs/Operators.md#Mean) - **domain**: `main` - **since_version**: `6` - **function**: `False` - **support_level**: `SupportType.COMMON` - **shape inference**: `True` This version of the operator has been available **since version 6**. ### Summary Element-wise mean of each of the input tensors. All inputs and outputs must have the same shape and data type. ### Inputs Between 1 and 2147483647 inputs. - **data_0** (variadic, heterogeneous) - **T**: List of tensors for Mean. ### Outputs - **mean** (heterogeneous) - **T**: Output tensor. Same dimension as inputs. ### Type Constraints * **T** in ( `tensor(double)`, `tensor(float)`, `tensor(float16)` ): Constrain input and output types to float tensors. ```{toctree} text_diff_Mean_1_13 text_diff_Mean_1_8 text_diff_Mean_1_6 ``` (l-onnx-op-mean-1)= ## Mean - 1 ### Version - **name**: [Mean (GitHub)](https://github.com/onnx/onnx/blob/main/docs/Operators.md#Mean) - **domain**: `main` - **since_version**: `1` - **function**: `False` - **support_level**: `SupportType.COMMON` - **shape inference**: `False` This version of the operator has been available **since version 1**. ### Summary Element-wise mean of each of the input tensors. All inputs and outputs must have the same shape and data type. ### Attributes * **consumed_inputs - INTS** : legacy optimization attribute. ### Inputs Between 1 and 2147483647 inputs. - **data_0** (variadic, heterogeneous) - **T**: List of tensors for Mean. ### Outputs - **mean** (heterogeneous) - **T**: Output tensor. Same dimension as inputs. ### Type Constraints * **T** in ( `tensor(double)`, `tensor(float)`, `tensor(float16)` ): Constrain input and output types to float tensors.