.. _l-onnx-doc-Softsign: ======== Softsign ======== .. contents:: :local: .. _l-onnx-op-softsign-1: Softsign - 1 ============ **Version** * **name**: `Softsign (GitHub) `_ * **domain**: **main** * **since_version**: **1** * **function**: True * **support_level**: SupportType.COMMON * **shape inference**: True This version of the operator has been available **since version 1**. **Summary** Calculates the softsign (x/(1+|x|)) of the given input tensor element-wise. **Inputs** * **input** (heterogeneous) - **T**: Input tensor **Outputs** * **output** (heterogeneous) - **T**: The softsign (x/(1+|x|)) values of the input tensor computed element-wise **Type Constraints** * **T** in ( tensor(double), tensor(float), tensor(float16) ): Constrain input and output types to float tensors. **Examples** **default** :: node = onnx.helper.make_node( "Softsign", inputs=["x"], outputs=["y"], ) x = np.array([-1, 0, 1]).astype(np.float32) y = np.array([-0.5, 0, 0.5]).astype(np.float32) expect(node, inputs=[x], outputs=[y], name="test_softsign_example") x = np.random.randn(3, 4, 5).astype(np.float32) y = x / (1 + np.abs(x)) expect(node, inputs=[x], outputs=[y], name="test_softsign")