def get_learning_rate(
        self,
        init_lr=None,
        decay_epoch=None,
        decay_mult=None,
        iters_per_epoch=None,
        decay_iter=None,
        global_step=None,
        decay_lr=True,
    ):
        """Prepares the learning rate.

        Args:
            init_lr: The initial learning rate
            decay_epoch: The epoch of decay
            decay_mult: The decay factor
            iters_per_epoch: Number of iterations per epoch
            decay_iter: The iteration of decay [either this or decay_epoch
            should be set]
            global_step:
            decay_lr:

        Returns:
            `tf.Tensor` of the learning rate.
        """
        if init_lr is None:
            init_lr = self.learning_rate
        if global_step is None:
            global_step = self.global_step

        if decay_epoch:
            assert iters_per_epoch

            # if iters_per_epoch is None:
            #     iters_per_epoch = self.iters_per_epoch
        else:
            assert decay_iter

        if decay_lr:
            if decay_epoch:
                decay_iter = decay_epoch * iters_per_epoch
            return tf.train.exponential_decay(init_lr, global_step, decay_iter, decay_mult, staircase=True)
        else:
            return tf.constant(self.learning_rate)
Prepares the learning rate.

        Args:
            init_lr: The initial learning rate
            decay_epoch: The epoch of decay
            decay_mult: The decay factor
            iters_per_epoch: Number of iterations per epoch
            decay_iter: The iteration of decay [either this or decay_epoch
            should be set]
            global_step:
            decay_lr:

        Returns:
            `tf.Tensor` of the learning rate.
        
examples/inverse_gan_author_utils.py