"learning_rate": 10.0, "initial_weight": 1e3, # (pA) "rho": 0.01, # (Hz) "delta": 0.2, # (mV) "E_L": -70.0, # (mV) "record_stimuli_to_file": False, "record_connections_to_file": False, "record_input_to_file": False, "record_output_to_file": False, "file_name_input": "input-{generation}-{label}.npy", "file_name_output": "output-{generation}-{label}.npy", "file_name_stimuli": "stimuli-{generation}.npy", "file_name_template": "connections-{generation}-{label}.npy", } sim_key = dicthash.generate_hash_from_dict(sim_params) params = { "sim_key": sim_key, # consistency check # machine setup "submit_command": "sbatch", "jobfile_template": "slurm_template.jdf", "jobname": <jobname>, "wall_clock_limit": "12:00:00", "n_processes": 8, "n_threads": 8, "n_nodes": 1, "mail": <mail>, "account": <account>, "partition": <partition>, "sim_script": "main.py",
results_folder = 'optimized_run_time_12h' initial_seed_array = [ 1234567810, 1234567820, 1234567830, 1234567840, 1234567850, 1234567860, 1234567870, 1234567880, 1234567890 ] for use_drxeot_init in [True]: params['use_drxeot_init'] = use_drxeot_init for initial_seed in initial_seed_array: params['seeds'] = np.linspace(initial_seed, initial_seed + 3, 4) key = dicthash.generate_hash_from_dict(params) params['outputdir'] = os.path.join(os.getcwd(), results_folder, key) params['workingdir'] = os.getcwd() submit_job = True print('preparing job') print(' ', params['outputdir']) utils.mkdirp(params['outputdir']) utils.write_pickle( params, os.path.join(params['outputdir'], 'params.pickle')) utils.create_jobfile(params) utils.copy_file(params['sim_script'], params['outputdir'])
# evo parameters "population_params": {"n_parents": 8, "mutation_rate": 0.05}, "ea_params": {"n_offsprings": 8, "n_breeding": 8, "tournament_size": 1}, "genome_params": { "n_inputs": 2, "n_outputs": 1, "n_columns": 5, "n_rows": 1, "levels_back": None, }, }, } params["md5_hash_sim_script"] = utils.md5_file(params["machine_params"]["sim_script"]) key = dicthash.generate_hash_from_dict(params, blacklist=[("gp_params", "max_generations")]) params["machine_params"]["workingdir"] = os.getcwd() params["machine_params"]["outputdir"] = os.path.join(params["machine_params"]["workingdir"], key) print("preparing job") print(" ", params["machine_params"]["outputdir"]) utils.mkdirp(params["machine_params"]["outputdir"]) utils.write_json(params, f"{params['machine_params']['outputdir']}/params.json") utils.create_jobfile(params["machine_params"]) utils.copy_file(params["machine_params"]["sim_script"], params["machine_params"]["outputdir"]) for fn in ["write_job.py", "sim_utils.py", "primitive_utils.py"]: utils.copy_file(fn, params["machine_params"]["outputdir"]) os.chdir(params["machine_params"]["outputdir"])