Пример #1
0
inhi = 'on'
if os.path.isfile('no_inhi.tmp'):
    inhi = 'off'

noise_intensy = 8.2

all_neuron = []
excitatory_a = []
excitatory_b = []
observer_a = []
observer_b = []
inhibitory = []
noise = []
downstream = []

source_a = Current('source', 0, 'current', 20.7)
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)
#import matplotlib.pyplot as plot
import random
import numpy
import matplotlib.pyplot as plot

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()