import tensorflow as tf

            # Decrease keep prob deeper into network
            keep_prob = 1 - layers_ratio * (1 - drop_path_keep_prob)

            # Decrease keep prob with increasing steps
            steps_per_epoch = math.ceil(N / batch_size)
            steps_ratio = tf.minimum(((step + 1) / steps_per_epoch) / drop_path_decay_epochs, 1)
            keep_prob = 1 - steps_ratio * (1 - keep_prob)
            keep_prob = tf.cast(keep_prob, tf.float32)

            # Monitor last layer's keep prob
