def METHOD_NAME(self, strategy=None):
    optimizer = paddle.optimizer.Adam(
        learning_rate=self.learning_rate, lazy_mode=True)
    if strategy != None:
        import paddle.distributed.fleet as fleet
        optimizer = fleet.distributed_optimizer(optimizer, strategy)
    optimizer.minimize(self._cost)