source_b = Current('source', 1, 'current', 21.5) for i in range(99): neuron_producing = Neuron('excitatory', i, ex_settings, 'off') noise_pos = Noise('noise', i, 100, noise_intensy, 3.0) noise_neg = Noise('noise', i, 100, -noise_intensy, 3.0) noise.append(noise_pos) noise.append(noise_neg) noise_pos.connect(neuron_producing) noise_neg.connect(neuron_producing) if random.random() < 0.5: excitatory_a.append(neuron_producing) source_a.connect(neuron_producing) else: excitatory_b.append(neuron_producing) source_b.connect(neuron_producing) if random.random() < 0.5: observer_a.append(neuron_producing) else: observer_b.append(neuron_producing) #for i in range(99): #neuron_producing = Neuron('downstream', i, ds_settings, 'off') #downstream.append(neuron_producing) #for observee in random.sample(excitatory_a+excitatory_b, 20): #observee.connect(neuron_producing) for i in range(801):
settings = {} settings['reset_potential'] = -70 settings['spike_potential'] = 0 settings['threshold'] = -66.6 settings['left_window_constant'] = 20#(t+) settings['right_window_constant'] = 20#(t-) settings['learning_rate'] = 0.05# (A+) settings['stability'] = 1.05# (B) settings['weight_ceiling'] = 1.0 current_a = Current('current', 0, 'current', 26.6, 3.0) neuron_a = Neuron('neuron', 0, settings, 'off') set = [current_a, neuron_a] current_a.connect(neuron_a) for i in range(20): for neuron in set: event = Event(name = 'update') simpy.activate(event, event.update(neuron), delay = i) simpy.simulate(until = 20.0) x = list(range(len(neuron_a.spikes_record))) plot.plot(x, neuron_a.spikes_record) plot.show()