def METHOD_NAME(self):
    x = torch.randn(1, 2, 3, 4, requires_grad=True)
    model = torch.nn.SELU()
    from onnxscript.onnx_opset import opset15 as op
    # TODO(titaiwang): make an official domain for onnxscript usage
    custom_opset = onnxscript.values.Opset(domain="onnx-script", version=1)
    @onnxscript.script(custom_opset)
    def Selu(X):
        # TODO: onnx/ort doesn't support default values for now
        # move this when they do
        alpha = 1.67326  # auto wrapped as Constants
        gamma = 1.0507
        alphaX = op.CastLike(alpha, X)
        gammaX = op.CastLike(gamma, X)
        neg = gammaX * (alphaX * op.Exp(X) - alphaX)
        pos = gammaX * X
        zero = op.CastLike(0, X)
        return op.Where(X <= zero, neg, pos)
    def custom_selu(g: jit_utils.GraphContext, X):
        return g.onnxscript_op(Selu, X).setType(X.type())
    torch.onnx.register_custom_op_symbolic(
        symbolic_name="aten::selu",
        symbolic_fn=custom_selu,
        opset_version=self.opset_version,
    )
    self.run_test(model, x)