(l-onnx-doc-Not)= # Not (l-onnx-op-not-1)= ## Not - 1 ### Version - **name**: [Not (GitHub)](https://github.com/onnx/onnx/blob/main/docs/Operators.md#Not) - **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 Returns the negation of the input tensor element-wise. ### Inputs - **X** (heterogeneous) - **T**: Input tensor ### Outputs - **Y** (heterogeneous) - **T**: Output tensor ### Type Constraints * **T** in ( `tensor(bool)` ): Constrain input/output to boolean tensors. ### Examples #### default ```python import numpy as np import onnx node = onnx.helper.make_node( "Not", inputs=["x"], outputs=["not"], ) # 2d x = (np.random.randn(3, 4) > 0).astype(bool) expect(node, inputs=[x], outputs=[np.logical_not(x)], name="test_not_2d") # 3d x = (np.random.randn(3, 4, 5) > 0).astype(bool) expect(node, inputs=[x], outputs=[np.logical_not(x)], name="test_not_3d") # 4d x = (np.random.randn(3, 4, 5, 6) > 0).astype(bool) expect(node, inputs=[x], outputs=[np.logical_not(x)], name="test_not_4d") ```