def METHOD_NAME(test_case):
    class CustomModule(flow.nn.Module):
        def __init__(self):
            super().__init__()
            self.para0 = flow.nn.Parameter(flow.Tensor(10, 4))
        def forward(self, x):
            x = flow._C.matmul(x, self.para0)
            return x
    m = CustomModule()
    learning_rate = 0.1
    momentum = 0.2
    weight_decay = 0.7
    sgd0 = flow.optim.SGD(
        [
            {
                "params": [m.para0],
                "lr": learning_rate,
                "momentum": momentum,
                "weight_decay": weight_decay,
            }
        ]
    )
    cosine_lr = flow.optim.lr_scheduler.CosineDecayLR(
        sgd0, decay_steps=100, alpha=0.1
    )
    class CustomGraph0(flow.nn.Graph):
        def __init__(self):
            super().__init__()
            self.m = m
            self.add_optimizer(sgd0)
        def build(self, x):
            out = self.m(x)
            out = out.mean()
            out.backward()
            return out
    g = CustomGraph0()
    x = flow.Tensor(4, 10)
    flow.nn.init.uniform_(x, a=-1.0, b=1.0)
    z = g._compile(x)
    print("repr(g): \n", repr(g))
    print("g.config.proto: \n", g.config.proto)
    print("graph proto: \n", g._graph_proto)