Example #1
0
def publish_results_to_database(db_config, scenario_name: str, fold: int,
                                approach: str, metric_name: str,
                                result: float):
    db_handle, table_name = database_utils.initialize_mysql_db_and_table_name_from_config(
        db_config)

    db_cursor = db_handle.cursor()
    sql_statement = "INSERT INTO " + table_name + " (scenario_name, fold, approach, metric, result) VALUES (%s, %s, %s, %s, %s)"
    values = (scenario_name, fold, approach, metric_name, str(result))
    db_cursor.execute(sql_statement, values)
    db_handle.commit()

    db_cursor.close()
    db_handle.close()
    logger.info("Postprocessed all output files.")


#######################
#         MAIN        #
#######################

initialize_logging()
config = load_configuration()
logger.info("Running experiments with config:")
print_config(config)

#fold = int(sys.argv[1])
#logger.info("Running experiments for fold " + str(fold))

db_handle, table_name = database_utils.initialize_mysql_db_and_table_name_from_config(
    config)
database_utils.create_table_if_not_exists(db_handle, table_name)

amount_of_cpus_to_use = int(config['EXPERIMENTS']['amount_of_cpus'])
pool = mp.Pool(amount_of_cpus_to_use)

scenarios = config["EXPERIMENTS"]["scenarios"].split(",")
path_to_scenario_folder = config["EXPERIMENTS"]["data_folder"]
approach_names = config["EXPERIMENTS"]["approaches"].split(",")
amount_of_scenario_training_instances = int(
    config["EXPERIMENTS"]["amount_of_training_scenario_instances"])
tune_hyperparameters = bool(int(config["EXPERIMENTS"]["tune_hyperparameters"]))

for fold in range(1, 11):

    for scenario in scenarios: