                    print("{} - {} sim = {}".format(f_name, s_name, sim))
                    if 'norm' in f_name:
                        print("{} range: min {} \t max {}".format(f_name, f_param.min(), f_param.max()))
                        print("{} range: min {} \t max {}".format(s_name, s_param.min(), s_param.max()))

    return sims, x_names, y_names


def compute_merge(model, sims, x_names, perc=0.3):
    """takes output of calculate_sim_by_type and returns merged layers at perc rate"""
    if perc > 1: perc /= 100
    indices, Ns = [], []

    model_name = model.__class__.__name__.lower().split('for')[0]