def make_field_desc_map(features):
    """
    Build a FieldDesc dict by the features.

    Args:
        features (dict[str -> list[FeatureColumn]]): the
            input feature columns. The key of the dict is
            the target name, e.g. "feature_columns".

    Returns:
        A map of type dict[str -> FieldDesc], where the
        key is the field name.
    """
    fd_map = {}
    for _, fc_list in features.items():
        for fc in fc_list:
            for fd in fc.get_field_desc():
                fd_map[fd.name] = fd

    return fd_map