Пример #1
0
def load_seperated_simulations(folder_name, plot_settings):
    folder_dir = 'save/{}'.format(folder_name)
    dir_list = all_folders_in_dir_with(folder_dir, 'sim')
    attrs_lists_all_sims_critical = []
    attrs_lists_all_sims_sub_critical = []
    for dir in dir_list:
        sim_name = dir[(dir.rfind('save/') + 5):]
        isings_list = load_isings_specific_path('{}/isings'.format(dir))
        if plot_settings['attr'] == 'norm_avg_energy' or plot_settings[
                'attr'] == 'norm_food_and_ts_avg_energy':
            settings = load_settings(sim_name)
            calc_normalized_fitness(isings_list, plot_settings, settings)
        isings_list_seperated = seperate_isolated_populations(isings_list)
        isings_list_critical = isings_list_seperated[0]
        isings_list_sub_critical = isings_list_seperated[1]
        attrs_list_critical = [
            attribute_from_isings(isings_crit, plot_settings['attr'])
            for isings_crit in isings_list_critical
        ]
        attrs_list_sub_critical = [
            attribute_from_isings(isings_sub, plot_settings['attr'])
            for isings_sub in isings_list_sub_critical
        ]

        attrs_lists_all_sims_critical.append(attrs_list_critical)
        attrs_lists_all_sims_sub_critical.append(attrs_list_sub_critical)

    return attrs_lists_all_sims_critical, attrs_lists_all_sims_sub_critical
def load_attrs(folder_name, plot_settings):
    folder_dir = 'save/{}'.format(folder_name)
    dir_list = all_folders_in_dir_with(folder_dir, 'sim')
    attrs_list_all_sims = []
    settings_list = []
    for dir in dir_list:
        sim_name = dir[(dir.rfind('save/')+5):]
        settings = load_settings(sim_name)

        if plot_settings['only_plot_certain_generations']:
            load_generations = np.arange(plot_settings['lowest_and_highest_generations_to_be_plotted'][0],
                                         plot_settings['lowest_and_highest_generations_to_be_plotted'][1]+1)
            isings_list = load_isings_from_list(sim_name, load_generations, decompress=plot_settings['decompress'])
        else:
            isings_list = load_isings_specific_path('{}/isings'.format(dir), decompress=plot_settings['decompress'])

        if plot_settings['only_copied']:
            isings_list = [choose_copied_isings(isings) for isings in isings_list]
        if plot_settings['attr'] == 'norm_avg_energy' or plot_settings['attr'] == 'norm_food_and_ts_avg_energy':

            calc_normalized_fitness(isings_list, plot_settings, settings)

        isings_list = below_threshold_nan(isings_list, settings)
        attrs_list = [attribute_from_isings(isings, plot_settings['attr']) if isings is not None else np.nan
                      for isings in isings_list]
        attrs_list_all_sims.append(attrs_list)
        del isings_list
        # settings_list.append(load_settings(dir))
    return attrs_list_all_sims
Пример #3
0
def load_data(sim_name, folder_name, dynamic_range_folder_includes, plot_settings):
    sim_dir = 'save/{}'.format(sim_name)

    attrs_list_each_food_num_all = []
    attrs_list_each_food_num_critical = []
    attrs_list_each_food_num_sub_critical = []
    food_num_list = []
    dir_list = all_folders_in_dir_with('{}/repeated_generations'.format(sim_dir), dynamic_range_folder_includes)
    for dir in dir_list:
        if plot_settings['compress_save_isings']:
            isings_list = load_isings_specific_path_decompress(dir)
        else:
            isings_list = load_isings_specific_path(dir)
        if plot_settings['only_copied']:
            isings_list = [choose_copied_isings(isings) for isings in isings_list]
        if plot_settings['attr'] == 'norm_avg_energy' or plot_settings['attr'] == 'norm_food_and_ts_avg_energy':
            settings = load_settings(sim_name)
            calc_normalized_fitness(isings_list, plot_settings, settings)
        # MERGING INDIVIDUALS OF ALL REPEATS WITH SIMILAR SETTINGS INTO ONE LIST:
        isings = make_2d_list_1d(isings_list)
        # isings_populations_seperated = seperate_isolated_populations([isings])
        # isings_critical = isings_populations_seperated[0][0]
        # isings_sub_critical = isings_populations_seperated[1][0]
        attrs_list_each_food_num_all.append(attribute_from_isings(isings, plot_settings['attr']))
        # attrs_list_each_food_num_critical.append(attribute_from_isings(isings_critical, attr))
        # attrs_list_each_food_num_sub_critical.append(attribute_from_isings(isings_sub_critical, attr))
        food_num_list.append(get_int_end_of_str(dir))
    return attrs_list_each_food_num_all, food_num_list
Пример #4
0
def load_data(attr, sim_name):
    sim_dir = 'save/{}'.format(sim_name)
    attrs_list_each_food_num_all = []
    attrs_list_each_food_num_critical = []
    attrs_list_each_food_num_sub_critical = []
    food_num_list = []
    dir_list = all_folders_in_dir_with('{}/repeated_generations'.format(sim_dir), 'foods_dynamic_range_run')
    for dir in dir_list:
        isings_list = load_isings_specific_path(dir)
        isings = make_2d_list_1d(isings_list)
        isings_populations_seperated = seperate_isolated_populations([isings])
        isings_critical = isings_populations_seperated[0][0]
        isings_sub_critical = isings_populations_seperated[1][0]
        attrs_list_each_food_num_all.append(attribute_from_isings(isings, attr))
        attrs_list_each_food_num_critical.append(attribute_from_isings(isings_critical, attr))
        attrs_list_each_food_num_sub_critical.append(attribute_from_isings(isings_sub_critical, attr))
        food_num_list.append(get_int_end_of_str(dir))
    return attrs_list_each_food_num_all, attrs_list_each_food_num_critical, attrs_list_each_food_num_sub_critical, food_num_list
def create_df(run_combis, runs_name, attr):
    data = []
    labels = []
    for run_combi in run_combis:
        switched_repeat_isings, same_repeat_isings = extract_isings(run_combi, runs_name)


        #Create data frame label
        if run_combi.season == 'summer':
            switched_to = 'winter'
        elif run_combi.season == 'winter':
            switched_to = 'summer'

        #switched_label = "b{} switched from {} to {}".format(run_combi.beta, run_combi.season, switched_to)
        switched_label = "b{} switched to {} {}".format(run_combi.beta, switched_to, run_combi.same_repeat)

        same_label = "b{} {} {}".format(run_combi.beta, run_combi.season, run_combi.same_repeat)

        # Make the currently 2d "repeat_isings" list 1d, which means that all ising objects from all repeated generations are in one big list
        switched_repeat_isings_1d = make_2d_list_1d(switched_repeat_isings)
        same_repeat_isings_1d = make_2d_list_1d(same_repeat_isings)
        del switched_repeat_isings
        del same_repeat_isings

        # Extract attributes from isings
        switched_repeat_isings_1d_attr = attribute_from_isings(switched_repeat_isings_1d, attr)
        same_repeat_isings_1d_attr = attribute_from_isings(same_repeat_isings_1d, attr)
        del switched_repeat_isings_1d
        del same_repeat_isings_1d


        # Append stuff to lists that will be converted to df
        data.append(same_repeat_isings_1d_attr)
        data.append(switched_repeat_isings_1d_attr)
        labels.append(same_label)
        labels.append(switched_label)



    sims_per_label = run_combi.tot_same_repeats
    unordered_df = list_to_df(data, labels, sims_per_label)
    return unordered_df