def setUp(self): from core.network.default_params import Perturbation_list as pl from_disk=2 import oscillation_perturbations4 as op rep=2 sim_time=rep*1000.0 local_num_threads=20 l=op.get() p=pl({'simu':{'sim_time':sim_time, 'sim_stop':sim_time, 'local_num_threads':local_num_threads}}, '=') p+=l[7] self.setup=Setup(**{'local_num_threads':local_num_threads, 'repetition':rep}) v=simulate(builder=Builder, from_disk=from_disk, perturbation_list=p, script_name=(__file__.split('/')[-1][0:-3] +'/data'), setup=self.setup) file_name, file_name_figs, from_disks, d, models= v self.file_name_figs=file_name_figs self.from_disks=from_disks self.d=d self.models=models
def perturbations(rep, res): threads = 4 l = [] # l.append(op.get()[0]) # l.append(op3.get()[3]) l = op.get()[4::3] ll = [] p_sizes = [ 0.1989460102, # 0.1608005821, # 0.122655154, # 0.0845097259 ] p_sizes = [p / p_sizes[0] for p in p_sizes] max_size = 4000 for ss, p_size in zip( [ 6.25, #8.3 , #12.5, # 25 ], p_sizes): for i, _l in enumerate(l): _l = deepcopy(_l) per = pl( { 'netw': { 'size': int(p_size * max_size), 'sub_sampling': { 'M1': ss, 'M2': ss }, } }, '=', **{'name': 'ss-' + str(ss)}) _l += per _l += pl({'simu': {'threads': threads}}, '=') ll.append(_l) for _l in ll: _l += pl( { 'conn': { 'FS_M1_gaba': { 'rule': 'set-not_set' }, 'FS_M2_gaba': { 'rule': 'set-not_set' } } }, '=') return ll, threads
def perturbations(rep, res): threads = 20 l = [] # l.append(op.get()[0]) # l.append(op.get()[4::3]) l.append(op.get()[4 + 3]) ll = [] # w=0.4 p_sizes = [0.1989460102, 0.1608005821, 0.122655154, 0.0845097259] p_sizes = [p / p_sizes[0] for p in p_sizes] max_size = 4000 for ss, p_size in zip([6.25, 8.3, 12.5, 25], p_sizes): for i, _l in enumerate(l): _l = deepcopy(_l) per = pl( { 'netw': { 'size': int(p_size * max_size), 'sub_sampling': { 'M1': ss, 'M2': ss }, } }, '=', **{'name': 'ss-' + str(ss)}) _l += per _l += pl({'simu': {'threads': threads}}, '=') ll.append(_l) # for _l in deepcopy([ll[0]]): # _lr=deepcopy(_l) # _lr.update_list( # pl({'nest':{'GA_M1_gaba':{'weight':5*2.*w}, # # 'GA_FS_gaba':{'weight':0.1} # }},'*', **{'name':'GA-XX-equal'})) # ll.append(_lr) # # _lr=deepcopy(_l) # _lr.update_list( # pl({'nest':{'GA_M1_gaba':{'weight':5*4.*w}, # # 'GA_FS_gaba':{'weight':0.1} # }},'*', **{'name':'GA-XX-equal'})) # ll.append(_lr) # # _lr=deepcopy(_l) # _lr.update_list( # pl({'nest':{'GA_M1_gaba':{'weight':5*0.5*w}, # # 'GA_FS_gaba':{'weight':0.1} # }},'*', **{'name':'GA-XX-equal'})) # ll.append(_lr) return ll, threads
def perturbations(): sim_time = 10000.0 size = 20000.0 threads = 1 freqs = [1., 2.0] path = ('/home/mikael/results/papers/inhibition' + '/network/simulate_inhibition_ZZZ4/') l = op.get()[-3:] for i in range(len(l)): l[i] += pl( { 'simu': { 'sim_time': sim_time, 'sim_stop': sim_time, 'threads': threads }, 'netw': { 'size': size } }, '=') damp = process(path, freqs) for key in sorted(damp.keys()): val = damp[key] print numpy.round(val, 2), key ll = [] for i, _l in enumerate(l): for j, _ in enumerate(freqs): amp = [numpy.round(damp[_l.name][j], 2), 1] d = { 'type': 'oscillation2', 'params': { 'p_amplitude_mod': amp[0], 'p_amplitude0': amp[1], 'freq': 20. } } _ll = deepcopy(_l) dd = {} for key in ['C1', 'C2', 'CF', 'CS']: dd = misc.dict_update(dd, {'netw': {'input': {key: d}}}) _ll += pl(dd, '=', **{'name': 'amp_{0}-{1}'.format(*amp)}) ll.append(_ll) return ll, threads
def perturbations(): threads = 8 l = [] # l.append(op.get()[0]) l.append(op.get()[7]) ll = [] l[-1] += pl({'simu': {'threads': threads}}, '=') return l, threads
def perturbations(rep, res): threads = 16 l = [] # l.append(op.get()[0]) # l.append(op.get()[4::3]) l.append(op.get()[4 + 3]) ll = [] p_sizes = [ # 0.1989460102, 0.1608005821, # 0.122655154, # 0.0845097259 ] p_sizes = [p / p_sizes[0] for p in p_sizes] max_size = 4000 for ss, p_size in zip( [ # 6.25, 8.3, # 12.5, # 25 ], p_sizes): for i, _l in enumerate(l): _l = deepcopy(_l) per = pl( { 'netw': { 'size': int(p_size * max_size), 'sub_sampling': { 'M1': ss, 'M2': ss }, } }, '=', **{'name': 'ss-' + str(ss)}) _l += per _l += pl({'simu': {'threads': threads}}, '=') ll.append(_l) return ll, threads
def perturbations(rep, res): sim_time = rep * res * 1000.0 size = 3000.0 threads = 8 l = op.get() for i in range(len(l)): l[i] += pl( { 'simu': { 'sim_time': sim_time, 'sim_stop': sim_time, 'threads': threads }, 'netw': { 'size': size } }, '=') return l, threads
def perturbations(rep,res, sizes): threads=40 l=[] # l.append(op.get()[0]) # l.append(op.get()[4::3]) l.append(op.get()[4+3]) ll=[] for size in sizes: for i, _l in enumerate(l): _lt=deepcopy(_l) per=pl({'netw':{'size':size, 'sub_sampling':{'M1':1, 'M2':1},}}, '=', **{'name':''}) _lt+=per _lt+=pl({'simu':{'threads':threads}},'=') ll.append(_lt) for l in ll[:]: for beta in [0, 0.9375, 0.3125]: _lb=deepcopy(l) per=pl({'nest':{'M1_low':{'beta_I_GABAA_2':beta }, 'M2_low':{'beta_I_GABAA_2':beta }, }}, '=', **{'name':'beta-'+str(beta)}) _lb+=per ll.append(_lb) return ll, threads
def get(): ll = [op.get()[7]] for l in ll[:]: for beta in [0., -0.9375, -0.3125]: _lb = deepcopy(l) per = pl( { 'nest': { 'M1_low': { 'beta_I_GABAA_2': beta }, 'M2_low': { 'beta_I_GABAA_2': beta }, } }, '=', **{'name': 'beta-' + str(beta)}) _lb += per ll.append(_lb) return ll
'do_runs': range(NUM_NETS / 2), #A run for each perturbation 'do_obj': False, 'i0': FROM_DISK_0, 'job_name': 'inh_YYY', 'l_hours': ['00', '00', '00'], 'l_minutes': ['15', '10', '5'], 'l_seconds': ['00', '00', '00'], 'lower': 1, 'local_threads_milner': 20, 'local_threads_superm': 5, 'module': module, 'nets': ['Net_{}'.format(i) for i in range(NUM_RUNS)], 'repetitions': 5, 'path_code': default_params.HOME_CODE, 'path_results': get_path_logs(LOAD_MILNER_ON_SUPERMICRO, FILE_NAME), 'perturbation_list': [op.get()[7]], 'size': 3000, 'upper': 1.5 } d_process_and_thread = par_process_and_thread(**kwargs) pp(d_process_and_thread) kwargs.update(d_process_and_thread) p_list = pert_add_MSN_cluster_compete(**kwargs) p_list = pert_set_data_path_to_milner_on_supermicro(p_list, LOAD_MILNER_ON_SUPERMICRO) for i, p in enumerate(p_list): print i, p
'laptime': 1000.0, 'local_threads_milner': 20, 'local_threads_superm': 4, 'max_size': 5000, 'module': module, 'nets': ['Net_0', 'Net_1', 'Net_2', 'Net_3', 'Net_4'], 'path_code': default_params.HOME_CODE, 'path_results': get_path_logs(LOAD_MILNER_ON_SUPERMICRO, FILE_NAME), 'perturbation_list': [op.get()[4 + 3]], 'p_sizes': [ 1, 0.523, 0.4278185787, ], 'p_subsamp': [ 1., 2.5, 5., ], 'res': 10, 'rep': 10, 'time_bin':
'freqs': [1.5], 'freq_oscillation': 20., 'from_disk_0': FROM_DISK_0, 'i0': FROM_DISK_0, 'job_name': 'beta_final', 'l_hours': ['00', '00', '00'], 'l_minutes': ['15', '10', '5'], 'l_seconds': ['00', '00', '00'], 'local_threads_milner': 20, 'local_threads_superm': 5, 'module': module, 'nets': ['Net_0', 'Net_1'], #The nets for each run 'path_code': default_params.HOME_CODE, 'path_rate_runs': get_path_rate_runs('simulate_inhibition_ZZZ4/'), 'path_results': get_path_logs(LOAD_MILNER_ON_SUPERMICRO, FILE_NAME), 'perturbation_list': op.get(), 'sim_time': 10000.0, 'size': 20000.0, } d_process_and_thread = par_process_and_thread(**kwargs) pp(d_process_and_thread) kwargs.update(d_process_and_thread) p_list = pert_add_oscillations(**kwargs) p_list = pert_set_data_path_to_milner_on_supermicro(p_list, LOAD_MILNER_ON_SUPERMICRO) for i, p in enumerate(p_list): print i, p
'GPe TA lesioned (D1,D2)'], 'laptime':1000.0, 'local_threads_milner':40, 'local_threads_superm':4, 'max_size':20000., 'module':module, 'nets':['Net_0', 'Net_1', 'Net_2', 'Net_3', 'Net_4'], 'other_scenario':True, 'path_code':default_params.HOME_CODE, 'path_results':get_path_logs(LOAD_MILNER_ON_SUPERMICRO, FILE_NAME), 'perturbation_list':[op.get()[4+3]], 'proportion_connected':[0.2]*1, #related to toal number fo runs 'p_sizes':[ 1. ], 'p_subsamp':[ 1. ], 'res':10, 'rep':80, 'time_bin':100, } d_process_and_thread=par_process_and_thread(**kwargs) kwargs.update(d_process_and_thread)
from scripts_inhibition.base_simulate import ( get_path_logs, get_args_list_inhibition, get_kwargs_list_indv_nets, par_process_and_thread, pert_set_data_path_to_milner_on_supermicro, pert_add_inhibition) import scripts_inhibition.base_inhibition_striatum as module import oscillation_perturbations4 as op import pprint pp = pprint.pprint FILE_NAME = __file__.split('/')[-1][0:-3] FROM_DISK_0 = 0 LOAD_MILNER_ON_SUPERMICRO = False NUM_NETS = 1 NUM_RUNS = len(op.get()) #A run for each perturbation num_sim = NUM_NETS * NUM_RUNS kwargs = { 'Builder': Builder, 'cores_milner': 40 * 1, 'cores_superm': 20, 'file_name': FILE_NAME, 'from_disk': 0, 'debug': False, 'do_runs': [0], #range(NUM_RUNS), #A run for each perturbation 'do_obj': False, 'i0': FROM_DISK_0, 'job_name': 'inh_YYY', 'l_hours': ['00', '00', '00'], 'l_minutes': ['15', '10', '5'],