from typing import List


def format_learning_rates(learning_rates: List[float]) -> str:
    """
    Converts a list of learning rates to a human readable string. Multiple entries are separated by semicolon.
    :param learning_rates: An iterable of learning rate values.
    :return: An empty string if the argument is None or empty, otherwise the string representation of the rates,
    formatted as {:0.2e}
    """
    if learning_rates is None or len(learning_rates) == 0:
        return ""
    return "; ".join("{:0.2e}".format(lr) for lr in learning_rates)