improve ram usage in fitting and fix in sam

This commit is contained in:
alexanderott 2020-06-14 15:49:10 +02:00
parent 7f0c89b65f
commit 189293ff0e
2 changed files with 32 additions and 27 deletions

View File

@ -274,8 +274,9 @@ def test_effect_of_refractory_period():
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/"):
pool = mp.Pool(core_count - 1)
counter += 1
if counter < 10:
continue
@ -293,6 +294,7 @@ def test_effect_of_refractory_period():
fit_all_cells_parallel_sync([cell], all_start_parameters, pool, results_base_folder)
del cell
del pool
if __name__ == '__main__':

View File

@ -9,45 +9,48 @@ from CellData import CellData
def main():
# 2012-12-13_ao fit and eod frequency:
parameters = {'mem_tau': 0.0133705462739553, 'tau_a': 0.06682759542588587, 'input_scaling': 60.766243690761144,
'v_base': 0, 'step_size': 5e-05, 'dend_tau': 0.0008667253013050408, 'v_zero': 0, 'v_offset': -6.25,
'noise_strength': 0.03337309379328535, 'a_zero': 2, 'threshold': 1, 'delta_a': 0.0726267312975076}
parameters = {'step_size': 5e-05, 'mem_tau': 0.009946816831208656, 'v_base': 0, 'v_zero': 0, 'threshold': 1,
'v_offset': -9.375, 'input_scaling': 85.90592189374783, 'delta_a': 0.11098554500597714,
'tau_a': 0.04533432159583689, 'a_zero': 2, 'noise_strength': 0.02947375332925044,
'dend_tau': 0.001154822221492827, 'refractory_period': 0.0006}
eod_freq = 658
cell_data = CellData("./data/2012-12-13-ao-invivo-1/")
model = LifacNoiseModel(parameters)
mean_duration = np.mean(cell_data.get_sam_durations())
contrasts = cell_data.get_sam_contrasts()
spiketimes = cell_data.get_sam_spiketimes()
for i, m_freq in enumerate(cell_data.get_sam_delta_frequencies()):
delta_freqs = np.unique(cell_data.get_sam_delta_frequencies())
for i, m_freq in enumerate(delta_freqs):
stimulus = SAM(eod_freq, contrasts[i], m_freq)
prob_desnity_function_model = generate_pdf(model, stimulus, sim_length=mean_duration)
for spikes in spiketimes[i]:
prob_density_cell = spiketimes_calculate_pdf(spikes, cell_data.get_sampling_interval())
stimulus = SAM(eod_freq, contrasts[i]/100, m_freq)
v1, spikes_model = model.simulate_fast(stimulus, mean_duration)
prob_density_function_model = spiketimes_calculate_pdf(spikes_model, model.get_sampling_interval())
for spikes_cell in spiketimes[i]:
prob_density_cell = spiketimes_calculate_pdf(spikes_cell, cell_data.get_sampling_interval())
plt.plot(prob_density_function_model)
plt.plot(prob_density_cell)
plt.plot(prob_desnity_function_model)
plt.show()
plt.close()
# __init__(carrier_frequency, contrast, modulation_frequency, start_time=0, duration=np.inf, amplitude=1)
mod_freqs = np.arange(-60, eod_freq*4 + 61, 10)
sigma_of_pdfs = []
for m_freq in mod_freqs:
print(m_freq, "max: {:.2f}".format(mod_freqs[-1]))
stimulus = SAM(eod_freq, 0.2, m_freq)
prob_density_function = generate_pdf(model, stimulus)
buffer = 0.25
buffer_idx = int(buffer / model.get_parameters()["step_size"])
sigma_of_pdfs.append(np.std(prob_density_function[buffer_idx:-buffer_idx]))
normed_mod_freqs = (mod_freqs + eod_freq) / eod_freq
plt.plot(normed_mod_freqs, sigma_of_pdfs)
plt.savefig("./figures/sam/test.png")
plt.close()
# # __init__(carrier_frequency, contrast, modulation_frequency, start_time=0, duration=np.inf, amplitude=1)
# mod_freqs = np.arange(-60, eod_freq*4 + 61, 10)
# sigma_of_pdfs = []
# for m_freq in mod_freqs:
# print(m_freq, "max: {:.2f}".format(mod_freqs[-1]))
# stimulus = SAM(eod_freq, 0.2, m_freq)
#
# prob_density_function = generate_pdf(model, stimulus)
# buffer = 0.25
# buffer_idx = int(buffer / model.get_parameters()["step_size"])
#
# sigma_of_pdfs.append(np.std(prob_density_function[buffer_idx:-buffer_idx]))
#
# normed_mod_freqs = (mod_freqs + eod_freq) / eod_freq
# plt.plot(normed_mod_freqs, sigma_of_pdfs)
# plt.savefig("./figures/sam/test.png")
# plt.close()
pass