tried to make parrallel fitting not need more and more ram
This commit is contained in:
parent
7077c5b8e6
commit
c5d580512e
@ -49,16 +49,14 @@ def fit_cell_base(parameter):
|
|||||||
"\n error: {:.2f}".format(sum(error)))
|
"\n error: {:.2f}".format(sum(error)))
|
||||||
|
|
||||||
|
|
||||||
def fit_all_cells_parallel_sync(cells, start_parameters, results_base_folder):
|
def fit_all_cells_parallel_sync(cells, start_parameters, thread_pool, results_base_folder):
|
||||||
parameter = []
|
parameter = []
|
||||||
for cell in cells:
|
for cell in cells:
|
||||||
for i, s_pars in enumerate(start_parameters):
|
for i, s_pars in enumerate(start_parameters):
|
||||||
parameter.append((cell, i, s_pars, results_base_folder))
|
parameter.append((cell, i, s_pars, results_base_folder))
|
||||||
|
|
||||||
core_count = mp.cpu_count()
|
|
||||||
pool = mp.Pool(core_count - 1)
|
|
||||||
time1 = time.time()
|
time1 = time.time()
|
||||||
pool.map(fit_cell_base, parameter)
|
thread_pool.map(fit_cell_base, parameter)
|
||||||
time2 = time.time()
|
time2 = time.time()
|
||||||
print("Time taken for all cells and start parameters ({:}): {:.2f}s".format(len(parameter), time2 - time1))
|
print("Time taken for all cells and start parameters ({:}): {:.2f}s".format(len(parameter), time2 - time1))
|
||||||
|
|
||||||
@ -273,17 +271,29 @@ def save_fitting_run_info(cell_data, parameters, start_parameters, plot=False, s
|
|||||||
|
|
||||||
|
|
||||||
def test_effect_of_refractory_period():
|
def test_effect_of_refractory_period():
|
||||||
ref_periods = np.arange(0.0006, 0.001, 0.0015)
|
ref_periods = [0.0006, 0.001, 0.0015]
|
||||||
|
counter = 0
|
||||||
|
core_count = mp.cpu_count()
|
||||||
|
pool = mp.Pool(core_count - 1)
|
||||||
|
for cell in icelldata_of_dir("./data/"):
|
||||||
|
counter += 1
|
||||||
|
if counter < 10:
|
||||||
|
continue
|
||||||
|
elif counter >= 14:
|
||||||
|
return
|
||||||
|
start_parameters_base = [p for p in iget_start_parameters()]
|
||||||
|
for ref_period in ref_periods:
|
||||||
|
print(cell.get_data_path())
|
||||||
|
print("ref period: {:.4f}".format(ref_period))
|
||||||
|
results_base_folder = "./test_routines/ref_period_{:.4f}/".format(ref_period)
|
||||||
|
all_start_parameters = copy.deepcopy(start_parameters_base)
|
||||||
|
|
||||||
|
for par_set in all_start_parameters:
|
||||||
|
par_set["refractory_period"] = ref_period
|
||||||
|
fit_all_cells_parallel_sync([cell], all_start_parameters, pool, results_base_folder)
|
||||||
|
|
||||||
cells = [c for c in icelldata_of_dir("./data/")]
|
del cell
|
||||||
start_parameters_base = [p for p in iget_start_parameters()]
|
|
||||||
for ref_period in ref_periods:
|
|
||||||
results_base_folder = "./test_routines/ref_period_{:.3f}/".format(ref_period)
|
|
||||||
all_start_parameters = copy.deepcopy(start_parameters_base)
|
|
||||||
|
|
||||||
for par_set in all_start_parameters:
|
|
||||||
par_set["refractory_period"] = ref_period
|
|
||||||
fit_all_cells_parallel_sync(cells, all_start_parameters, results_base_folder)
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
main()
|
main()
|
||||||
|
Loading…
Reference in New Issue
Block a user