From 711e910211b2567b57a46ed1fc58f89692e552da Mon Sep 17 00:00:00 2001 From: mbassor2 Date: Thu, 19 Sep 2019 15:05:19 +0100 Subject: [PATCH 01/68] one neuron test --- eprop_testing/one_neuron.py | 42 +++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 eprop_testing/one_neuron.py diff --git a/eprop_testing/one_neuron.py b/eprop_testing/one_neuron.py new file mode 100644 index 00000000..70a608fc --- /dev/null +++ b/eprop_testing/one_neuron.py @@ -0,0 +1,42 @@ +import spynnaker8 as pynn +import numpy as np +import matplotlib.pyplot as plt +from pyNN.random import NumpyRNG, RandomDistribution +from pyNN.utility.plotting import Figure, Panel + + +runtime = 100 +pynn.setup(1.0) + +neuron_params = { + "v": -54 + } + + +neuron = pynn.Population(1, + pynn.extra_models.EPropAdaptive(**neuron_params), + label='eprop_pop') + +neuron.record('all') + +pynn.run(runtime) + +res = neuron.get_data('all') + +Figure( + Panel(res.segments[0].filter(name='v')[0], + ylabel="Membrane potential (mV)", + data_labels=neuron.label, yticks=True, xlim=(0, runtime)), + Panel(res.segments[0].filter(name='gsyn_exc')[0], + ylabel="gsyn excitatory (mV)", + data_labels=neuron.label, yticks=True, xlim=(0, runtime)), + Panel(res.segments[0].filter(name='gsyn_inh')[0], + xlabel="Time (ms)", xticks=True, + ylabel="gsyn inhibitory (mV)", + data_labels=neuron.label, yticks=True, xlim=(0, runtime)), + title="Single eprop neuron" +) + +plt.show() + +pynn.end() \ No newline at end of file From 2c585c065b6a2e0477f1353b434a96a1103f142e Mon Sep 17 00:00:00 2001 From: oliverrhodes Date: Thu, 19 Sep 2019 19:59:25 +0100 Subject: [PATCH 02/68] add spike source and single spike --- eprop_testing/one_neuron.py | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/eprop_testing/one_neuron.py b/eprop_testing/one_neuron.py index 70a608fc..33d1ed6e 100644 --- a/eprop_testing/one_neuron.py +++ b/eprop_testing/one_neuron.py @@ -13,10 +13,20 @@ } -neuron = pynn.Population(1, - pynn.extra_models.EPropAdaptive(**neuron_params), +spike_source = pynn.Population(1, + pynn.SpikeSourceArray, + {'spike_times': [10]}, + label='Spike Source') + +neuron = pynn.Population(1, + pynn.extra_models.EPropAdaptive(**neuron_params), label='eprop_pop') +proj = pynn.Projection(spike_source, neuron, + pynn.OneToOneConnector(weight=0.5, delay=1), + label='exc_proj') + + neuron.record('all') pynn.run(runtime) From 0a39a8416f056ca0578bbe4faf4ad577eca37aee Mon Sep 17 00:00:00 2001 From: mbassor2 Date: Thu, 26 Sep 2019 14:18:31 +0100 Subject: [PATCH 03/68] added regularisation functionality --- eprop_testing/test_1_neuron_regularisation.py | 69 +++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 eprop_testing/test_1_neuron_regularisation.py diff --git a/eprop_testing/test_1_neuron_regularisation.py b/eprop_testing/test_1_neuron_regularisation.py new file mode 100644 index 00000000..fe8566a8 --- /dev/null +++ b/eprop_testing/test_1_neuron_regularisation.py @@ -0,0 +1,69 @@ +import spynnaker8 as pynn +import numpy as np +import matplotlib.pyplot as plt +from pyNN.random import NumpyRNG, RandomDistribution +from pyNN.utility.plotting import Figure, Panel + + +runtime = 100000 +dt = 1 + +pynn.setup(dt) + +n_neurons = 2 + +neuron_params = { + "v": -54, + "target_rate": 10*n_neurons + } + + + +neuron = pynn.Population(n_neurons, + pynn.extra_models.EPropAdaptive(**neuron_params), + label='eprop_pop') + +poisson_src = pynn.Population(n_neurons, + pynn.SpikeSourcePoisson(rate=[15.0, 5.0]), + label='Poisson Src') + +proj = pynn.Projection( + poisson_src, + neuron, + pynn.OneToOneConnector(), + pynn.StaticSynapse(weight=5.0, delay=dt), + # weight set to cause postsynaptic neuron to fire + receptor_type='excitatory' + ) + +poisson_src.record('spikes') +neuron.record('all') + +pynn.run(runtime) + +res = neuron.get_data('all') +poisson_spikes = poisson_src.get_data('spikes') + +Figure( + Panel(poisson_spikes.segments[0].spiketrains, + ylabel="Input Spikes", + data_labels=poisson_src.label, yticks=True, xlim=(0, runtime)), + Panel(res.segments[0].filter(name='v')[0], + ylabel="Membrane potential (mV)", + data_labels=neuron.label, yticks=True, xlim=(0, runtime)), + Panel(res.segments[0].filter(name='gsyn_exc')[0], + ylabel="gsyn excitatory (mV)", + data_labels=neuron.label, yticks=True, xlim=(0, runtime)), + Panel(res.segments[0].filter(name='gsyn_inh')[0], + xlabel="Time (ms)", xticks=True, + ylabel="Global Rate Approx (mV)", + data_labels=neuron.label, yticks=True, xlim=(0, runtime)), + Panel(res.segments[0].spiketrains, + ylabel="Output Spikes", + data_labels=poisson_src.label, yticks=True, xlim=(0, runtime)), + title="Single eprop neuron" +) + +plt.show() + +pynn.end() \ No newline at end of file From e17d22f0d3ec27227091114c1284713d9711a418 Mon Sep 17 00:00:00 2001 From: mbassor2 Date: Thu, 26 Sep 2019 15:59:34 +0100 Subject: [PATCH 04/68] added adaptive neuron --- eprop_testing/test_adaptive_threshold.py | 58 ++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 eprop_testing/test_adaptive_threshold.py diff --git a/eprop_testing/test_adaptive_threshold.py b/eprop_testing/test_adaptive_threshold.py new file mode 100644 index 00000000..04167672 --- /dev/null +++ b/eprop_testing/test_adaptive_threshold.py @@ -0,0 +1,58 @@ +import spynnaker8 as pynn +import numpy as np +import matplotlib.pyplot as plt +from pyNN.random import NumpyRNG, RandomDistribution +from pyNN.utility.plotting import Figure, Panel + + +runtime = 100 +pynn.setup(1.0) + +neuron_params = { + "v": 0, + "i_offset": 1, + "v_rest": 0 + } + + +spike_source = pynn.Population(1, + pynn.SpikeSourceArray, + {'spike_times': [10]}, + label='Spike Source') + +neuron = pynn.Population(1, + pynn.extra_models.EPropAdaptive(**neuron_params), + label='eprop_pop') + +proj = pynn.Projection(spike_source, neuron, + pynn.OneToOneConnector(), + pynn.StaticSynapse(weight=5, delay=1), + label='exc_proj') + + +neuron.record('all') + +pynn.run(runtime) + +res = neuron.get_data('all') + +Figure( + Panel(res.segments[0].filter(name='v')[0], + ylabel="Membrane potential (mV)", + data_labels=neuron.label, yticks=True, xlim=(0, runtime)), + Panel(res.segments[0].filter(name='gsyn_exc')[0], + ylabel="gsyn excitatory (mV)", + data_labels=neuron.label, yticks=True, xlim=(0, runtime)), + Panel(res.segments[0].filter(name='gsyn_inh')[0], + xlabel="Time (ms)", xticks=True, + ylabel="gsyn inhibitory (mV)", + data_labels=neuron.label, yticks=True, xlim=(0, runtime)), + Panel(res.segments[0].spiketrains, + ylabel="Output Spikes", + data_labels=neuron.label, yticks=True, xlim=(0, runtime)), + title="Single eprop neuron" +) + +plt.show() + +pynn.end() \ No newline at end of file From c65d33c2937b243919f329208e749e2a35f5ba25 Mon Sep 17 00:00:00 2001 From: oliverrhodes Date: Thu, 26 Sep 2019 20:50:41 +0100 Subject: [PATCH 05/68] clean up working test --- eprop_testing/test_adaptive_threshold.py | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/eprop_testing/test_adaptive_threshold.py b/eprop_testing/test_adaptive_threshold.py index 04167672..291d8423 100644 --- a/eprop_testing/test_adaptive_threshold.py +++ b/eprop_testing/test_adaptive_threshold.py @@ -15,20 +15,12 @@ } -spike_source = pynn.Population(1, - pynn.SpikeSourceArray, - {'spike_times': [10]}, - label='Spike Source') + neuron = pynn.Population(1, pynn.extra_models.EPropAdaptive(**neuron_params), label='eprop_pop') -proj = pynn.Projection(spike_source, neuron, - pynn.OneToOneConnector(), - pynn.StaticSynapse(weight=5, delay=1), - label='exc_proj') - neuron.record('all') From d31e5690f51a1f63f49af2a2d1a0ca81a97465b0 Mon Sep 17 00:00:00 2001 From: mbassor2 Date: Fri, 27 Sep 2019 14:49:01 +0100 Subject: [PATCH 06/68] Update tests --- eprop_testing/test_1_neuron_regularisation.py | 9 ++++++--- eprop_testing/test_adaptive_threshold.py | 2 +- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/eprop_testing/test_1_neuron_regularisation.py b/eprop_testing/test_1_neuron_regularisation.py index fe8566a8..c97159ae 100644 --- a/eprop_testing/test_1_neuron_regularisation.py +++ b/eprop_testing/test_1_neuron_regularisation.py @@ -10,11 +10,11 @@ pynn.setup(dt) -n_neurons = 2 +n_neurons = 16 neuron_params = { "v": -54, - "target_rate": 10*n_neurons + "target_rate": 10 } @@ -24,7 +24,10 @@ label='eprop_pop') poisson_src = pynn.Population(n_neurons, - pynn.SpikeSourcePoisson(rate=[15.0, 5.0]), + pynn.SpikeSourcePoisson(rate= + 10 +# [15.0, 5.0] + ), label='Poisson Src') proj = pynn.Projection( diff --git a/eprop_testing/test_adaptive_threshold.py b/eprop_testing/test_adaptive_threshold.py index 291d8423..1693fb65 100644 --- a/eprop_testing/test_adaptive_threshold.py +++ b/eprop_testing/test_adaptive_threshold.py @@ -5,7 +5,7 @@ from pyNN.utility.plotting import Figure, Panel -runtime = 100 +runtime = 10000 pynn.setup(1.0) neuron_params = { From 10c38e1a1d41beb6e88deba6cae782ac66c0cbb1 Mon Sep 17 00:00:00 2001 From: oliverrhodes Date: Tue, 8 Oct 2019 12:10:48 +0100 Subject: [PATCH 07/68] update test script --- eprop_testing/one_neuron.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/eprop_testing/one_neuron.py b/eprop_testing/one_neuron.py index 33d1ed6e..1002d1b4 100644 --- a/eprop_testing/one_neuron.py +++ b/eprop_testing/one_neuron.py @@ -23,7 +23,8 @@ label='eprop_pop') proj = pynn.Projection(spike_source, neuron, - pynn.OneToOneConnector(weight=0.5, delay=1), + pynn.OneToOneConnector(), + pynn.StaticSynapse(weight=-0.5, delay=1), label='exc_proj') From 3df0760de88ad90b7c93584036cc25d62015ee9a Mon Sep 17 00:00:00 2001 From: mbassor2 Date: Tue, 8 Oct 2019 13:58:18 +0100 Subject: [PATCH 08/68] add signed weights test --- eprop_testing/one_neuron.py | 11 ++++-- eprop_testing/signed_weights_test.py | 56 ++++++++++++++++++++++++++++ 2 files changed, 63 insertions(+), 4 deletions(-) create mode 100644 eprop_testing/signed_weights_test.py diff --git a/eprop_testing/one_neuron.py b/eprop_testing/one_neuron.py index 1002d1b4..5fb9e8ad 100644 --- a/eprop_testing/one_neuron.py +++ b/eprop_testing/one_neuron.py @@ -9,22 +9,25 @@ pynn.setup(1.0) neuron_params = { - "v": -54 + "v": 0, + "i_offset": 0, + "v_rest": 0 } -spike_source = pynn.Population(1, + +spike_source = pynn.Population(2, pynn.SpikeSourceArray, {'spike_times': [10]}, label='Spike Source') -neuron = pynn.Population(1, +neuron = pynn.Population(2, pynn.extra_models.EPropAdaptive(**neuron_params), label='eprop_pop') proj = pynn.Projection(spike_source, neuron, pynn.OneToOneConnector(), - pynn.StaticSynapse(weight=-0.5, delay=1), + pynn.StaticSynapse(weight=[-0.5, 2] , delay=[1, 5]), label='exc_proj') diff --git a/eprop_testing/signed_weights_test.py b/eprop_testing/signed_weights_test.py new file mode 100644 index 00000000..5fb9e8ad --- /dev/null +++ b/eprop_testing/signed_weights_test.py @@ -0,0 +1,56 @@ +import spynnaker8 as pynn +import numpy as np +import matplotlib.pyplot as plt +from pyNN.random import NumpyRNG, RandomDistribution +from pyNN.utility.plotting import Figure, Panel + + +runtime = 100 +pynn.setup(1.0) + +neuron_params = { + "v": 0, + "i_offset": 0, + "v_rest": 0 + } + + + +spike_source = pynn.Population(2, + pynn.SpikeSourceArray, + {'spike_times': [10]}, + label='Spike Source') + +neuron = pynn.Population(2, + pynn.extra_models.EPropAdaptive(**neuron_params), + label='eprop_pop') + +proj = pynn.Projection(spike_source, neuron, + pynn.OneToOneConnector(), + pynn.StaticSynapse(weight=[-0.5, 2] , delay=[1, 5]), + label='exc_proj') + + +neuron.record('all') + +pynn.run(runtime) + +res = neuron.get_data('all') + +Figure( + Panel(res.segments[0].filter(name='v')[0], + ylabel="Membrane potential (mV)", + data_labels=neuron.label, yticks=True, xlim=(0, runtime)), + Panel(res.segments[0].filter(name='gsyn_exc')[0], + ylabel="gsyn excitatory (mV)", + data_labels=neuron.label, yticks=True, xlim=(0, runtime)), + Panel(res.segments[0].filter(name='gsyn_inh')[0], + xlabel="Time (ms)", xticks=True, + ylabel="gsyn inhibitory (mV)", + data_labels=neuron.label, yticks=True, xlim=(0, runtime)), + title="Single eprop neuron" +) + +plt.show() + +pynn.end() \ No newline at end of file From 8b589d7df83be1dbe45658e51e2239da00e3f317 Mon Sep 17 00:00:00 2001 From: mbassor2 Date: Tue, 8 Oct 2019 14:00:24 +0100 Subject: [PATCH 09/68] move store recall test to PyNN8_Examples --- eprop_testing/store_recall.py | 353 ++++++++++++++++++++++++++++++++++ 1 file changed, 353 insertions(+) create mode 100644 eprop_testing/store_recall.py diff --git a/eprop_testing/store_recall.py b/eprop_testing/store_recall.py new file mode 100644 index 00000000..794691c1 --- /dev/null +++ b/eprop_testing/store_recall.py @@ -0,0 +1,353 @@ +import spynnaker8 as p +from spinn_front_end_common.utility_models import ( +ReverseIpTagMultiCastSource) +from spynnaker.pyNN.spynnaker_external_device_plugin_manager import (SpynnakerExternalDevicePluginManager) +from spynnaker.pyNN.utilities import constants +import numpy +import math +import unittest +from pyNN.utility.plotting import Figure, Panel +import matplotlib.pyplot as plt +import numpy as np + +# @staticmethod +def add_poisson_live_rate_control(poisson_population, controller): + vertex = poisson_population._get_vertex + SpynnakerExternalDevicePluginManager.add_edge( + controller._get_vertex, vertex, constants.LIVE_POISSON_CONTROL_PARTITION_ID) + + +batches = 40 +num_repeats = 10 # in a batch +cycle_time = 2047 +timestep = 1 +p.setup(timestep) # simulation timestep (ms) +runtime = num_repeats * cycle_time * batches + + +# # Post-synapse population +erbp_neuron_params = { + "tau_err": 1000, +# "tau_refrac": 50 + # "v_thresh": 30.0, # do not change - hard-coded in C for now + "v_reset": 0.0, + 'small_b': 0, + 'v_rest': 0.0, + 'v': 0, + 'tau_m': 20.0, + 'cm': 20, # Updated to suit tau_m of 20 and make membrane resistance 1 + 'B': 10.0, + 'small_b_0': 10, + 'i_offset': 0, + 'tau_a': 1200, + 'beta': 1.7, + 'tau_refrac':3 + } + +# Store recall parameters +prob_command = 1. / 6. +rate_on = 50 +rate_off = 0 +input_pop_size = 25 + +readout_neuron_params = { + "v": 0, + "v_thresh": 30, # controls firing rate of error neurons + "poisson_pop_size": input_pop_size, + } + +tau_err = 20 + +init_weight = 0.2 + +p.set_number_of_neurons_per_core(p.extra_models.EPropAdaptive, 32) +p.set_number_of_neurons_per_core(p.SpikeSourcePoisson, 32) + +w_in_rec_exc_dist = p.RandomDistribution( + distribution='normal_clipped', mu=init_weight, sigma=init_weight, + low=0.0, high=2*init_weight) + +w_in_rec_inh_dist = p.RandomDistribution( + distribution='normal_clipped', mu=init_weight, sigma=init_weight, + low=0.0, high=2*init_weight) + +w_rec_rec_dist = p.RandomDistribution( + distribution='normal_clipped', mu=init_weight, sigma=init_weight, + low=0.0, high=2*init_weight) + +w_rec_out = init_weight +w_rec_out_dist = p.RandomDistribution( + distribution='normal_clipped', mu=w_rec_out, sigma=w_rec_out, + low=0.0, high=2*w_rec_out) + +w_out_out = init_weight +w_out_out_dist = p.RandomDistribution( + distribution='normal_clipped', mu=w_out_out, sigma=w_out_out, + low=0.0, high=2*w_out_out) + + +############################################################################### +# Build Populations +############################################################################### + +# Input population +pop_in = p.Population(4*input_pop_size, + p.SpikeSourcePoisson, + {'rate': rate_on}, + label='pop_in') + +# Recurrent population +pop_rec = p.Population(20, + p.extra_models.EPropAdaptive, + # {10 LIF, 10 adaptive}, + label='pop_rec') + +# Output population +pop_out = p.Population(3, # HARDCODED 3: One readout; one exc err, one inh err + p.extra_models.StoreRecallReadout( + **readout_neuron_params + ), # Neuron model + label="pop_out" # identifier + ) + +############################################################################### +# Build Projections +############################################################################### + +####################################### +# readout to poisson sources +####################################### + +add_poisson_live_rate_control(poisson_population=pop_in, controller=pop_out) + +# hidden_pop_timing_dependence=p.TimingDependenceERBP( +# tau_plus=tau_err, A_plus=0.01, A_minus=0.01) +# hidden_pop_weight_dependence=p.WeightDependenceERBP( +# w_min=0.0, w_max=1, reg_rate=0.1) +hidden_pop_timing_dependence=p.TimingDependenceERBP( + tau_plus=tau_err, A_plus=0.025, A_minus=0.025, is_readout=False) +hidden_pop_weight_dependence=p.WeightDependenceERBP( + w_min=0.0, w_max=3, reg_rate=0.0) + +out_pop_timing_dependence=p.TimingDependenceERBP( + tau_plus=tau_err, A_plus=0.025, A_minus=0.025, is_readout=True) +out_pop_weight_dependence=p.WeightDependenceERBP( + w_min=0.0, w_max=3, reg_rate=0.0) + +####################################### +# input to recurrent excitatory +####################################### + +# Define learning rule object +learning_rule = p.STDPMechanism( + timing_dependence=hidden_pop_timing_dependence, + weight_dependence=hidden_pop_weight_dependence, + weight=w_in_rec_exc_dist, + delay=timestep) + +# Create excitatory projection from input to hidden neuron using learning rule +inp_rec_exc = p.Projection( + pop_in, + pop_rec, + p.AllToAllConnector(), +# p.StaticSynapse(weight=w_in_rec_exc_dist, delay=timestep), + synapse_type=learning_rule, + receptor_type="exc_err") + +# input to recurrent inhibitory +# Define learning rule object +learning_rule = p.STDPMechanism( + timing_dependence=hidden_pop_timing_dependence, + weight_dependence=hidden_pop_weight_dependence, + weight=w_in_rec_inh_dist, + delay=timestep) + +# Create inhibitory projection from input to hidden neuron using learning rule +inp_rec_inh = p.Projection( + pop_in, + pop_rec, + p.AllToAllConnector(), +# p.StaticSynapse(weight=w_in_rec_inh_dist, delay=timestep), + synapse_type=learning_rule, + receptor_type="exc_err") + + +####################################### +# recurrent to recurrent +####################################### +# Define learning rule object +learning_rule = p.STDPMechanism( + timing_dependence=hidden_pop_timing_dependence, + weight_dependence=hidden_pop_weight_dependence, + weight=w_rec_rec_dist, + delay=timestep) + +# Create excitatory recurrent projection +rec_rec_exc = p.Projection( + pop_rec, + pop_rec, + p.FixedProbabilityConnector(1.0), + synapse_type=learning_rule, + receptor_type="excitatory") + +# input to recurrent inhibitory +# Define learning rule object +learning_rule = p.STDPMechanism( + timing_dependence=hidden_pop_timing_dependence, + weight_dependence=hidden_pop_weight_dependence, + weight=w_rec_rec_dist, + delay=timestep) + +# Create inhibitory recurrent projection from input to hidden neuron using +# learning rule +rec_rec_inh = p.Projection( + pop_rec, + pop_rec, + p.FixedProbabilityConnector(1.0), + synapse_type=learning_rule, + receptor_type="inhibitory") + +####################################### +# recurrent to output +####################################### + +# Only connect to neuron '0' of readout population +# rand_out_w.next(), +conn_list_exc = [[x, 0, w_rec_out_dist.next(), 1] for x in range(100)] +conn_list_inh = [[x, 0, w_rec_out_dist.next(), 1] for x in range(100)] + +for i in range(0,100,2): + conn_list_exc[i][2] = 0 + conn_list_inh[i+1][2] = 0 + + +# Define learning rule object +learning_rule = p.STDPMechanism( + timing_dependence=out_pop_timing_dependence, + weight_dependence=out_pop_weight_dependence, + weight=w_rec_out_dist, + delay=timestep) + +# Create excitatory recurrent to out projection +rec_out_exc = p.Projection( + pop_rec, + pop_out, + p.FromListConnector(conn_list_exc), +# synapse_type=p.StaticSynapse(weight=0.1, delay=1), + synapse_type=learning_rule, + receptor_type="excitatory") + +# recurrent to out inhibitory +# Define learning rule object +learning_rule = p.STDPMechanism( + timing_dependence=out_pop_timing_dependence, + weight_dependence=out_pop_weight_dependence, + weight=w_rec_out_dist, + delay=timestep) + +# Create inhibitory recurrent projection from recurrent to hidden neuron using +# learning rule +rec_out_inh = p.Projection( + pop_rec, + pop_out, + p.FromListConnector(conn_list_inh), +# p.StaticSynapse(weight=0.1, delay=1), + synapse_type=learning_rule, + receptor_type="inhibitory") + +####################################### +# Feedback connections +####################################### + +# # Connect excitatory fb neuron (1) to all recurrent neurons +# # rand_out_w.next() +# exc_fb_rec_conn_list = [[1, x, 0.01*w_rec_out_dist.next(), 1] for x in range(100)] +# # Connect inhibitory fb neuron (2) to all recurrent neurons +# # rand_out_w.next() +# inh_fb_rec_conn_list = [[2, x, 0.01*w_rec_out_dist.next(), 1] for x in range(100)] +# +# fb_out_rec_exc = p.Projection( +# pop_out, pop_rec, p.FromListConnector(exc_fb_rec_conn_list), +# p.StaticSynapse(weight=10, delay=1), receptor_type="exc_err") +# +# fb_out_rec_inh = p.Projection( +# pop_out, pop_rec, p.FromListConnector(inh_fb_rec_conn_list), +# p.StaticSynapse(weight=10, delay=1), receptor_type="inh_err") + + +# Now to output layer to gate plasticity on output weights +# rand_out_w.next() +# rand_out_w.next() +exc_fb_out_conn_list = [1, 0, w_out_out_dist.next(), 1] +inh_fb_out_conn_list = [2, 0, w_out_out_dist.next(), 1] + +fb_out_out_exc = p.Projection( + pop_out, pop_out, p.FromListConnector([exc_fb_out_conn_list]), + p.StaticSynapse(weight=0.5, delay=1), receptor_type="exc_err") + +fb_out_out_inh = p.Projection( + pop_out, pop_out, p.FromListConnector([inh_fb_out_conn_list]), + p.StaticSynapse(weight=0.5, delay=1), receptor_type="inh_err") + +############################################################################### +# Run Simulation +############################################################################### + +pop_in.record('spikes') +pop_rec.record("spikes") +pop_out.record("all") + + +# p.run(runtime) +plot_start = 0 +window = num_repeats * cycle_time +plot_end = plot_start + window + + +for i in range(batches): + + print "run: {}".format(i) + p.run(runtime/batches) + + in_spikes = pop_in.get_data('spikes') + pop_rec_data = pop_rec.get_data('spikes') + pop_out_data = pop_out.get_data() + + # Plot + F = Figure( +# # plot data for postsynaptic neuron + Panel(in_spikes.segments[0].spiketrains, + yticks=True, markersize=2, xlim=(plot_start, plot_end)), + Panel(pop_rec_data.segments[0].spiketrains, + yticks=True, markersize=2, xlim=(plot_start, plot_end) + ), + Panel(pop_out_data.segments[0].filter(name='v')[0], + ylabel="Membrane potential (mV)", + data_labels=[pop_out.label], yticks=True, xlim=(plot_start, plot_end) + ), + Panel(pop_out_data.segments[0].filter(name='gsyn_exc')[0], + ylabel="gsyn excitatory (mV)", + data_labels=[pop_out.label], yticks=True, xlim=(plot_start, plot_end) + ), + Panel(pop_out_data.segments[0].filter(name='gsyn_inh')[0], + ylabel="gsyn inhibitory (mV)", + data_labels=[pop_out.label], yticks=True, xlim=(plot_start, plot_end) + ), + Panel(pop_out_data.segments[0].spiketrains, + yticks=True, markersize=2, xlim=(plot_start, plot_end)), + annotations="Batch: {}".format(i) + ) + + plt.pause(1) +# plt.draw() + + plot_start = plot_end + plot_end += window + + +p.end() + + +print "job done" + +plt.show() \ No newline at end of file From 8b9054281e0dcfda0f558d2da8d80881ae38670b Mon Sep 17 00:00:00 2001 From: oliverrhodes Date: Tue, 8 Oct 2019 16:53:33 +0100 Subject: [PATCH 10/68] Update test to read weights back from machine to check --- eprop_testing/signed_weights_test.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/eprop_testing/signed_weights_test.py b/eprop_testing/signed_weights_test.py index 5fb9e8ad..1f196c2e 100644 --- a/eprop_testing/signed_weights_test.py +++ b/eprop_testing/signed_weights_test.py @@ -36,6 +36,11 @@ pynn.run(runtime) res = neuron.get_data('all') +weights = proj.get('weight', 'list', with_address=False) +delays = proj.get('delay', 'list', with_address=False) + +for i in range(len(weights)): + print(weights[i], delays[i]) Figure( Panel(res.segments[0].filter(name='v')[0], From cc24f57d8a46dcc9b34a1add9c4f65823cdeaf25 Mon Sep 17 00:00:00 2001 From: oliverrhodes Date: Fri, 18 Oct 2019 16:00:05 +0100 Subject: [PATCH 11/68] tweak tests to match baseline params --- eprop_testing/signed_weights_test.py | 1 - ...euron_regularisation.py => test_16_neuron_regularisation.py} | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) rename eprop_testing/{test_1_neuron_regularisation.py => test_16_neuron_regularisation.py} (99%) diff --git a/eprop_testing/signed_weights_test.py b/eprop_testing/signed_weights_test.py index 1f196c2e..d2c8d432 100644 --- a/eprop_testing/signed_weights_test.py +++ b/eprop_testing/signed_weights_test.py @@ -15,7 +15,6 @@ } - spike_source = pynn.Population(2, pynn.SpikeSourceArray, {'spike_times': [10]}, diff --git a/eprop_testing/test_1_neuron_regularisation.py b/eprop_testing/test_16_neuron_regularisation.py similarity index 99% rename from eprop_testing/test_1_neuron_regularisation.py rename to eprop_testing/test_16_neuron_regularisation.py index c97159ae..e9eef7a7 100644 --- a/eprop_testing/test_1_neuron_regularisation.py +++ b/eprop_testing/test_16_neuron_regularisation.py @@ -13,7 +13,7 @@ n_neurons = 16 neuron_params = { - "v": -54, + "v": 0, "target_rate": 10 } From e3a17b7d436b8dd2be154bf9cee65d3e306637d7 Mon Sep 17 00:00:00 2001 From: oliverrhodes Date: Fri, 15 Nov 2019 12:47:30 +0000 Subject: [PATCH 12/68] Update eprop test scripts --- eprop_testing/test_16_neuron_regularisation.py | 13 +++++++------ eprop_testing/test_adaptive_threshold.py | 4 ---- 2 files changed, 7 insertions(+), 10 deletions(-) diff --git a/eprop_testing/test_16_neuron_regularisation.py b/eprop_testing/test_16_neuron_regularisation.py index e9eef7a7..349e6f5a 100644 --- a/eprop_testing/test_16_neuron_regularisation.py +++ b/eprop_testing/test_16_neuron_regularisation.py @@ -14,27 +14,28 @@ neuron_params = { "v": 0, - "target_rate": 10 + "target_rate": 10, + "beta": 0.0 # Stops any adaptation occurring } -neuron = pynn.Population(n_neurons, - pynn.extra_models.EPropAdaptive(**neuron_params), +neuron = pynn.Population(n_neurons, + pynn.extra_models.EPropAdaptive(**neuron_params), label='eprop_pop') -poisson_src = pynn.Population(n_neurons, +poisson_src = pynn.Population(n_neurons, pynn.SpikeSourcePoisson(rate= 10 # [15.0, 5.0] - ), + ), label='Poisson Src') proj = pynn.Projection( poisson_src, neuron, pynn.OneToOneConnector(), - pynn.StaticSynapse(weight=5.0, delay=dt), + pynn.StaticSynapse(weight=3.5, delay=dt), # weight set to cause postsynaptic neuron to fire receptor_type='excitatory' ) diff --git a/eprop_testing/test_adaptive_threshold.py b/eprop_testing/test_adaptive_threshold.py index 1693fb65..ebd3ee6c 100644 --- a/eprop_testing/test_adaptive_threshold.py +++ b/eprop_testing/test_adaptive_threshold.py @@ -14,14 +14,10 @@ "v_rest": 0 } - - - neuron = pynn.Population(1, pynn.extra_models.EPropAdaptive(**neuron_params), label='eprop_pop') - neuron.record('all') pynn.run(runtime) From 8b92ec6608c98c4f3cf9519721a030e7f79110a2 Mon Sep 17 00:00:00 2001 From: oliverrhodes Date: Tue, 26 Nov 2019 14:35:52 +0000 Subject: [PATCH 13/68] update tests --- eprop_testing/signed_weights_test.py | 5 ++ eprop_testing/test_synapse_state_evol.py | 63 ++++++++++++++++++++++++ 2 files changed, 68 insertions(+) create mode 100644 eprop_testing/test_synapse_state_evol.py diff --git a/eprop_testing/signed_weights_test.py b/eprop_testing/signed_weights_test.py index d2c8d432..2faab212 100644 --- a/eprop_testing/signed_weights_test.py +++ b/eprop_testing/signed_weights_test.py @@ -26,6 +26,8 @@ proj = pynn.Projection(spike_source, neuron, pynn.OneToOneConnector(), + # note that delays are now fixed to one in terms of spikes, + # but the synaptic word field indexes the synapse array pynn.StaticSynapse(weight=[-0.5, 2] , delay=[1, 5]), label='exc_proj') @@ -52,6 +54,9 @@ xlabel="Time (ms)", xticks=True, ylabel="gsyn inhibitory (mV)", data_labels=neuron.label, yticks=True, xlim=(0, runtime)), + Panel(res.segments[0].spiketrains, + ylabel="Output Spikes", + data_labels=neuron.label, yticks=True, xlim=(0, runtime)), title="Single eprop neuron" ) diff --git a/eprop_testing/test_synapse_state_evol.py b/eprop_testing/test_synapse_state_evol.py new file mode 100644 index 00000000..29c932e9 --- /dev/null +++ b/eprop_testing/test_synapse_state_evol.py @@ -0,0 +1,63 @@ +import spynnaker8 as pynn +import numpy as np +import matplotlib.pyplot as plt +from pyNN.random import NumpyRNG, RandomDistribution +from pyNN.utility.plotting import Figure, Panel + + +runtime = 1000 +pynn.setup(1.0) + +neuron_params = { + "v": 0, + "i_offset": 0.8, + "v_rest": 0 + } + + +input_pop = pynn.Population(1, + pynn.SpikeSourceArray, + {'spike_times': [200]}, + label='input_pop') + +neuron = pynn.Population(1, + pynn.extra_models.EPropAdaptive(**neuron_params), + label='eprop_pop') + +in_proj = pynn.Projection(input_pop, + neuron, + pynn.OneToOneConnector(), + pynn.StaticSynapse(weight=[0.5], delay=[0]), + receptor_type='excitatory') + + +input_pop.record('spikes') +neuron.record('all') + +pynn.run(runtime) +in_spikes = input_pop.get_data('spikes') +neuron_res = neuron.get_data('all') + +Figure( + Panel(in_spikes.segments[0].spiketrains, + ylabel="Input Spikes", + data_labels=neuron.label, yticks=True, xlim=(0, runtime)), + Panel(neuron_res.segments[0].filter(name='v')[0], + ylabel="Membrane potential (mV)", + data_labels=neuron.label, yticks=True, xlim=(0, runtime)), + Panel(neuron_res.segments[0].filter(name='gsyn_exc')[0], + ylabel="gsyn excitatory (mV)", + data_labels=neuron.label, yticks=True, xlim=(0, runtime)), + Panel(neuron_res.segments[0].filter(name='gsyn_inh')[0], + xlabel="Time (ms)", xticks=True, + ylabel="gsyn inhibitory (mV)", + data_labels=neuron.label, yticks=True, xlim=(0, runtime)), + Panel(neuron_res.segments[0].spiketrains, + ylabel="Output Spikes", + data_labels=neuron.label, yticks=True, xlim=(0, runtime)), + title="Single eprop neuron" +) + +plt.show() + +pynn.end() \ No newline at end of file From 13cab5a4d0a17240837e848b16949c1dbd1d3e68 Mon Sep 17 00:00:00 2001 From: oliverrhodes Date: Tue, 26 Nov 2019 15:54:39 +0000 Subject: [PATCH 14/68] Add test skeleton to include learning signal --- .../test_learning_signal_by_payload.py | 78 +++++++++++++++++++ eprop_testing/test_synapse_state_evol.py | 2 +- 2 files changed, 79 insertions(+), 1 deletion(-) create mode 100644 eprop_testing/test_learning_signal_by_payload.py diff --git a/eprop_testing/test_learning_signal_by_payload.py b/eprop_testing/test_learning_signal_by_payload.py new file mode 100644 index 00000000..8f5a828c --- /dev/null +++ b/eprop_testing/test_learning_signal_by_payload.py @@ -0,0 +1,78 @@ +import spynnaker8 as pynn +import numpy as np +import matplotlib.pyplot as plt +from pyNN.random import NumpyRNG, RandomDistribution +from pyNN.utility.plotting import Figure, Panel + + +runtime = 1000 +pynn.setup(1.0) + +neuron_params = { + "v": 0, + "i_offset": 0.8, + "v_rest": 0 + } + +readout_neuron_params = { + "v": 0, + "v_thresh": 30, # controls firing rate of error neurons + "poisson_pop_size": input_pop_size, + } + + +input_pop = pynn.Population(1, + pynn.SpikeSourceArray, + {'spike_times': [200]}, + label='input_pop') + +neuron = pynn.Population(1, + pynn.extra_models.EPropAdaptive(**neuron_params), + label='eprop_pop') + +in_proj = pynn.Projection(input_pop, + neuron, + pynn.OneToOneConnector(), + pynn.StaticSynapse(weight=[-0.5], delay=[174]), + receptor_type='excitatory') + + +# Output population +pop_out = p.Population(3, # HARDCODED 3: One readout; one exc err, one inh err + p.extra_models.StoreRecallReadout( + **readout_neuron_params + ), # Neuron model + label="pop_out" # identifier + ) + + +input_pop.record('spikes') +neuron.record('all') + +pynn.run(runtime) +in_spikes = input_pop.get_data('spikes') +neuron_res = neuron.get_data('all') + +Figure( + Panel(in_spikes.segments[0].spiketrains, + ylabel="Input Spikes", + data_labels=neuron.label, yticks=True, xlim=(0, runtime)), + Panel(neuron_res.segments[0].filter(name='v')[0], + ylabel="Membrane potential (mV)", + data_labels=neuron.label, yticks=True, xlim=(0, runtime)), + Panel(neuron_res.segments[0].filter(name='gsyn_exc')[0], + ylabel="gsyn excitatory (mV)", + data_labels=neuron.label, yticks=True, xlim=(0, runtime)), + Panel(neuron_res.segments[0].filter(name='gsyn_inh')[0], + xlabel="Time (ms)", xticks=True, + ylabel="gsyn inhibitory (mV)", + data_labels=neuron.label, yticks=True, xlim=(0, runtime)), + Panel(neuron_res.segments[0].spiketrains, + ylabel="Output Spikes", + data_labels=neuron.label, yticks=True, xlim=(0, runtime)), + title="Single eprop neuron" +) + +plt.show() + +pynn.end() \ No newline at end of file diff --git a/eprop_testing/test_synapse_state_evol.py b/eprop_testing/test_synapse_state_evol.py index 29c932e9..a0ef7ba5 100644 --- a/eprop_testing/test_synapse_state_evol.py +++ b/eprop_testing/test_synapse_state_evol.py @@ -27,7 +27,7 @@ in_proj = pynn.Projection(input_pop, neuron, pynn.OneToOneConnector(), - pynn.StaticSynapse(weight=[0.5], delay=[0]), + pynn.StaticSynapse(weight=[-0.5], delay=[174]), receptor_type='excitatory') From 77ef7d336824a6ecbfdbd75a544f6ba1520426af Mon Sep 17 00:00:00 2001 From: oliverrhodes Date: Wed, 27 Nov 2019 08:46:47 +0000 Subject: [PATCH 15/68] update payload testing --- eprop_testing/test_learning_signal_by_payload.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/eprop_testing/test_learning_signal_by_payload.py b/eprop_testing/test_learning_signal_by_payload.py index 8f5a828c..02caa204 100644 --- a/eprop_testing/test_learning_signal_by_payload.py +++ b/eprop_testing/test_learning_signal_by_payload.py @@ -17,7 +17,7 @@ readout_neuron_params = { "v": 0, "v_thresh": 30, # controls firing rate of error neurons - "poisson_pop_size": input_pop_size, + "target_data": [0 for x in range(1024)], } @@ -36,10 +36,9 @@ pynn.StaticSynapse(weight=[-0.5], delay=[174]), receptor_type='excitatory') - # Output population -pop_out = p.Population(3, # HARDCODED 3: One readout; one exc err, one inh err - p.extra_models.StoreRecallReadout( +pop_out = pynn.Population(3, # HARDCODED 3: One readout; one exc err, one inh err + pynn.extra_models.SinusoidReadout( **readout_neuron_params ), # Neuron model label="pop_out" # identifier From 09e63deedc1c5d8ec5775a9815d36ea12ea0d36a Mon Sep 17 00:00:00 2001 From: oliverrhodes Date: Wed, 27 Nov 2019 09:33:50 +0000 Subject: [PATCH 16/68] add sinusoid to test script --- .../test_learning_signal_by_payload.py | 45 +++++++++++++------ 1 file changed, 31 insertions(+), 14 deletions(-) diff --git a/eprop_testing/test_learning_signal_by_payload.py b/eprop_testing/test_learning_signal_by_payload.py index 02caa204..28b9fa73 100644 --- a/eprop_testing/test_learning_signal_by_payload.py +++ b/eprop_testing/test_learning_signal_by_payload.py @@ -5,7 +5,7 @@ from pyNN.utility.plotting import Figure, Panel -runtime = 1000 +runtime = 1024 pynn.setup(1.0) neuron_params = { @@ -14,10 +14,17 @@ "v_rest": 0 } +target_data = [] +for i in range(1024): + target_data.append( + 5 + 2 * np.sin(2 * i * 2* np.pi / 1024) \ + + 2 * np.sin((4 * i * 2* np.pi / 1024)) + ) + readout_neuron_params = { "v": 0, "v_thresh": 30, # controls firing rate of error neurons - "target_data": [0 for x in range(1024)], + "target_data": target_data, } @@ -37,38 +44,48 @@ receptor_type='excitatory') # Output population -pop_out = pynn.Population(3, # HARDCODED 3: One readout; one exc err, one inh err +readout_pop = pynn.Population(3, # HARDCODED 1 pynn.extra_models.SinusoidReadout( **readout_neuron_params - ), # Neuron model - label="pop_out" # identifier + ), + label="readout_pop" ) - input_pop.record('spikes') neuron.record('all') +readout_pop.record('all') pynn.run(runtime) in_spikes = input_pop.get_data('spikes') neuron_res = neuron.get_data('all') +readout_res = readout_pop.get_data('all') Figure( Panel(in_spikes.segments[0].spiketrains, ylabel="Input Spikes", data_labels=neuron.label, yticks=True, xlim=(0, runtime)), - Panel(neuron_res.segments[0].filter(name='v')[0], +# Panel(neuron_res.segments[0].filter(name='v')[0], +# ylabel="Membrane potential (mV)", +# data_labels=neuron.label, yticks=True, xlim=(0, runtime)), +# Panel(neuron_res.segments[0].filter(name='gsyn_exc')[0], +# ylabel="gsyn excitatory (mV)", +# data_labels=neuron.label, yticks=True, xlim=(0, runtime)), +# Panel(neuron_res.segments[0].filter(name='gsyn_inh')[0], +# xlabel="Time (ms)", xticks=True, +# ylabel="gsyn inhibitory (mV)", + Panel(readout_res.segments[0].filter(name='v')[0], ylabel="Membrane potential (mV)", - data_labels=neuron.label, yticks=True, xlim=(0, runtime)), - Panel(neuron_res.segments[0].filter(name='gsyn_exc')[0], + data_labels=readout_pop.label, yticks=True, xlim=(0, runtime)), + Panel(readout_res.segments[0].filter(name='gsyn_exc')[0], ylabel="gsyn excitatory (mV)", - data_labels=neuron.label, yticks=True, xlim=(0, runtime)), - Panel(neuron_res.segments[0].filter(name='gsyn_inh')[0], + data_labels=readout_pop.label, yticks=True, xlim=(0, runtime)), + Panel(readout_res.segments[0].filter(name='gsyn_inh')[0], xlabel="Time (ms)", xticks=True, ylabel="gsyn inhibitory (mV)", - data_labels=neuron.label, yticks=True, xlim=(0, runtime)), - Panel(neuron_res.segments[0].spiketrains, + data_labels=readout_pop.label, yticks=True, xlim=(0, runtime)), + Panel(readout_res.segments[0].spiketrains, ylabel="Output Spikes", - data_labels=neuron.label, yticks=True, xlim=(0, runtime)), + data_labels=readout_pop.label, yticks=True, xlim=(0, runtime)), title="Single eprop neuron" ) From 9d6790fce727836359c6729ca8f844e616de2c24 Mon Sep 17 00:00:00 2001 From: oliverrhodes Date: Thu, 28 Nov 2019 11:27:56 +0000 Subject: [PATCH 17/68] learning signal by payload --- .../test_learning_signal_by_payload.py | 71 +++++++++++-------- 1 file changed, 41 insertions(+), 30 deletions(-) diff --git a/eprop_testing/test_learning_signal_by_payload.py b/eprop_testing/test_learning_signal_by_payload.py index 28b9fa73..4d5bcce0 100644 --- a/eprop_testing/test_learning_signal_by_payload.py +++ b/eprop_testing/test_learning_signal_by_payload.py @@ -11,7 +11,8 @@ neuron_params = { "v": 0, "i_offset": 0.8, - "v_rest": 0 + "v_rest": 0, + "w_fb": 0.75 } target_data = [] @@ -51,6 +52,12 @@ label="readout_pop" ) +learning_proj = pynn.Projection(readout_pop, + neuron, + pynn.OneToOneConnector(), + pynn.StaticSynapse(weight=[-0.5], delay=[0]), + receptor_type='excitatory') + input_pop.record('spikes') neuron.record('all') readout_pop.record('all') @@ -60,35 +67,39 @@ neuron_res = neuron.get_data('all') readout_res = readout_pop.get_data('all') -Figure( - Panel(in_spikes.segments[0].spiketrains, - ylabel="Input Spikes", - data_labels=neuron.label, yticks=True, xlim=(0, runtime)), -# Panel(neuron_res.segments[0].filter(name='v')[0], -# ylabel="Membrane potential (mV)", -# data_labels=neuron.label, yticks=True, xlim=(0, runtime)), -# Panel(neuron_res.segments[0].filter(name='gsyn_exc')[0], -# ylabel="gsyn excitatory (mV)", -# data_labels=neuron.label, yticks=True, xlim=(0, runtime)), -# Panel(neuron_res.segments[0].filter(name='gsyn_inh')[0], -# xlabel="Time (ms)", xticks=True, -# ylabel="gsyn inhibitory (mV)", - Panel(readout_res.segments[0].filter(name='v')[0], - ylabel="Membrane potential (mV)", - data_labels=readout_pop.label, yticks=True, xlim=(0, runtime)), - Panel(readout_res.segments[0].filter(name='gsyn_exc')[0], - ylabel="gsyn excitatory (mV)", - data_labels=readout_pop.label, yticks=True, xlim=(0, runtime)), - Panel(readout_res.segments[0].filter(name='gsyn_inh')[0], - xlabel="Time (ms)", xticks=True, - ylabel="gsyn inhibitory (mV)", - data_labels=readout_pop.label, yticks=True, xlim=(0, runtime)), - Panel(readout_res.segments[0].spiketrains, - ylabel="Output Spikes", - data_labels=readout_pop.label, yticks=True, xlim=(0, runtime)), - title="Single eprop neuron" -) + + +# Plot rec neuron output +plt.figure() +plt.tight_layout() + +plt.subplot(4, 1, 1) +plt.plot(neuron_res.segments[0].filter(name='v')[0].magnitude, label='Membrane potential (mV)') + +plt.subplot(4, 1, 2) +plt.plot(neuron_res.segments[0].filter(name='gsyn_exc')[0].magnitude, label='gsyn_exc') + +plt.subplot(4, 1, 3) +plt.plot(neuron_res.segments[0].filter(name='gsyn_inh')[0].magnitude, label='gsyn_inh') + +plt.subplot(4,1,4) +plt.plot(in_spikes.segments[0].spiketrains, label='in_spikes') + +# Plot Readout output +plt.figure() +plt.tight_layout() + +plt.subplot(3, 1, 1) +plt.plot(readout_res.segments[0].filter(name='v')[0].magnitude, label='Membrane potential (mV)') + +plt.subplot(3, 1, 2) +plt.plot(readout_res.segments[0].filter(name='gsyn_exc')[0].magnitude, label='gsyn_exc') + +plt.subplot(3, 1, 3) +plt.plot(readout_res.segments[0].filter(name='gsyn_inh')[0].magnitude, label='gsyn_inh') + plt.show() -pynn.end() \ No newline at end of file +pynn.end() +print("job done") \ No newline at end of file From 3645ad2ac2f4e7a5c5a7203d846c5f6d6d37287f Mon Sep 17 00:00:00 2001 From: oliverrhodes Date: Thu, 28 Nov 2019 17:08:34 +0000 Subject: [PATCH 18/68] update test --- eprop_testing/test_learning_signal_by_payload.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/eprop_testing/test_learning_signal_by_payload.py b/eprop_testing/test_learning_signal_by_payload.py index 4d5bcce0..170cffb1 100644 --- a/eprop_testing/test_learning_signal_by_payload.py +++ b/eprop_testing/test_learning_signal_by_payload.py @@ -31,7 +31,7 @@ input_pop = pynn.Population(1, pynn.SpikeSourceArray, - {'spike_times': [200]}, + {'spike_times': [200, 210]}, label='input_pop') neuron = pynn.Population(1, @@ -41,7 +41,7 @@ in_proj = pynn.Projection(input_pop, neuron, pynn.OneToOneConnector(), - pynn.StaticSynapse(weight=[-0.5], delay=[174]), + pynn.StaticSynapse(weight=[-0.5], delay=[0]), receptor_type='excitatory') # Output population From cdd6a931bfea244fc140a52b431f10f28c7aa9c6 Mon Sep 17 00:00:00 2001 From: oliverrhodes Date: Fri, 13 Dec 2019 11:32:45 +0000 Subject: [PATCH 19/68] update params --- eprop_testing/test_synapse_state_evol.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eprop_testing/test_synapse_state_evol.py b/eprop_testing/test_synapse_state_evol.py index a0ef7ba5..87cfed99 100644 --- a/eprop_testing/test_synapse_state_evol.py +++ b/eprop_testing/test_synapse_state_evol.py @@ -27,7 +27,7 @@ in_proj = pynn.Projection(input_pop, neuron, pynn.OneToOneConnector(), - pynn.StaticSynapse(weight=[-0.5], delay=[174]), + pynn.StaticSynapse(weight=[-0.5], delay=[0]), receptor_type='excitatory') From 067c81a69b97c2535ca59dfc224fe80c2ae2a45e Mon Sep 17 00:00:00 2001 From: oliverrhodes Date: Fri, 24 Jan 2020 15:50:13 +0000 Subject: [PATCH 20/68] Update tests to use new receptor targets --- eprop_testing/one_neuron.py | 2 +- eprop_testing/signed_weights_test.py | 2 +- ...ation.py => test_8_neuron_regularisation.py} | 4 ++-- .../test_learning_signal_by_payload.py | 4 ++-- eprop_testing/test_synapse_state_evol.py | 2 +- examples/one_neuron_test.py | 17 +++++++++++++++++ 6 files changed, 24 insertions(+), 7 deletions(-) rename eprop_testing/{test_16_neuron_regularisation.py => test_8_neuron_regularisation.py} (97%) create mode 100644 examples/one_neuron_test.py diff --git a/eprop_testing/one_neuron.py b/eprop_testing/one_neuron.py index 5fb9e8ad..74a45e24 100644 --- a/eprop_testing/one_neuron.py +++ b/eprop_testing/one_neuron.py @@ -28,7 +28,7 @@ proj = pynn.Projection(spike_source, neuron, pynn.OneToOneConnector(), pynn.StaticSynapse(weight=[-0.5, 2] , delay=[1, 5]), - label='exc_proj') + label='input_connections') neuron.record('all') diff --git a/eprop_testing/signed_weights_test.py b/eprop_testing/signed_weights_test.py index 2faab212..af740961 100644 --- a/eprop_testing/signed_weights_test.py +++ b/eprop_testing/signed_weights_test.py @@ -29,7 +29,7 @@ # note that delays are now fixed to one in terms of spikes, # but the synaptic word field indexes the synapse array pynn.StaticSynapse(weight=[-0.5, 2] , delay=[1, 5]), - label='exc_proj') + receptor_type='input_connections') neuron.record('all') diff --git a/eprop_testing/test_16_neuron_regularisation.py b/eprop_testing/test_8_neuron_regularisation.py similarity index 97% rename from eprop_testing/test_16_neuron_regularisation.py rename to eprop_testing/test_8_neuron_regularisation.py index 349e6f5a..ce55978e 100644 --- a/eprop_testing/test_16_neuron_regularisation.py +++ b/eprop_testing/test_8_neuron_regularisation.py @@ -10,7 +10,7 @@ pynn.setup(dt) -n_neurons = 16 +n_neurons = 8 neuron_params = { "v": 0, @@ -37,7 +37,7 @@ pynn.OneToOneConnector(), pynn.StaticSynapse(weight=3.5, delay=dt), # weight set to cause postsynaptic neuron to fire - receptor_type='excitatory' + receptor_type='input_connections' ) poisson_src.record('spikes') diff --git a/eprop_testing/test_learning_signal_by_payload.py b/eprop_testing/test_learning_signal_by_payload.py index 170cffb1..4ec24c08 100644 --- a/eprop_testing/test_learning_signal_by_payload.py +++ b/eprop_testing/test_learning_signal_by_payload.py @@ -42,7 +42,7 @@ neuron, pynn.OneToOneConnector(), pynn.StaticSynapse(weight=[-0.5], delay=[0]), - receptor_type='excitatory') + receptor_type='input_connections') # Output population readout_pop = pynn.Population(3, # HARDCODED 1 @@ -56,7 +56,7 @@ neuron, pynn.OneToOneConnector(), pynn.StaticSynapse(weight=[-0.5], delay=[0]), - receptor_type='excitatory') + receptor_type='learning_signal') input_pop.record('spikes') neuron.record('all') diff --git a/eprop_testing/test_synapse_state_evol.py b/eprop_testing/test_synapse_state_evol.py index 87cfed99..0fab3f2f 100644 --- a/eprop_testing/test_synapse_state_evol.py +++ b/eprop_testing/test_synapse_state_evol.py @@ -28,7 +28,7 @@ neuron, pynn.OneToOneConnector(), pynn.StaticSynapse(weight=[-0.5], delay=[0]), - receptor_type='excitatory') + receptor_type='input_connections') input_pop.record('spikes') diff --git a/examples/one_neuron_test.py b/examples/one_neuron_test.py new file mode 100644 index 00000000..3679989e --- /dev/null +++ b/examples/one_neuron_test.py @@ -0,0 +1,17 @@ +import spynnaker8 as p + + +timestep=1 +p.setup(timestep) + + +pop_ex1 = p.Population(2, p.IF_curr_exp, {}, label="ex1") + +# pop_ex1.record('all') + +p.run(100) + +# res = pop_ex1.get_data('all') + +p.end() +print("\n job done") \ No newline at end of file From b26172aaea9bede0b09ea127cc71436332b4c960 Mon Sep 17 00:00:00 2001 From: oliverrhodes Date: Fri, 24 Jan 2020 16:44:16 +0000 Subject: [PATCH 21/68] add delta synapse test --- eprop_testing/delta_synapse_test.py | 79 +++++++++++++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 eprop_testing/delta_synapse_test.py diff --git a/eprop_testing/delta_synapse_test.py b/eprop_testing/delta_synapse_test.py new file mode 100644 index 00000000..767c435f --- /dev/null +++ b/eprop_testing/delta_synapse_test.py @@ -0,0 +1,79 @@ +import spynnaker8 as pynn +import numpy as np +import matplotlib.pyplot as plt +from pyNN.random import NumpyRNG, RandomDistribution +from pyNN.utility.plotting import Figure, Panel + + +runtime = 100 +pynn.setup(1.0) + +neuron_params = { + "v": 0, + "i_offset": 0, + "v_rest": 0 + } + + +inp_spike_source = pynn.Population(2, + pynn.SpikeSourceArray, + {'spike_times': [10]}, + label='Spike Source') + +pseudo_rec_spike_source = pynn.Population(2, + pynn.SpikeSourceArray, + {'spike_times': [80]}, + label='Spike Source') + +neuron = pynn.Population(2, + pynn.extra_models.EPropAdaptive(**neuron_params), + label='eprop_pop') + +inp_proj = pynn.Projection(inp_spike_source, neuron, + pynn.OneToOneConnector(), + # note that delays are now fixed to one in terms of spikes, + # but the synaptic word field indexes the synapse array + pynn.StaticSynapse(weight=[-0.5, 10] , delay=[1, 1]), + receptor_type='input_connections') + + +rec_proj = pynn.Projection(pseudo_rec_spike_source, neuron, + pynn.OneToOneConnector(), + # note that delays are now fixed to one in terms of spikes, + # but the synaptic word field indexes the synapse array + pynn.StaticSynapse(weight=[0.5, -10] , delay=[1, 1]), + receptor_type='recurrent_connections') + + + +neuron.record('all') + +pynn.run(runtime) + +res = neuron.get_data('all') +weights = inp_proj.get('weight', 'list', with_address=False) +delays = inp_proj.get('delay', 'list', with_address=False) + +for i in range(len(weights)): + print(weights[i], delays[i]) + +Figure( + Panel(res.segments[0].filter(name='v')[0], + ylabel="Membrane potential (mV)", + data_labels=neuron.label, yticks=True, xlim=(0, runtime)), + Panel(res.segments[0].filter(name='gsyn_exc')[0], + ylabel="gsyn excitatory (mV)", + data_labels=neuron.label, yticks=True, xlim=(0, runtime)), + Panel(res.segments[0].filter(name='gsyn_inh')[0], + xlabel="Time (ms)", xticks=True, + ylabel="gsyn inhibitory (mV)", + data_labels=neuron.label, yticks=True, xlim=(0, runtime)), + Panel(res.segments[0].spiketrains, + ylabel="Output Spikes", + data_labels=neuron.label, yticks=True, xlim=(0, runtime)), + title="Single eprop neuron" +) + +plt.show() + +pynn.end() \ No newline at end of file From 2a10c2fffe929790daca70a8e6d3fd0279f355e8 Mon Sep 17 00:00:00 2001 From: oliverrhodes Date: Sun, 1 Mar 2020 10:04:57 +0000 Subject: [PATCH 22/68] update to one neuron test --- examples/one_neuron_test.py | 76 +++++++++++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 examples/one_neuron_test.py diff --git a/examples/one_neuron_test.py b/examples/one_neuron_test.py new file mode 100644 index 00000000..939186bb --- /dev/null +++ b/examples/one_neuron_test.py @@ -0,0 +1,76 @@ +import spynnaker8 as p +import numpy +import math +import unittest +from pyNN.utility.plotting import Figure, Panel +import matplotlib.pyplot as plt + +p.setup(0.1) # simulation timestep (ms) +runtime = 100 + +# Post-synapse population +neuron_params = { + "v_thresh": -50, + "v_reset": -70, + "v_rest": -65, + "i_offset": 0, # DC input + "v": -60 + } + +spike_times = [10] +# delays = 250 +delays = 2 + + +# pop_src = p.Population(1, p.SpikeSourceArray, {'spike_times': spike_times}, label="src") + + +pop_exc = p.Population(64, # number of neurons + p.IF_curr_exp(**neuron_params), # Neuron model + label="LIF Neuron" # identifier + ) + + +# proj_exc = p.Projection(pop_exc, pop_exc, p.FixedProbabilityConnector(0.99), +# p.StaticSynapse(weight=0.01, delay=delays), receptor_type="excitatory") +# +# proj_inh = p.Projection(pop_src, pop_exc, p.FixedProbabilityConnector(0.99), +# p.StaticSynapse(weight=0.1, delay=delays), receptor_type="inhibitory") + +# pop_exc.record("all") + +p.run(runtime) + +# exc_data = pop_exc.get_data() + +# syn_weight_exc = proj_exc.get('weight', 'list', with_address=False) +# syn_weight_inh = proj_inh.get('weight', 'list', with_address=False) + +# print syn_weight_exc +# , syn_weight_inh + +# Plot +# F = Figure( +# # plot data for postsynaptic neuron +# Panel(exc_data.segments[0].filter(name='v')[0], +# ylabel="Membrane potential (mV)", +# data_labels=[pop_exc.label], yticks=True, xlim=(0, runtime) +# ), +# Panel(exc_data.segments[0].filter(name='gsyn_exc')[0], +# ylabel="gsyn excitatory (mV)", +# data_labels=[pop_exc.label], yticks=True, xlim=(0, runtime) +# ), +# Panel(exc_data.segments[0].filter(name='gsyn_inh')[0], +# ylabel="gsyn inhibitory (mV)", +# data_labels=[pop_exc.label], yticks=True, xlim=(0, runtime) +# ), +# Panel(exc_data.segments[0].spiketrains, +# yticks=True, markersize=2, xlim=(0, runtime) +# ), +# ) + +# plt.show() + +p.end() +print 'job done' + From 389cc424965899f3ef2e5c5cfa4c964a1f537225 Mon Sep 17 00:00:00 2001 From: such-a-git Date: Mon, 2 Mar 2020 18:46:37 +0000 Subject: [PATCH 23/68] full test for all sinusoid learning --- eprop_testing/test_sinusoid_learning.py | 118 ++++++++++++++++++++++++ 1 file changed, 118 insertions(+) create mode 100644 eprop_testing/test_sinusoid_learning.py diff --git a/eprop_testing/test_sinusoid_learning.py b/eprop_testing/test_sinusoid_learning.py new file mode 100644 index 00000000..4852e1db --- /dev/null +++ b/eprop_testing/test_sinusoid_learning.py @@ -0,0 +1,118 @@ +import spynnaker8 as pynn +import numpy as np +import matplotlib.pyplot as plt +from pyNN.random import NumpyRNG, RandomDistribution +from pyNN.utility.plotting import Figure, Panel + + +runtime = 1024 +pynn.setup(1.0) + +neuron_params = { + "v": 0, + "i_offset": 0.8, + "v_rest": 0, + "w_fb": 0.75 + } + +target_data = [] +for i in range(1024): + target_data.append( + 5 + 2 * np.sin(2 * i * 2* np.pi / 1024) \ + + 2 * np.sin((4 * i * 2* np.pi / 1024)) + ) + +readout_neuron_params = { + "v": 0, + "v_thresh": 30, # controls firing rate of error neurons + "target_data": target_data, + "eta": 0.01 + } + + +input_pop = pynn.Population(1, + pynn.SpikeSourceArray, + {'spike_times': np.linspace(0, 1000, 10)}, + label='input_pop') + +neuron = pynn.Population(1, + pynn.extra_models.EPropAdaptive(**neuron_params), + label='eprop_pop') + +in_proj = pynn.Projection(input_pop, + neuron, + pynn.OneToOneConnector(), + pynn.StaticSynapse(weight=[0.5], delay=[0]), + receptor_type='input_connections') + +# Output population +readout_pop = pynn.Population(3, # HARDCODED 1 + pynn.extra_models.SinusoidReadout( + **readout_neuron_params + ), + label="readout_pop" + ) + +out_proj = pynn.Projection(neuron, + readout_pop, + pynn.OneToOneConnector(), + pynn.StaticSynapse(weight=[0.5], delay=[0]), + receptor_type='input_connections') + +learning_proj = pynn.Projection(readout_pop, + neuron, + pynn.OneToOneConnector(), + pynn.StaticSynapse(weight=[0.5], delay=[0]), + receptor_type='learning_signal') + +self_learning_proj = pynn.Projection(readout_pop, + readout_pop, + pynn.OneToOneConnector(), + pynn.StaticSynapse(weight=[0.5], delay=[0]), + receptor_type='learning_signal') + +input_pop.record('spikes') +neuron.record('all') +readout_pop.record('all') + +pynn.run(runtime) +in_spikes = input_pop.get_data('spikes') +neuron_res = neuron.get_data('all') +readout_res = readout_pop.get_data('all') + + + +# Plot rec neuron output +plt.figure() +# plt.tight_layout() + +plt.subplot(4, 1, 1) +plt.plot(neuron_res.segments[0].filter(name='v')[0].magnitude, label='Membrane potential (mV)') + +plt.subplot(4, 1, 2) +plt.plot(neuron_res.segments[0].filter(name='gsyn_exc')[0].magnitude, label='gsyn_exc') + +plt.subplot(4, 1, 3) +plt.plot(neuron_res.segments[0].filter(name='gsyn_inh')[0].magnitude, label='gsyn_inh') + +plt.subplot(4,1,4) +plt.plot(in_spikes.segments[0].spiketrains, label='in_spikes') + +# Plot Readout output +plt.figure() +# plt.tight_layout() + +plt.subplot(3, 1, 1) +plt.plot(readout_res.segments[0].filter(name='v')[0].magnitude, label='Membrane potential (mV)') + +plt.subplot(3, 1, 2) +plt.plot(readout_res.segments[0].filter(name='gsyn_exc')[0].magnitude, label='gsyn_exc') + +plt.subplot(3, 1, 3) +plt.plot(readout_res.segments[0].filter(name='gsyn_inh')[0].magnitude, label='gsyn_inh') + + +plt.show() + +pynn.end() +print("job done") \ No newline at end of file From f1ad37bf5a53dab68a4dac14b33d7e0236f6ed9d Mon Sep 17 00:00:00 2001 From: oliverrhodes Date: Tue, 3 Mar 2020 08:37:25 +0000 Subject: [PATCH 24/68] add test of plastic synapse --- eprop_testing/test_single_plastic_update.py | 62 +++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 eprop_testing/test_single_plastic_update.py diff --git a/eprop_testing/test_single_plastic_update.py b/eprop_testing/test_single_plastic_update.py new file mode 100644 index 00000000..c9201014 --- /dev/null +++ b/eprop_testing/test_single_plastic_update.py @@ -0,0 +1,62 @@ +import spynnaker8 as pynn +import numpy as np +import matplotlib.pyplot as plt +from pyNN.random import NumpyRNG, RandomDistribution +from pyNN.utility.plotting import Figure, Panel + + +runtime = 100 +pynn.setup(1.0) + +neuron_params = { + "v": 0, + "i_offset": 0, + "v_rest": 0 + } + + +spike_source = pynn.Population(2, + pynn.SpikeSourceArray, + {'spike_times': [10]}, + label='Spike Source') + +neuron = pynn.Population(2, + pynn.extra_models.EPropAdaptive(**neuron_params), + label='eprop_pop') + + +start_w = [-0.5, 2] +eprop_learning = pynn.STDPMechanism( + timing_dependence=pynn.extra_models.TimingDependenceEprop(), + weight_dependence=pynn.extra_models.WeightDependenceEpropReg( + w_min=-2.0, w_max=2.0), weight=start_w, delay=[0, 0]) + +proj = pynn.Projection(spike_source, neuron, + pynn.OneToOneConnector(), + synapse_type=eprop_learning, + label='input_connections', + receptor_type='input_connections') + +neuron.record('all') + +pynn.run(runtime) + +res = neuron.get_data('all') + +Figure( + Panel(res.segments[0].filter(name='v')[0], + ylabel="Membrane potential (mV)", + data_labels=neuron.label, yticks=True, xlim=(0, runtime)), + Panel(res.segments[0].filter(name='gsyn_exc')[0], + ylabel="gsyn excitatory (mV)", + data_labels=neuron.label, yticks=True, xlim=(0, runtime)), + Panel(res.segments[0].filter(name='gsyn_inh')[0], + xlabel="Time (ms)", xticks=True, + ylabel="gsyn inhibitory (mV)", + data_labels=neuron.label, yticks=True, xlim=(0, runtime)), + title="Single eprop neuron" +) + +plt.show() + +pynn.end() \ No newline at end of file From 7e0df0dafd53165c908f1798a1c199b8cb8a132b Mon Sep 17 00:00:00 2001 From: oliverrhodes Date: Tue, 3 Mar 2020 09:38:58 +0000 Subject: [PATCH 25/68] Add regularisation test (not yet fully working) --- eprop_testing/test_regularisation.py | 324 ++++++++++++++++++++ eprop_testing/test_single_plastic_update.py | 3 +- 2 files changed, 326 insertions(+), 1 deletion(-) create mode 100644 eprop_testing/test_regularisation.py diff --git a/eprop_testing/test_regularisation.py b/eprop_testing/test_regularisation.py new file mode 100644 index 00000000..e00395fd --- /dev/null +++ b/eprop_testing/test_regularisation.py @@ -0,0 +1,324 @@ +import spynnaker8 as p +import numpy +import math +import unittest +from pyNN.utility.plotting import Figure, Panel +import matplotlib.pyplot as plt + +batches = 10 +num_repeats = 5 # in a batch +cycle_time = 1023 +timestep = 1 +p.setup(timestep) # simulation timestep (ms) +runtime = num_repeats * cycle_time * batches + + +# # Post-synapse population +erbp_neuron_params = { + "v_thresh": 30, + "v_reset": 0, + "v_rest": 0, + "i_offset": 0, # DC input + "v": 0, + "tau_err": 1000 +# "tau_refrac": 50 + } + +readout_neuron_params = { + "v": 0, + "v_thresh": 30, # controls firing rate of error neurons + } + +tau_err = 20 +p.set_number_of_neurons_per_core(p.extra_models.IFCurrExpERBP, 32) +p.set_number_of_neurons_per_core(p.SpikeSourceArray, 32) + +w_in_rec_exc = 0.1 +w_in_rec_exc_dist = p.RandomDistribution( + distribution='normal_clipped', mu=w_in_rec_exc, sigma=w_in_rec_exc, + low=0.0, high=2*w_in_rec_exc) + + +w_in_rec_inh = 0.5*w_in_rec_exc +w_in_rec_inh_dist = p.RandomDistribution( + distribution='normal_clipped', mu=w_in_rec_inh, sigma=w_in_rec_inh, + low=0.0, high=2*w_in_rec_inh) + + +w_rec_rec = 0.1 +w_rec_rec_dist = p.RandomDistribution( + distribution='normal_clipped', mu=w_rec_rec, sigma=w_rec_rec, + low=0.0, high=2*w_rec_rec) + + + + + +def build_input_spike_train(num_repeats, cycle_time): + pattern = [ + [7.0, 14.0, 26.0, 27.0, 42.0, 83.0, 93.0, 99.0, 109.0, 110.0, 144.0, 151.0, 153.0, 164.0, 175.0, 233.0, 245.0, 299.0, 303.0, 354.0, 355.0, 356.0, 432.0, 439.0, 447.0, 491.0, 553.0, 560.0, 583.0, 590.0, 645.0, 659.0, 667.0, 692.0, 693.0, 695.0, 714.0, 715.0, 728.0, 739.0, 756.0, 796.0, 822.0, 825.0, 829.0, 834.0, 862.0, 875.0, 880.0, 896.0, 909.0, 912.0, 940.0, 964.0, 1006.0], + [45.0, 63.0, 66.0, 88.0, 125.0, 142.0, 161.0, 167.0, 183.0, 188.0, 194.0, 207.0, 208.0, 235.0, 236.0, 252.0, 296.0, 346.0, 360.0, 384.0, 393.0, 396.0, 412.0, 474.0, 522.0, 543.0, 547.0, 616.0, 626.0, 657.0, 672.0, 681.0, 697.0, 706.0, 735.0, 770.0, 771.0, 774.0, 809.0, 811.0, 840.0, 847.0, 875.0, 965.0, 984.0, 989.0], + [26.0, 71.0, 79.0, 89.0, 94.0, 122.0, 123.0, 131.0, 138.0, 150.0, 156.0, 172.0, 195.0, 197.0, 220.0, 221.0, 246.0, 250.0, 251.0, 271.0, 272.0, 282.0, 310.0, 320.0, 351.0, 352.0, 355.0, 423.0, 493.0, 510.0, 523.0, 556.0, 577.0, 622.0, 657.0, 708.0, 748.0, 760.0, 766.0, 792.0, 835.0, 854.0, 890.0, 896.0, 898.0, 919.0, 934.0, 947.0, 948.0, 994.0, 1005.0, 1010.0, 1019.0, 1023.0], + [10.0, 21.0, 24.0, 27.0, 35.0, 47.0, 63.0, 64.0, 75.0, 90.0, 127.0, 129.0, 139.0, 145.0, 154.0, 221.0, 224.0, 256.0, 261.0, 262.0, 303.0, 305.0, 322.0, 327.0, 352.0, 369.0, 377.0, 397.0, 408.0, 413.0, 419.0, 437.0, 487.0, 489.0, 499.0, 522.0, 539.0, 607.0, 625.0, 626.0, 633.0, 649.0, 699.0, 701.0, 702.0, 724.0, 734.0, 758.0, 819.0, 835.0, 836.0, 897.0, 930.0, 954.0, 990.0, 1007.0, 1018.0], + [25.0, 31.0, 38.0, 66.0, 68.0, 81.0, 93.0, 111.0, 154.0, 163.0, 165.0, 184.0, 220.0, 272.0, 307.0, 316.0, 319.0, 335.0, 343.0, 392.0, 409.0, 459.0, 463.0, 483.0, 498.0, 507.0, 539.0, 543.0, 558.0, 559.0, 574.0, 579.0, 604.0, 605.0, 619.0, 622.0, 624.0, 626.0, 635.0, 640.0, 689.0, 704.0, 735.0, 740.0, 751.0, 758.0, 767.0, 782.0, 825.0, 836.0, 858.0, 868.0, 874.0, 886.0, 932.0, 952.0, 968.0, 970.0, 980.0, 989.0, 997.0], + [9.0, 18.0, 39.0, 43.0, 61.0, 76.0, 85.0, 121.0, 129.0, 164.0, 185.0, 227.0, 259.0, 283.0, 289.0, 335.0, 351.0, 384.0, 387.0, 392.0, 401.0, 402.0, 408.0, 413.0, 428.0, 435.0, 436.0, 451.0, 458.0, 461.0, 464.0, 476.0, 479.0, 489.0, 500.0, 518.0, 539.0, 551.0, 584.0, 589.0, 590.0, 602.0, 604.0, 605.0, 626.0, 632.0, 640.0, 641.0, 665.0, 707.0, 713.0, 730.0, 749.0, 784.0, 789.0, 837.0, 841.0, 863.0, 867.0, 870.0, 887.0, 935.0, 953.0, 956.0, 968.0, 970.0, 974.0, 984.0, 991.0, 1015.0, 1020.0, 1022.0], + [34.0, 35.0, 38.0, 77.0, 85.0, 90.0, 102.0, 122.0, 162.0, 178.0, 186.0, 187.0, 195.0, 196.0, 200.0, 205.0, 226.0, 278.0, 279.0, 284.0, 294.0, 316.0, 377.0, 402.0, 443.0, 450.0, 478.0, 497.0, 501.0, 509.0, 542.0, 560.0, 561.0, 562.0, 573.0, 590.0, 591.0, 597.0, 604.0, 608.0, 620.0, 631.0, 633.0, 654.0, 667.0, 719.0, 726.0, 739.0, 740.0, 758.0, 766.0, 767.0, 786.0, 792.0, 803.0, 806.0, 808.0, 811.0, 830.0, 842.0, 855.0, 856.0, 863.0, 878.0, 880.0, 889.0, 890.0, 906.0, 928.0, 958.0, 999.0, 1001.0, 1007.0, 1010.0], + [7.0, 31.0, 36.0, 59.0, 109.0, 110.0, 119.0, 121.0, 124.0, 126.0, 137.0, 185.0, 201.0, 218.0, 240.0, 261.0, 281.0, 306.0, 311.0, 342.0, 344.0, 349.0, 357.0, 365.0, 370.0, 380.0, 466.0, 468.0, 470.0, 489.0, 497.0, 572.0, 578.0, 584.0, 587.0, 612.0, 629.0, 657.0, 664.0, 698.0, 707.0, 711.0, 731.0, 735.0, 743.0, 773.0, 838.0, 839.0, 917.0, 923.0, 924.0, 992.0], + [17.0, 25.0, 28.0, 53.0, 70.0, 118.0, 125.0, 128.0, 142.0, 189.0, 190.0, 205.0, 224.0, 237.0, 292.0, 356.0, 357.0, 408.0, 416.0, 448.0, 459.0, 542.0, 615.0, 625.0, 629.0, 653.0, 669.0, 677.0, 716.0, 728.0, 751.0, 767.0, 772.0, 775.0, 857.0, 995.0, 1003.0, 1012.0], + [32.0, 34.0, 43.0, 70.0, 95.0, 130.0, 134.0, 139.0, 148.0, 150.0, 160.0, 163.0, 196.0, 257.0, 275.0, 302.0, 306.0, 322.0, 332.0, 354.0, 357.0, 364.0, 405.0, 432.0, 471.0, 472.0, 491.0, 516.0, 558.0, 563.0, 565.0, 577.0, 583.0, 584.0, 617.0, 626.0, 684.0, 725.0, 750.0, 768.0, 793.0, 794.0, 815.0, 821.0, 832.0, 869.0, 886.0, 894.0, 922.0, 938.0, 939.0, 968.0], + [30.0, 56.0, 59.0, 80.0, 109.0, 151.0, 159.0, 161.0, 164.0, 166.0, 191.0, 223.0, 309.0, 345.0, 378.0, 407.0, 434.0, 459.0, 470.0, 490.0, 585.0, 602.0, 634.0, 651.0, 713.0, 714.0, 779.0, 780.0, 807.0, 815.0, 829.0, 836.0, 857.0, 864.0, 898.0, 921.0, 926.0, 950.0, 969.0, 983.0, 989.0, 992.0], + [30.0, 31.0, 33.0, 63.0, 81.0, 100.0, 117.0, 128.0, 155.0, 157.0, 158.0, 192.0, 232.0, 283.0, 286.0, 295.0, 312.0, 319.0, 354.0, 362.0, 363.0, 369.0, 409.0, 452.0, 520.0, 578.0, 623.0, 624.0, 633.0, 656.0, 660.0, 681.0, 690.0, 693.0, 700.0, 715.0, 728.0, 744.0, 762.0, 781.0, 804.0, 815.0, 837.0, 867.0, 877.0, 944.0, 950.0, 957.0, 963.0, 970.0, 974.0], + [41.0, 48.0, 52.0, 91.0, 92.0, 152.0, 160.0, 163.0, 184.0, 185.0, 246.0, 251.0, 265.0, 268.0, 281.0, 294.0, 305.0, 312.0, 338.0, 346.0, 383.0, 407.0, 417.0, 437.0, 440.0, 448.0, 502.0, 510.0, 532.0, 541.0, 546.0, 573.0, 582.0, 607.0, 623.0, 742.0, 771.0, 785.0, 818.0, 828.0, 846.0, 896.0, 934.0, 965.0, 1005.0], + [34.0, 79.0, 111.0, 121.0, 133.0, 199.0, 207.0, 240.0, 243.0, 263.0, 295.0, 297.0, 330.0, 371.0, 378.0, 382.0, 419.0, 443.0, 469.0, 487.0, 492.0, 499.0, 509.0, 518.0, 525.0, 584.0, 598.0, 617.0, 624.0, 630.0, 634.0, 647.0, 651.0, 678.0, 691.0, 696.0, 703.0, 736.0, 772.0, 830.0, 840.0, 844.0, 858.0, 875.0, 1014.0], + [23.0, 51.0, 60.0, 131.0, 135.0, 147.0, 168.0, 171.0, 181.0, 184.0, 207.0, 210.0, 231.0, 270.0, 271.0, 285.0, 302.0, 309.0, 347.0, 356.0, 377.0, 385.0, 390.0, 396.0, 403.0, 436.0, 455.0, 468.0, 493.0, 515.0, 522.0, 533.0, 622.0, 653.0, 691.0, 692.0, 695.0, 710.0, 729.0, 736.0, 797.0, 800.0, 803.0, 815.0, 844.0, 848.0, 850.0, 859.0, 865.0, 878.0, 902.0, 924.0, 956.0, 967.0, 999.0, 1001.0, 1008.0, 1014.0], + [3.0, 38.0, 59.0, 74.0, 79.0, 81.0, 104.0, 116.0, 120.0, 129.0, 153.0, 170.0, 202.0, 217.0, 242.0, 244.0, 253.0, 254.0, 286.0, 287.0, 289.0, 350.0, 351.0, 390.0, 394.0, 403.0, 410.0, 433.0, 461.0, 464.0, 473.0, 476.0, 478.0, 491.0, 542.0, 543.0, 544.0, 586.0, 591.0, 595.0, 625.0, 627.0, 630.0, 659.0, 668.0, 676.0, 696.0, 702.0, 712.0, 733.0, 776.0, 777.0, 781.0, 782.0, 874.0, 877.0, 919.0, 990.0, 1006.0, 1007.0, 1010.0, 1016.0], + [4.0, 18.0, 40.0, 77.0, 119.0, 156.0, 160.0, 198.0, 243.0, 254.0, 269.0, 288.0, 311.0, 316.0, 347.0, 353.0, 354.0, 372.0, 373.0, 377.0, 413.0, 419.0, 466.0, 467.0, 471.0, 560.0, 566.0, 567.0, 579.0, 616.0, 644.0, 647.0, 667.0, 712.0, 713.0, 752.0, 753.0, 776.0, 783.0, 793.0, 812.0, 865.0, 881.0, 882.0, 884.0, 911.0, 912.0, 925.0, 941.0, 963.0, 978.0, 997.0, 1018.0], + [1.0, 32.0, 34.0, 60.0, 72.0, 95.0, 109.0, 116.0, 124.0, 165.0, 197.0, 205.0, 233.0, 243.0, 247.0, 258.0, 267.0, 274.0, 283.0, 302.0, 337.0, 350.0, 366.0, 368.0, 457.0, 462.0, 490.0, 492.0, 506.0, 571.0, 590.0, 603.0, 613.0, 712.0, 730.0, 736.0, 768.0, 788.0, 799.0, 803.0, 807.0, 808.0, 848.0, 854.0, 876.0, 878.0, 923.0, 958.0, 965.0], + [1.0, 78.0, 114.0, 119.0, 131.0, 155.0, 177.0, 198.0, 200.0, 202.0, 205.0, 241.0, 258.0, 272.0, 280.0, 288.0, 290.0, 291.0, 300.0, 323.0, 326.0, 328.0, 373.0, 375.0, 376.0, 380.0, 389.0, 390.0, 393.0, 403.0, 445.0, 456.0, 465.0, 476.0, 480.0, 481.0, 485.0, 507.0, 543.0, 563.0, 569.0, 597.0, 676.0, 707.0, 711.0, 734.0, 742.0, 777.0, 778.0, 783.0, 787.0, 802.0, 825.0, 830.0, 844.0, 858.0, 880.0, 932.0, 973.0, 1008.0, 1012.0, 1016.0], + [20.0, 23.0, 29.0, 47.0, 48.0, 51.0, 59.0, 143.0, 175.0, 176.0, 193.0, 197.0, 198.0, 202.0, 206.0, 224.0, 231.0, 232.0, 244.0, 283.0, 328.0, 330.0, 341.0, 345.0, 359.0, 361.0, 385.0, 422.0, 438.0, 449.0, 454.0, 465.0, 487.0, 490.0, 510.0, 528.0, 556.0, 580.0, 601.0, 602.0, 645.0, 651.0, 680.0, 693.0, 703.0, 704.0, 706.0, 716.0, 733.0, 782.0, 786.0, 821.0, 822.0, 829.0, 843.0, 855.0, 856.0, 875.0, 941.0, 951.0, 959.0, 990.0, 995.0], + [83.0, 110.0, 117.0, 128.0, 132.0, 154.0, 195.0, 214.0, 217.0, 234.0, 242.0, 252.0, 293.0, 338.0, 343.0, 352.0, 369.0, 412.0, 498.0, 499.0, 554.0, 566.0, 590.0, 603.0, 605.0, 606.0, 614.0, 669.0, 670.0, 671.0, 672.0, 677.0, 761.0, 767.0, 794.0, 832.0, 839.0, 869.0, 893.0, 913.0, 914.0, 915.0, 923.0, 936.0, 950.0, 1014.0], + [34.0, 100.0, 130.0, 138.0, 140.0, 172.0, 174.0, 282.0, 295.0, 303.0, 331.0, 349.0, 365.0, 376.0, 399.0, 408.0, 419.0, 515.0, 600.0, 615.0, 622.0, 626.0, 650.0, 672.0, 685.0, 700.0, 702.0, 742.0, 771.0, 849.0, 861.0, 882.0, 1019.0], + [10.0, 21.0, 67.0, 86.0, 151.0, 160.0, 187.0, 202.0, 225.0, 226.0, 237.0, 255.0, 260.0, 284.0, 300.0, 363.0, 393.0, 410.0, 435.0, 460.0, 463.0, 523.0, 528.0, 577.0, 586.0, 605.0, 611.0, 617.0, 625.0, 627.0, 639.0, 642.0, 651.0, 653.0, 698.0, 701.0, 724.0, 728.0, 729.0, 775.0, 785.0, 793.0, 844.0, 847.0, 865.0, 876.0, 890.0, 907.0, 931.0, 936.0, 961.0, 997.0, 1002.0, 1003.0, 1009.0, 1011.0], + [5.0, 13.0, 25.0, 56.0, 64.0, 65.0, 66.0, 85.0, 111.0, 120.0, 134.0, 152.0, 153.0, 168.0, 170.0, 172.0, 185.0, 199.0, 207.0, 222.0, 233.0, 234.0, 242.0, 255.0, 262.0, 309.0, 333.0, 352.0, 394.0, 395.0, 403.0, 417.0, 429.0, 452.0, 462.0, 463.0, 476.0, 482.0, 501.0, 529.0, 533.0, 534.0, 544.0, 589.0, 595.0, 599.0, 636.0, 652.0, 690.0, 692.0, 743.0, 773.0, 777.0, 840.0, 844.0, 845.0, 872.0, 878.0, 900.0, 982.0, 984.0, 997.0], + [18.0, 100.0, 113.0, 157.0, 160.0, 161.0, 166.0, 168.0, 177.0, 231.0, 234.0, 235.0, 260.0, 302.0, 363.0, 373.0, 377.0, 414.0, 422.0, 445.0, 446.0, 491.0, 508.0, 520.0, 523.0, 547.0, 553.0, 561.0, 599.0, 603.0, 665.0, 714.0, 724.0, 739.0, 741.0, 758.0, 785.0, 860.0, 874.0, 911.0, 963.0, 974.0, 979.0, 980.0, 983.0, 990.0], + [18.0, 37.0, 46.0, 88.0, 121.0, 134.0, 166.0, 198.0, 202.0, 206.0, 210.0, 220.0, 229.0, 249.0, 269.0, 301.0, 364.0, 467.0, 474.0, 482.0, 509.0, 546.0, 579.0, 603.0, 632.0, 641.0, 656.0, 750.0, 763.0, 767.0, 791.0, 828.0, 838.0, 861.0, 890.0, 895.0, 929.0, 955.0, 991.0], + [14.0, 27.0, 48.0, 65.0, 71.0, 72.0, 75.0, 78.0, 99.0, 152.0, 163.0, 183.0, 317.0, 326.0, 336.0, 379.0, 421.0, 460.0, 532.0, 533.0, 547.0, 575.0, 661.0, 680.0, 709.0, 722.0, 744.0, 805.0, 814.0, 816.0, 820.0, 826.0, 827.0, 828.0, 849.0, 853.0, 862.0, 939.0, 943.0, 944.0, 960.0], + [10.0, 27.0, 30.0, 31.0, 32.0, 89.0, 105.0, 110.0, 112.0, 130.0, 155.0, 161.0, 174.0, 221.0, 286.0, 302.0, 326.0, 360.0, 370.0, 378.0, 385.0, 387.0, 394.0, 411.0, 412.0, 423.0, 435.0, 440.0, 460.0, 472.0, 537.0, 538.0, 539.0, 541.0, 548.0, 556.0, 602.0, 619.0, 691.0, 698.0, 737.0, 744.0, 801.0, 814.0, 825.0, 836.0, 838.0, 843.0, 894.0, 909.0, 916.0, 925.0, 929.0, 946.0, 952.0, 953.0, 959.0, 984.0], + [1.0, 9.0, 31.0, 42.0, 65.0, 91.0, 109.0, 171.0, 196.0, 198.0, 203.0, 277.0, 295.0, 313.0, 340.0, 381.0, 397.0, 408.0, 425.0, 469.0, 488.0, 490.0, 505.0, 506.0, 525.0, 559.0, 597.0, 660.0, 705.0, 715.0, 718.0, 764.0, 799.0, 820.0, 893.0, 904.0, 914.0, 978.0, 981.0], + [50.0, 64.0, 90.0, 152.0, 160.0, 164.0, 180.0, 205.0, 231.0, 272.0, 284.0, 339.0, 350.0, 351.0, 374.0, 458.0, 483.0, 488.0, 592.0, 605.0, 612.0, 627.0, 639.0, 651.0, 667.0, 687.0, 711.0, 776.0, 781.0, 817.0, 820.0, 839.0, 876.0, 886.0, 888.0, 898.0, 899.0, 912.0, 921.0, 939.0, 944.0, 981.0], + [24.0, 27.0, 37.0, 42.0, 107.0, 112.0, 125.0, 136.0, 158.0, 176.0, 178.0, 185.0, 275.0, 277.0, 278.0, 350.0, 364.0, 375.0, 393.0, 395.0, 421.0, 430.0, 462.0, 504.0, 505.0, 520.0, 541.0, 555.0, 573.0, 579.0, 589.0, 602.0, 661.0, 672.0, 709.0, 729.0, 744.0, 760.0, 770.0, 778.0, 800.0, 831.0, 832.0, 885.0, 899.0, 951.0, 964.0, 971.0, 974.0, 992.0], + [34.0, 60.0, 84.0, 86.0, 94.0, 109.0, 110.0, 142.0, 154.0, 180.0, 185.0, 198.0, 249.0, 250.0, 268.0, 271.0, 286.0, 299.0, 319.0, 357.0, 395.0, 418.0, 423.0, 424.0, 432.0, 433.0, 447.0, 538.0, 542.0, 554.0, 556.0, 568.0, 584.0, 615.0, 642.0, 684.0, 692.0, 715.0, 721.0, 728.0, 737.0, 747.0, 750.0, 753.0, 758.0, 768.0, 774.0, 808.0, 831.0, 906.0, 937.0, 960.0, 967.0, 986.0, 1014.0], + [59.0, 84.0, 86.0, 91.0, 93.0, 101.0, 125.0, 127.0, 130.0, 161.0, 164.0, 165.0, 166.0, 171.0, 174.0, 197.0, 199.0, 254.0, 258.0, 303.0, 306.0, 309.0, 322.0, 342.0, 353.0, 364.0, 366.0, 367.0, 387.0, 448.0, 471.0, 490.0, 502.0, 513.0, 531.0, 575.0, 597.0, 615.0, 635.0, 650.0, 651.0, 684.0, 694.0, 702.0, 742.0, 782.0, 797.0, 818.0, 839.0, 859.0, 884.0, 903.0, 909.0, 924.0, 927.0, 944.0, 945.0, 973.0, 978.0, 984.0, 998.0], + [31.0, 53.0, 77.0, 85.0, 97.0, 153.0, 158.0, 159.0, 182.0, 204.0, 261.0, 293.0, 318.0, 398.0, 404.0, 424.0, 446.0, 480.0, 486.0, 497.0, 500.0, 520.0, 553.0, 559.0, 562.0, 576.0, 593.0, 640.0, 652.0, 670.0, 679.0, 702.0, 719.0, 721.0, 735.0, 793.0, 833.0, 862.0, 941.0, 952.0], + [42.0, 57.0, 66.0, 80.0, 83.0, 113.0, 114.0, 115.0, 124.0, 144.0, 147.0, 163.0, 169.0, 179.0, 189.0, 203.0, 237.0, 247.0, 257.0, 317.0, 346.0, 349.0, 354.0, 374.0, 389.0, 415.0, 438.0, 446.0, 503.0, 514.0, 515.0, 554.0, 575.0, 608.0, 609.0, 657.0, 666.0, 675.0, 684.0, 703.0, 780.0, 793.0, 803.0, 834.0, 849.0, 924.0, 938.0, 943.0, 951.0, 1005.0, 1019.0], + [8.0, 10.0, 11.0, 17.0, 20.0, 21.0, 47.0, 50.0, 97.0, 110.0, 148.0, 161.0, 169.0, 174.0, 202.0, 205.0, 226.0, 320.0, 345.0, 346.0, 358.0, 364.0, 365.0, 386.0, 391.0, 424.0, 432.0, 435.0, 540.0, 542.0, 587.0, 612.0, 648.0, 707.0, 745.0, 758.0, 765.0, 774.0, 808.0, 814.0, 818.0, 906.0, 909.0, 911.0, 914.0, 919.0, 943.0, 944.0, 956.0, 972.0, 982.0, 1019.0], + [8.0, 11.0, 98.0, 99.0, 113.0, 121.0, 124.0, 164.0, 165.0, 227.0, 228.0, 238.0, 245.0, 279.0, 282.0, 289.0, 310.0, 313.0, 345.0, 369.0, 408.0, 416.0, 478.0, 505.0, 515.0, 542.0, 550.0, 551.0, 613.0, 648.0, 669.0, 678.0, 687.0, 702.0, 715.0, 726.0, 728.0, 738.0, 755.0, 759.0, 787.0, 795.0, 797.0, 830.0, 835.0, 905.0, 950.0, 983.0], + [2.0, 21.0, 27.0, 87.0, 103.0, 136.0, 149.0, 155.0, 156.0, 168.0, 239.0, 249.0, 262.0, 293.0, 304.0, 328.0, 332.0, 341.0, 409.0, 417.0, 420.0, 421.0, 427.0, 435.0, 454.0, 456.0, 462.0, 473.0, 573.0, 590.0, 608.0, 627.0, 629.0, 674.0, 690.0, 697.0, 745.0, 774.0, 791.0, 803.0, 808.0, 815.0, 870.0, 891.0, 896.0, 919.0, 931.0, 946.0, 950.0, 958.0, 977.0, 1001.0, 1003.0, 1015.0], + [1.0, 23.0, 34.0, 93.0, 96.0, 98.0, 107.0, 109.0, 183.0, 188.0, 200.0, 201.0, 218.0, 231.0, 233.0, 247.0, 297.0, 334.0, 338.0, 355.0, 361.0, 369.0, 382.0, 402.0, 415.0, 468.0, 479.0, 505.0, 546.0, 554.0, 561.0, 563.0, 594.0, 603.0, 642.0, 709.0, 710.0, 723.0, 778.0, 819.0, 825.0, 845.0, 858.0, 881.0, 887.0, 930.0, 965.0, 1009.0, 1023.0], + [12.0, 32.0, 59.0, 98.0, 110.0, 137.0, 167.0, 174.0, 175.0, 224.0, 247.0, 318.0, 326.0, 400.0, 402.0, 403.0, 413.0, 440.0, 455.0, 471.0, 499.0, 500.0, 513.0, 544.0, 552.0, 587.0, 591.0, 601.0, 616.0, 623.0, 625.0, 642.0, 660.0, 662.0, 685.0, 769.0, 778.0, 794.0, 827.0, 870.0, 878.0, 885.0, 974.0, 980.0, 1011.0, 1013.0, 1015.0], + [5.0, 52.0, 116.0, 120.0, 134.0, 159.0, 171.0, 174.0, 188.0, 190.0, 194.0, 217.0, 239.0, 254.0, 320.0, 321.0, 346.0, 361.0, 369.0, 371.0, 413.0, 421.0, 435.0, 439.0, 440.0, 441.0, 462.0, 468.0, 471.0, 473.0, 500.0, 512.0, 553.0, 554.0, 590.0, 591.0, 603.0, 621.0, 648.0, 683.0, 708.0, 742.0, 759.0, 812.0, 820.0, 844.0, 853.0, 875.0, 895.0, 905.0, 986.0, 998.0, 1010.0], + [7.0, 17.0, 26.0, 34.0, 48.0, 63.0, 70.0, 87.0, 140.0, 155.0, 156.0, 180.0, 220.0, 224.0, 272.0, 284.0, 291.0, 310.0, 335.0, 340.0, 342.0, 345.0, 353.0, 364.0, 419.0, 448.0, 460.0, 461.0, 518.0, 527.0, 531.0, 534.0, 544.0, 563.0, 584.0, 613.0, 614.0, 645.0, 655.0, 661.0, 666.0, 673.0, 689.0, 827.0, 859.0, 876.0, 888.0, 893.0, 956.0, 967.0, 968.0, 987.0, 1001.0], + [35.0, 46.0, 59.0, 61.0, 64.0, 73.0, 95.0, 110.0, 118.0, 171.0, 196.0, 214.0, 225.0, 294.0, 296.0, 298.0, 360.0, 393.0, 407.0, 411.0, 412.0, 418.0, 445.0, 484.0, 507.0, 554.0, 608.0, 619.0, 628.0, 638.0, 690.0, 744.0, 820.0, 886.0, 897.0, 925.0, 930.0, 959.0, 984.0, 991.0, 1006.0], + [36.0, 37.0, 44.0, 57.0, 59.0, 69.0, 85.0, 103.0, 142.0, 143.0, 144.0, 145.0, 401.0, 474.0, 479.0, 539.0, 543.0, 546.0, 562.0, 583.0, 632.0, 655.0, 694.0, 723.0, 759.0, 771.0, 772.0, 775.0, 796.0, 801.0, 834.0, 838.0, 902.0, 903.0, 980.0, 1022.0], + [8.0, 13.0, 38.0, 56.0, 81.0, 86.0, 104.0, 128.0, 156.0, 230.0, 236.0, 252.0, 307.0, 336.0, 348.0, 352.0, 357.0, 373.0, 374.0, 389.0, 404.0, 414.0, 428.0, 437.0, 449.0, 498.0, 503.0, 590.0, 592.0, 594.0, 652.0, 675.0, 679.0, 699.0, 701.0, 712.0, 728.0, 733.0, 789.0, 814.0, 826.0, 858.0, 861.0, 877.0, 886.0, 896.0, 912.0, 954.0, 984.0, 1002.0, 1021.0], + [43.0, 45.0, 46.0, 128.0, 147.0, 153.0, 154.0, 165.0, 231.0, 235.0, 238.0, 256.0, 318.0, 323.0, 350.0, 381.0, 384.0, 502.0, 517.0, 570.0, 575.0, 591.0, 609.0, 618.0, 622.0, 649.0, 655.0, 667.0, 672.0, 673.0, 722.0, 782.0, 794.0, 825.0, 849.0, 867.0, 868.0, 874.0, 892.0, 933.0, 935.0, 976.0, 982.0, 987.0, 1008.0, 1016.0], + [32.0, 42.0, 90.0, 109.0, 127.0, 141.0, 156.0, 163.0, 164.0, 179.0, 199.0, 215.0, 227.0, 230.0, 264.0, 296.0, 300.0, 328.0, 338.0, 363.0, 366.0, 406.0, 407.0, 408.0, 409.0, 426.0, 531.0, 546.0, 562.0, 588.0, 625.0, 654.0, 676.0, 679.0, 695.0, 709.0, 710.0, 771.0, 791.0, 801.0, 838.0, 845.0, 867.0, 869.0, 879.0, 880.0, 881.0, 932.0, 961.0, 984.0, 1017.0], + [3.0, 21.0, 35.0, 38.0, 40.0, 70.0, 75.0, 86.0, 138.0, 141.0, 167.0, 176.0, 188.0, 209.0, 220.0, 240.0, 243.0, 306.0, 329.0, 356.0, 357.0, 392.0, 406.0, 427.0, 428.0, 446.0, 449.0, 451.0, 483.0, 613.0, 629.0, 647.0, 648.0, 667.0, 712.0, 730.0, 733.0, 784.0, 906.0, 909.0, 948.0, 949.0, 969.0, 973.0, 984.0, 1018.0, 1022.0], + [21.0, 28.0, 47.0, 56.0, 107.0, 114.0, 126.0, 164.0, 178.0, 179.0, 190.0, 204.0, 227.0, 231.0, 242.0, 261.0, 303.0, 350.0, 362.0, 386.0, 425.0, 440.0, 471.0, 482.0, 509.0, 599.0, 603.0, 634.0, 646.0, 693.0, 709.0, 755.0, 799.0, 811.0, 848.0, 922.0, 923.0, 924.0, 928.0, 948.0, 975.0, 1011.0, 1018.0], + [88.0, 132.0, 161.0, 194.0, 206.0, 211.0, 247.0, 270.0, 296.0, 312.0, 331.0, 333.0, 334.0, 373.0, 429.0, 430.0, 436.0, 471.0, 494.0, 523.0, 530.0, 531.0, 536.0, 574.0, 620.0, 655.0, 676.0, 677.0, 709.0, 727.0, 738.0, 776.0, 783.0, 799.0, 805.0, 840.0, 875.0, 896.0, 910.0, 932.0, 939.0, 954.0, 1000.0], + [9.0, 26.0, 33.0, 40.0, 48.0, 65.0, 72.0, 74.0, 104.0, 105.0, 106.0, 107.0, 124.0, 134.0, 189.0, 195.0, 218.0, 228.0, 232.0, 271.0, 283.0, 341.0, 352.0, 354.0, 374.0, 393.0, 414.0, 417.0, 424.0, 435.0, 443.0, 456.0, 458.0, 524.0, 525.0, 574.0, 592.0, 605.0, 617.0, 620.0, 632.0, 641.0, 695.0, 791.0, 792.0, 811.0, 862.0, 943.0, 967.0, 975.0, 985.0, 1011.0], + [45.0, 76.0, 164.0, 258.0, 310.0, 340.0, 346.0, 349.0, 363.0, 383.0, 396.0, 424.0, 446.0, 468.0, 471.0, 516.0, 544.0, 550.0, 571.0, 595.0, 686.0, 750.0, 758.0, 775.0, 782.0, 799.0, 831.0, 832.0, 864.0, 876.0, 883.0, 896.0, 939.0, 941.0, 972.0, 976.0, 1008.0], + [43.0, 48.0, 63.0, 78.0, 86.0, 96.0, 166.0, 170.0, 175.0, 195.0, 224.0, 248.0, 263.0, 270.0, 271.0, 279.0, 292.0, 355.0, 395.0, 405.0, 406.0, 423.0, 442.0, 453.0, 454.0, 458.0, 471.0, 482.0, 484.0, 490.0, 504.0, 510.0, 563.0, 604.0, 606.0, 620.0, 644.0, 652.0, 656.0, 716.0, 727.0, 730.0, 744.0, 792.0, 797.0, 802.0, 807.0, 816.0, 837.0, 846.0, 850.0, 851.0, 856.0, 897.0, 898.0, 901.0, 929.0, 932.0, 951.0, 952.0, 974.0], + [15.0, 18.0, 28.0, 57.0, 61.0, 64.0, 65.0, 112.0, 134.0, 170.0, 179.0, 186.0, 212.0, 213.0, 275.0, 280.0, 318.0, 339.0, 369.0, 380.0, 382.0, 384.0, 415.0, 427.0, 444.0, 454.0, 455.0, 457.0, 490.0, 492.0, 499.0, 504.0, 509.0, 510.0, 516.0, 519.0, 537.0, 601.0, 603.0, 615.0, 622.0, 689.0, 692.0, 710.0, 711.0, 712.0, 727.0, 752.0, 764.0, 788.0, 789.0, 790.0, 814.0, 852.0, 860.0, 866.0, 889.0, 936.0, 948.0, 950.0, 964.0, 996.0, 1007.0], + [10.0, 33.0, 44.0, 132.0, 156.0, 166.0, 192.0, 198.0, 227.0, 231.0, 246.0, 258.0, 264.0, 276.0, 372.0, 389.0, 396.0, 434.0, 449.0, 451.0, 464.0, 490.0, 502.0, 524.0, 531.0, 567.0, 587.0, 615.0, 641.0, 651.0, 686.0, 700.0, 708.0, 786.0, 790.0, 803.0, 808.0, 850.0, 864.0, 871.0, 913.0, 934.0, 944.0, 993.0, 1012.0], + [4.0, 5.0, 13.0, 25.0, 127.0, 143.0, 152.0, 172.0, 173.0, 184.0, 188.0, 217.0, 307.0, 318.0, 327.0, 334.0, 337.0, 353.0, 373.0, 388.0, 393.0, 399.0, 422.0, 490.0, 518.0, 564.0, 668.0, 706.0, 726.0, 737.0, 751.0, 760.0, 794.0, 804.0, 806.0, 828.0, 858.0, 865.0, 883.0, 953.0, 962.0, 965.0, 969.0, 971.0, 988.0], + [3.0, 44.0, 67.0, 98.0, 141.0, 180.0, 188.0, 190.0, 233.0, 236.0, 255.0, 274.0, 322.0, 342.0, 347.0, 366.0, 597.0, 606.0, 650.0, 691.0, 695.0, 758.0, 759.0, 814.0, 815.0, 824.0, 839.0, 857.0, 859.0, 860.0, 902.0, 913.0, 915.0, 921.0, 925.0, 927.0, 947.0, 964.0], + [7.0, 22.0, 37.0, 38.0, 46.0, 88.0, 91.0, 100.0, 107.0, 108.0, 134.0, 164.0, 179.0, 183.0, 184.0, 199.0, 218.0, 236.0, 255.0, 260.0, 297.0, 301.0, 309.0, 317.0, 328.0, 333.0, 338.0, 348.0, 359.0, 410.0, 412.0, 479.0, 490.0, 516.0, 517.0, 578.0, 639.0, 644.0, 653.0, 700.0, 705.0, 707.0, 719.0, 733.0, 746.0, 756.0, 766.0, 776.0, 831.0, 857.0, 896.0, 902.0, 923.0, 955.0, 1001.0, 1004.0, 1009.0, 1012.0], + [17.0, 29.0, 71.0, 72.0, 82.0, 93.0, 94.0, 96.0, 99.0, 101.0, 123.0, 129.0, 155.0, 186.0, 188.0, 189.0, 275.0, 303.0, 313.0, 335.0, 352.0, 364.0, 365.0, 366.0, 393.0, 400.0, 408.0, 427.0, 431.0, 440.0, 441.0, 448.0, 476.0, 508.0, 537.0, 553.0, 568.0, 642.0, 668.0, 684.0, 685.0, 737.0, 755.0, 758.0, 796.0, 797.0, 829.0, 851.0, 865.0, 906.0, 950.0, 961.0, 982.0, 992.0, 995.0, 1006.0, 1016.0, 1021.0], + [24.0, 36.0, 42.0, 55.0, 93.0, 196.0, 213.0, 235.0, 237.0, 258.0, 272.0, 277.0, 363.0, 395.0, 431.0, 478.0, 523.0, 529.0, 534.0, 543.0, 557.0, 582.0, 588.0, 597.0, 607.0, 631.0, 649.0, 651.0, 656.0, 688.0, 690.0, 693.0, 700.0, 722.0, 734.0, 804.0, 819.0, 837.0, 855.0, 870.0, 899.0, 900.0, 954.0, 957.0, 979.0, 986.0, 1012.0, 1016.0], + [59.0, 112.0, 144.0, 158.0, 162.0, 207.0, 210.0, 241.0, 269.0, 275.0, 286.0, 298.0, 382.0, 400.0, 412.0, 428.0, 492.0, 590.0, 597.0, 598.0, 618.0, 627.0, 706.0, 741.0, 745.0, 797.0, 828.0, 834.0, 875.0, 897.0, 898.0, 899.0, 929.0, 965.0, 997.0, 1010.0, 1017.0, 1022.0], + [1.0, 23.0, 28.0, 37.0, 42.0, 54.0, 68.0, 76.0, 99.0, 128.0, 129.0, 163.0, 193.0, 206.0, 252.0, 256.0, 316.0, 358.0, 376.0, 499.0, 500.0, 510.0, 529.0, 548.0, 555.0, 558.0, 559.0, 563.0, 571.0, 579.0, 595.0, 618.0, 620.0, 626.0, 653.0, 692.0, 702.0, 712.0, 716.0, 827.0, 852.0, 863.0, 922.0, 943.0, 968.0, 979.0, 980.0, 981.0, 982.0, 984.0, 1000.0], + [23.0, 42.0, 61.0, 86.0, 88.0, 89.0, 99.0, 124.0, 128.0, 137.0, 144.0, 162.0, 170.0, 195.0, 196.0, 230.0, 234.0, 330.0, 348.0, 355.0, 371.0, 386.0, 401.0, 413.0, 417.0, 437.0, 590.0, 624.0, 640.0, 644.0, 648.0, 660.0, 674.0, 715.0, 737.0, 769.0, 781.0, 796.0, 819.0, 820.0, 822.0, 853.0, 854.0, 912.0, 956.0, 986.0, 997.0, 1022.0], + [8.0, 63.0, 64.0, 65.0, 82.0, 84.0, 135.0, 196.0, 230.0, 235.0, 237.0, 272.0, 304.0, 352.0, 383.0, 407.0, 425.0, 429.0, 438.0, 440.0, 448.0, 478.0, 485.0, 488.0, 522.0, 552.0, 561.0, 578.0, 595.0, 621.0, 640.0, 661.0, 670.0, 671.0, 674.0, 751.0, 771.0, 772.0, 785.0, 815.0, 900.0, 915.0, 918.0, 921.0, 960.0], + [6.0, 28.0, 29.0, 39.0, 54.0, 55.0, 74.0, 88.0, 172.0, 182.0, 185.0, 190.0, 193.0, 199.0, 205.0, 210.0, 215.0, 226.0, 228.0, 229.0, 254.0, 258.0, 266.0, 269.0, 293.0, 295.0, 300.0, 313.0, 321.0, 369.0, 379.0, 387.0, 412.0, 416.0, 419.0, 452.0, 464.0, 491.0, 496.0, 502.0, 535.0, 544.0, 588.0, 616.0, 645.0, 666.0, 702.0, 706.0, 723.0, 749.0, 835.0, 839.0, 847.0, 850.0, 873.0, 896.0, 899.0, 952.0, 953.0, 959.0, 965.0, 992.0, 998.0, 1000.0, 1004.0], + [10.0, 31.0, 68.0, 70.0, 78.0, 98.0, 125.0, 141.0, 149.0, 151.0, 264.0, 268.0, 305.0, 341.0, 346.0, 414.0, 433.0, 485.0, 511.0, 544.0, 549.0, 561.0, 622.0, 647.0, 652.0, 666.0, 688.0, 706.0, 720.0, 769.0, 775.0, 784.0, 787.0, 788.0, 796.0, 845.0, 846.0, 847.0, 889.0, 914.0, 934.0, 985.0, 992.0, 997.0], + [4.0, 5.0, 18.0, 50.0, 135.0, 138.0, 139.0, 176.0, 179.0, 185.0, 190.0, 218.0, 229.0, 235.0, 322.0, 345.0, 346.0, 370.0, 404.0, 419.0, 436.0, 484.0, 509.0, 522.0, 531.0, 534.0, 536.0, 574.0, 584.0, 587.0, 618.0, 626.0, 637.0, 642.0, 643.0, 647.0, 660.0, 682.0, 698.0, 724.0, 769.0, 777.0, 778.0, 799.0, 825.0, 826.0, 832.0, 836.0, 839.0, 869.0, 870.0, 900.0, 924.0, 953.0, 975.0, 984.0], + [5.0, 55.0, 78.0, 154.0, 157.0, 196.0, 199.0, 205.0, 249.0, 265.0, 266.0, 279.0, 286.0, 323.0, 348.0, 366.0, 375.0, 386.0, 395.0, 415.0, 419.0, 425.0, 440.0, 453.0, 532.0, 553.0, 560.0, 566.0, 585.0, 617.0, 660.0, 680.0, 690.0, 741.0, 743.0, 760.0, 774.0, 777.0, 782.0, 814.0, 829.0, 902.0, 957.0, 987.0], + [19.0, 49.0, 87.0, 133.0, 135.0, 187.0, 192.0, 225.0, 233.0, 260.0, 261.0, 293.0, 310.0, 337.0, 368.0, 371.0, 375.0, 447.0, 449.0, 470.0, 486.0, 487.0, 504.0, 509.0, 523.0, 525.0, 527.0, 639.0, 689.0, 690.0, 697.0, 746.0, 781.0, 787.0, 826.0, 844.0, 850.0, 896.0, 920.0, 950.0, 953.0, 1006.0, 1014.0, 1019.0], + [35.0, 37.0, 71.0, 89.0, 113.0, 123.0, 132.0, 135.0, 171.0, 192.0, 215.0, 237.0, 270.0, 280.0, 304.0, 319.0, 328.0, 364.0, 380.0, 423.0, 459.0, 475.0, 485.0, 493.0, 536.0, 544.0, 557.0, 706.0, 753.0, 756.0, 764.0, 788.0, 789.0, 796.0, 797.0, 863.0, 866.0, 878.0, 903.0, 938.0, 977.0], + [10.0, 26.0, 49.0, 64.0, 74.0, 104.0, 105.0, 151.0, 180.0, 209.0, 231.0, 243.0, 258.0, 278.0, 291.0, 323.0, 332.0, 415.0, 419.0, 423.0, 427.0, 487.0, 491.0, 494.0, 505.0, 520.0, 538.0, 555.0, 566.0, 580.0, 582.0, 633.0, 638.0, 650.0, 667.0, 670.0, 681.0, 696.0, 718.0, 719.0, 731.0, 752.0, 782.0, 818.0, 906.0, 923.0, 929.0, 945.0, 946.0, 951.0, 952.0, 958.0, 967.0, 968.0, 969.0, 1016.0], + [15.0, 20.0, 53.0, 62.0, 68.0, 83.0, 92.0, 108.0, 116.0, 117.0, 124.0, 164.0, 180.0, 192.0, 217.0, 245.0, 247.0, 281.0, 282.0, 288.0, 291.0, 327.0, 374.0, 389.0, 421.0, 429.0, 433.0, 480.0, 498.0, 501.0, 522.0, 537.0, 539.0, 569.0, 576.0, 628.0, 682.0, 683.0, 696.0, 752.0, 754.0, 765.0, 778.0, 798.0, 823.0, 852.0, 868.0, 875.0, 885.0, 890.0, 903.0, 937.0, 945.0, 954.0, 961.0, 983.0], + [5.0, 13.0, 49.0, 65.0, 145.0, 149.0, 150.0, 184.0, 200.0, 218.0, 223.0, 238.0, 253.0, 273.0, 278.0, 287.0, 294.0, 361.0, 417.0, 451.0, 478.0, 498.0, 557.0, 592.0, 660.0, 678.0, 688.0, 710.0, 769.0, 773.0, 803.0, 827.0, 857.0, 881.0, 897.0, 908.0, 955.0, 956.0, 974.0], + [44.0, 59.0, 67.0, 97.0, 117.0, 150.0, 165.0, 168.0, 175.0, 186.0, 215.0, 227.0, 231.0, 288.0, 294.0, 306.0, 333.0, 334.0, 341.0, 365.0, 380.0, 399.0, 427.0, 455.0, 458.0, 503.0, 524.0, 536.0, 542.0, 548.0, 549.0, 557.0, 582.0, 594.0, 606.0, 608.0, 644.0, 652.0, 660.0, 671.0, 702.0, 706.0, 722.0, 754.0, 792.0, 827.0, 832.0, 848.0, 880.0, 911.0, 923.0, 925.0, 934.0, 956.0, 960.0, 980.0, 985.0, 1016.0], + [26.0, 74.0, 75.0, 76.0, 92.0, 121.0, 122.0, 169.0, 178.0, 187.0, 197.0, 200.0, 223.0, 238.0, 303.0, 323.0, 365.0, 369.0, 406.0, 433.0, 478.0, 479.0, 491.0, 497.0, 501.0, 503.0, 531.0, 544.0, 552.0, 575.0, 619.0, 632.0, 648.0, 658.0, 664.0, 730.0, 744.0, 748.0, 757.0, 791.0, 816.0, 819.0, 831.0, 847.0, 856.0, 869.0, 873.0, 887.0, 903.0, 944.0, 964.0, 983.0, 996.0, 1023.0], + [2.0, 4.0, 7.0, 28.0, 36.0, 67.0, 84.0, 93.0, 125.0, 143.0, 156.0, 201.0, 225.0, 233.0, 271.0, 293.0, 296.0, 310.0, 314.0, 323.0, 325.0, 342.0, 398.0, 400.0, 423.0, 444.0, 456.0, 460.0, 476.0, 479.0, 492.0, 531.0, 532.0, 550.0, 569.0, 586.0, 628.0, 651.0, 658.0, 700.0, 739.0, 777.0, 800.0, 804.0, 806.0, 811.0, 885.0, 892.0, 907.0, 939.0, 957.0, 969.0, 983.0, 1000.0, 1003.0], + [23.0, 24.0, 58.0, 77.0, 96.0, 127.0, 165.0, 170.0, 206.0, 214.0, 231.0, 241.0, 253.0, 328.0, 355.0, 377.0, 382.0, 415.0, 435.0, 448.0, 483.0, 485.0, 526.0, 537.0, 554.0, 573.0, 577.0, 582.0, 601.0, 652.0, 704.0, 710.0, 717.0, 725.0, 731.0, 735.0, 750.0, 807.0, 837.0, 839.0, 846.0, 880.0, 915.0, 947.0], + [7.0, 22.0, 29.0, 68.0, 111.0, 125.0, 147.0, 149.0, 189.0, 192.0, 198.0, 212.0, 231.0, 237.0, 238.0, 269.0, 310.0, 332.0, 338.0, 354.0, 383.0, 405.0, 407.0, 413.0, 419.0, 424.0, 428.0, 435.0, 437.0, 441.0, 444.0, 453.0, 471.0, 489.0, 514.0, 561.0, 580.0, 583.0, 620.0, 627.0, 659.0, 670.0, 671.0, 673.0, 685.0, 700.0, 716.0, 725.0, 737.0, 749.0, 762.0, 773.0, 782.0, 819.0, 860.0, 863.0, 887.0, 905.0, 912.0, 924.0, 934.0, 953.0, 960.0, 1003.0, 1014.0], + [3.0, 31.0, 52.0, 58.0, 59.0, 96.0, 105.0, 118.0, 122.0, 126.0, 133.0, 135.0, 140.0, 144.0, 147.0, 175.0, 199.0, 215.0, 242.0, 258.0, 304.0, 322.0, 364.0, 380.0, 384.0, 385.0, 389.0, 390.0, 399.0, 421.0, 442.0, 451.0, 479.0, 498.0, 501.0, 512.0, 528.0, 547.0, 581.0, 586.0, 590.0, 652.0, 653.0, 654.0, 668.0, 685.0, 689.0, 705.0, 726.0, 762.0, 803.0, 808.0, 809.0, 835.0, 842.0, 874.0, 910.0, 914.0, 968.0, 978.0, 993.0, 1007.0, 1008.0, 1016.0, 1022.0], + [2.0, 8.0, 16.0, 21.0, 26.0, 47.0, 52.0, 89.0, 126.0, 135.0, 143.0, 147.0, 172.0, 195.0, 227.0, 235.0, 242.0, 251.0, 337.0, 344.0, 350.0, 358.0, 371.0, 375.0, 383.0, 387.0, 411.0, 421.0, 440.0, 441.0, 470.0, 475.0, 549.0, 552.0, 554.0, 555.0, 573.0, 574.0, 587.0, 603.0, 633.0, 667.0, 713.0, 726.0, 735.0, 741.0, 755.0, 756.0, 766.0, 789.0, 802.0, 803.0, 818.0, 821.0, 824.0, 845.0, 855.0, 895.0, 919.0, 926.0, 927.0, 930.0, 940.0], + [35.0, 38.0, 53.0, 58.0, 65.0, 90.0, 103.0, 174.0, 176.0, 239.0, 245.0, 269.0, 290.0, 366.0, 375.0, 396.0, 428.0, 453.0, 472.0, 490.0, 519.0, 586.0, 618.0, 687.0, 701.0, 726.0, 728.0, 747.0, 764.0, 767.0, 794.0, 851.0, 986.0], + [27.0, 41.0, 49.0, 50.0, 54.0, 108.0, 122.0, 152.0, 154.0, 158.0, 182.0, 221.0, 250.0, 256.0, 275.0, 288.0, 305.0, 328.0, 370.0, 379.0, 419.0, 423.0, 470.0, 492.0, 523.0, 524.0, 540.0, 542.0, 612.0, 642.0, 663.0, 675.0, 699.0, 701.0, 759.0, 770.0, 777.0, 785.0, 799.0, 804.0, 867.0, 879.0, 890.0, 895.0, 930.0, 937.0, 946.0, 967.0, 968.0, 975.0, 976.0, 1008.0, 1022.0], + [52.0, 55.0, 58.0, 90.0, 129.0, 136.0, 172.0, 192.0, 234.0, 235.0, 241.0, 244.0, 247.0, 308.0, 371.0, 413.0, 414.0, 473.0, 484.0, 497.0, 507.0, 519.0, 622.0, 648.0, 659.0, 687.0, 696.0, 746.0, 781.0, 801.0, 914.0, 931.0, 966.0, 971.0, 999.0], + [9.0, 24.0, 47.0, 50.0, 79.0, 106.0, 121.0, 132.0, 150.0, 154.0, 173.0, 183.0, 200.0, 217.0, 233.0, 276.0, 283.0, 320.0, 356.0, 357.0, 362.0, 385.0, 396.0, 405.0, 407.0, 445.0, 488.0, 540.0, 542.0, 550.0, 554.0, 579.0, 603.0, 608.0, 624.0, 636.0, 684.0, 776.0, 779.0, 792.0, 817.0, 820.0, 834.0, 846.0, 847.0, 860.0, 914.0, 918.0, 922.0, 925.0, 950.0, 958.0, 976.0, 995.0, 1022.0], + [47.0, 49.0, 54.0, 60.0, 66.0, 98.0, 150.0, 152.0, 153.0, 203.0, 220.0, 233.0, 261.0, 286.0, 300.0, 308.0, 419.0, 468.0, 490.0, 541.0, 555.0, 559.0, 561.0, 607.0, 655.0, 666.0, 672.0, 687.0, 690.0, 738.0, 761.0, 781.0, 798.0, 808.0, 819.0, 838.0, 839.0, 870.0, 871.0, 901.0, 915.0, 946.0, 984.0, 986.0, 991.0, 1000.0, 1017.0], + [38.0, 59.0, 213.0, 242.0, 246.0, 263.0, 277.0, 280.0, 282.0, 298.0, 313.0, 353.0, 362.0, 363.0, 377.0, 386.0, 415.0, 416.0, 466.0, 540.0, 588.0, 609.0, 653.0, 662.0, 666.0, 668.0, 678.0, 679.0, 709.0, 721.0, 738.0, 755.0, 776.0, 792.0, 796.0, 804.0, 818.0, 836.0, 886.0, 915.0, 919.0, 994.0, 1015.0], + [8.0, 17.0, 65.0, 75.0, 87.0, 104.0, 109.0, 166.0, 178.0, 209.0, 252.0, 255.0, 258.0, 261.0, 279.0, 304.0, 331.0, 382.0, 417.0, 421.0, 462.0, 479.0, 491.0, 538.0, 543.0, 544.0, 553.0, 559.0, 566.0, 604.0, 605.0, 662.0, 663.0, 670.0, 708.0, 729.0, 732.0, 738.0, 804.0, 809.0, 833.0, 838.0, 882.0, 898.0, 902.0, 913.0, 921.0, 936.0, 966.0, 984.0, 989.0, 990.0, 1002.0, 1012.0], + [22.0, 36.0, 52.0, 76.0, 77.0, 105.0, 114.0, 117.0, 118.0, 137.0, 160.0, 171.0, 175.0, 197.0, 202.0, 248.0, 284.0, 365.0, 392.0, 409.0, 453.0, 489.0, 493.0, 508.0, 551.0, 564.0, 571.0, 602.0, 615.0, 646.0, 647.0, 678.0, 686.0, 690.0, 696.0, 697.0, 739.0, 756.0, 781.0, 792.0, 793.0, 813.0, 896.0, 918.0, 931.0, 961.0, 962.0, 972.0, 981.0, 992.0, 1010.0], + [47.0, 100.0, 101.0, 130.0, 188.0, 200.0, 206.0, 229.0, 243.0, 255.0, 276.0, 296.0, 318.0, 326.0, 347.0, 433.0, 450.0, 453.0, 471.0, 475.0, 476.0, 483.0, 493.0, 494.0, 510.0, 533.0, 537.0, 562.0, 585.0, 617.0, 631.0, 657.0, 678.0, 709.0, 712.0, 745.0, 747.0, 755.0, 766.0, 771.0, 785.0, 792.0, 797.0, 815.0, 851.0, 886.0, 899.0, 999.0], + [3.0, 4.0, 15.0, 24.0, 50.0, 72.0, 98.0, 105.0, 108.0, 134.0, 157.0, 161.0, 194.0, 235.0, 295.0, 308.0, 316.0, 329.0, 393.0, 394.0, 452.0, 455.0, 515.0, 517.0, 536.0, 576.0, 584.0, 621.0, 627.0, 631.0, 676.0, 710.0, 719.0, 726.0, 727.0, 752.0, 788.0, 810.0, 826.0, 838.0, 839.0, 861.0, 862.0, 879.0, 886.0, 916.0, 980.0, 1020.0], + [31.0, 36.0, 46.0, 68.0, 72.0, 118.0, 123.0, 125.0, 160.0, 222.0, 223.0, 270.0, 293.0, 332.0, 348.0, 373.0, 380.0, 411.0, 413.0, 434.0, 469.0, 498.0, 507.0, 521.0, 566.0, 571.0, 601.0, 611.0, 619.0, 647.0, 696.0, 705.0, 711.0, 755.0, 760.0, 772.0, 774.0, 788.0, 796.0, 820.0, 849.0, 862.0, 866.0, 878.0, 898.0, 973.0, 1023.0], + [15.0, 24.0, 34.0, 41.0, 42.0, 63.0, 67.0, 100.0, 127.0, 182.0, 200.0, 237.0, 247.0, 249.0, 290.0, 323.0, 333.0, 342.0, 368.0, 387.0, 412.0, 424.0, 427.0, 440.0, 442.0, 487.0, 533.0, 548.0, 590.0, 607.0, 639.0, 651.0, 659.0, 714.0, 716.0, 738.0, 756.0, 782.0, 794.0, 802.0, 810.0, 820.0, 824.0, 854.0, 874.0, 876.0, 877.0, 912.0, 932.0, 945.0, 976.0, 987.0, 1005.0, 1022.0], + [14.0, 17.0, 71.0, 78.0, 100.0, 118.0, 132.0, 143.0, 162.0, 170.0, 176.0, 177.0, 195.0, 201.0, 219.0, 256.0, 261.0, 264.0, 279.0, 281.0, 288.0, 357.0, 406.0, 409.0, 412.0, 442.0, 445.0, 471.0, 488.0, 516.0, 529.0, 550.0, 557.0, 559.0, 563.0, 580.0, 591.0, 599.0, 675.0, 691.0, 736.0, 738.0, 749.0, 764.0, 765.0, 776.0, 780.0, 785.0, 806.0, 823.0, 825.0, 830.0, 837.0, 843.0, 864.0, 878.0, 921.0, 930.0, 932.0, 934.0, 937.0, 959.0], + [13.0, 19.0, 35.0, 85.0, 122.0, 128.0, 135.0, 136.0, 161.0, 165.0, 166.0, 203.0, 223.0, 236.0, 241.0, 242.0, 339.0, 353.0, 370.0, 381.0, 387.0, 390.0, 400.0, 407.0, 415.0, 421.0, 454.0, 464.0, 470.0, 471.0, 496.0, 504.0, 511.0, 520.0, 560.0, 565.0, 567.0, 601.0, 635.0, 655.0, 668.0, 705.0, 768.0, 787.0, 799.0, 806.0, 814.0, 835.0, 836.0, 857.0, 862.0, 872.0, 884.0, 888.0, 951.0, 984.0, 1021.0], + [24.0, 53.0, 54.0, 79.0, 89.0, 121.0, 134.0, 155.0, 164.0, 166.0, 205.0, 221.0, 222.0, 231.0, 291.0, 302.0, 334.0, 352.0, 369.0, 387.0, 437.0, 447.0, 451.0, 594.0, 609.0, 646.0, 652.0, 662.0, 681.0, 710.0, 787.0, 829.0, 848.0, 899.0, 912.0, 926.0, 997.0, 1006.0, 1022.0], + [14.0, 20.0, 29.0, 47.0, 52.0, 69.0, 75.0, 117.0, 120.0, 127.0, 146.0, 153.0, 175.0, 181.0, 237.0, 272.0, 287.0, 301.0, 316.0, 343.0, 347.0, 349.0, 395.0, 414.0, 425.0, 487.0, 526.0, 528.0, 538.0, 546.0, 548.0, 558.0, 581.0, 593.0, 630.0, 632.0, 636.0, 642.0, 651.0, 719.0, 726.0, 836.0, 968.0, 998.0, 1006.0], + [6.0, 23.0, 55.0, 90.0, 111.0, 117.0, 118.0, 123.0, 130.0, 131.0, 160.0, 187.0, 196.0, 214.0, 247.0, 253.0, 272.0, 288.0, 292.0, 302.0, 303.0, 307.0, 310.0, 323.0, 334.0, 364.0, 382.0, 384.0, 406.0, 432.0, 433.0, 439.0, 471.0, 524.0, 530.0, 562.0, 683.0, 689.0, 755.0, 769.0, 807.0, 809.0, 813.0, 834.0, 837.0, 880.0, 900.0, 927.0, 930.0, 939.0, 940.0, 970.0, 993.0], + [41.0, 54.0, 82.0, 83.0, 99.0, 139.0, 143.0, 146.0, 150.0, 161.0, 194.0, 227.0, 287.0, 312.0, 313.0, 320.0, 324.0, 340.0, 376.0, 384.0, 393.0, 430.0, 434.0, 476.0, 512.0, 514.0, 536.0, 584.0, 599.0, 600.0, 606.0, 624.0, 708.0, 714.0, 758.0, 785.0, 824.0, 838.0, 849.0, 873.0, 877.0, 881.0, 966.0, 973.0, 997.0, 1016.0], + [14.0, 24.0, 30.0, 36.0, 50.0, 73.0, 78.0, 87.0, 89.0, 107.0, 113.0, 155.0, 165.0, 171.0, 189.0, 190.0, 193.0, 209.0, 218.0, 238.0, 244.0, 288.0, 291.0, 311.0, 318.0, 319.0, 320.0, 325.0, 338.0, 351.0, 353.0, 407.0, 429.0, 475.0, 523.0, 526.0, 530.0, 546.0, 597.0, 599.0, 600.0, 604.0, 628.0, 632.0, 656.0, 658.0, 674.0, 713.0, 726.0, 746.0, 755.0, 756.0, 833.0, 847.0, 848.0, 856.0, 896.0, 911.0, 971.0, 1005.0, 1006.0, 1009.0, 1010.0, 1012.0], + [12.0, 50.0, 121.0, 128.0, 135.0, 161.0, 191.0, 192.0, 207.0, 208.0, 231.0, 266.0, 268.0, 270.0, 298.0, 394.0, 413.0, 483.0, 487.0, 518.0, 523.0, 567.0, 601.0, 606.0, 610.0, 659.0, 660.0, 680.0, 755.0, 791.0, 797.0, 802.0, 816.0, 827.0, 945.0, 974.0, 987.0, 1023.0] + ] + + spikes = [] + l=[] + for i in range(len(pattern)): + l = [] + for j in pattern[i]: + l.append(j) + spikes.append(l) + + for r in range(1, num_repeats): + for p in range(len(pattern)): + new_iter = [i + r * cycle_time for i in pattern[p]] + spikes[p].extend(new_iter) + + return spikes + + +############################################################################### +# Build Populations +############################################################################### + +# input population + + +pop_in = p.Population(100, + p.SpikeSourceArray, + {'spike_times': build_input_spike_train( + num_repeats*batches, cycle_time)}, + label='pop_in') + +pop_rec = p.Population(100, # number of neurons + p.extra_models.IFCurrExpERBP(**erbp_neuron_params), + label="pop_rec") + + +############################################################################### +# Build Projections +############################################################################### + +hidden_pop_timing_dependence=p.TimingDependenceERBP( + tau_plus=tau_err, A_plus=1, A_minus=1) +hidden_pop_weight_dependence=p.WeightDependenceERBP( + w_min=0.0, w_max=1, reg_rate=0.001) + + + +####################################### +# input to recurrent excitatory +####################################### + +# Define learning rule object +learning_rule = p.STDPMechanism( + timing_dependence=hidden_pop_timing_dependence, + weight_dependence=hidden_pop_weight_dependence, + weight=w_in_rec_exc_dist, + delay=timestep) + +# Create excitatory projection from input to hidden neuron using learning rule +inp_rec_exc = p.Projection( + pop_in, + pop_rec, + p.AllToAllConnector(), +# p.StaticSynapse(weight=w_in_rec_exc_dist, delay=timestep), + synapse_type=learning_rule, + receptor_type="excitatory") + +# input to recurrent inhibitory +# Define learning rule object +learning_rule = p.STDPMechanism( + timing_dependence=hidden_pop_timing_dependence, + weight_dependence=hidden_pop_weight_dependence, + weight=w_in_rec_inh_dist, + delay=timestep) + +# Create inhibitory projection from input to hidden neuron using learning rule +inp_rec_inh = p.Projection( + pop_in, + pop_rec, + p.AllToAllConnector(), +# p.StaticSynapse(weight=w_in_rec_inh_dist, delay=timestep), + synapse_type=learning_rule, + receptor_type="inhibitory") + + +####################################### +# recurrent to recurrent +####################################### +# Define learning rule object +learning_rule = p.STDPMechanism( + timing_dependence=hidden_pop_timing_dependence, + weight_dependence=hidden_pop_weight_dependence, + weight=w_rec_rec_dist, + delay=timestep) + +# Create excitatory recurrent projection +rec_rec_exc = p.Projection( + pop_rec, + pop_rec, + p.FixedProbabilityConnector(0.4), + synapse_type=learning_rule, + receptor_type="excitatory") + +# input to recurrent inhibitory +# Define learning rule object +learning_rule = p.STDPMechanism( + timing_dependence=hidden_pop_timing_dependence, + weight_dependence=hidden_pop_weight_dependence, + weight=w_rec_rec_dist, + delay=timestep) + +# Create inhibitory recurrent projection from input to hidden neuron using +# learning rule +rec_rec_inh = p.Projection( + pop_rec, + pop_rec, + p.FixedProbabilityConnector(0.4), + synapse_type=learning_rule, + receptor_type="inhibitory") + + + +############################################################################### +# Run Simulation +############################################################################### + +pop_in.record('spikes') +pop_rec.record(["spikes", 'gsyn_inh']) + +plot_start = 0 +window = num_repeats * cycle_time +plot_end = plot_start + window + +for i in range(batches): + + print("run: {}".format(i)) + p.run(runtime/batches) + + in_spikes = pop_in.get_data('spikes') + pop_rec_data = pop_rec.get_data(['spikes', 'gsyn_inh']) + + # Plot + F = Figure( + # plot data for postsynaptic neuron + Panel(in_spikes.segments[0].spiketrains, + yticks=True, markersize=2, xlim=(plot_start, plot_end)), + Panel(pop_rec_data.segments[0].spiketrains, + yticks=True, markersize=2, xlim=(plot_start, plot_end) + ), + Panel(pop_rec_data.segments[0].filter(name='gsyn_inh')[0], + ylabel="gsyn inhibitory (mV)", + data_labels=[pop_rec.label], yticks=True, xlim=(0, runtime) + ) + ) + + plt.pause(0.5) +# plt.draw() + + plot_start = plot_end + plot_end += window + +plt.show() +p.end() + + +print("job done") \ No newline at end of file diff --git a/eprop_testing/test_single_plastic_update.py b/eprop_testing/test_single_plastic_update.py index c9201014..68879d3a 100644 --- a/eprop_testing/test_single_plastic_update.py +++ b/eprop_testing/test_single_plastic_update.py @@ -29,7 +29,8 @@ eprop_learning = pynn.STDPMechanism( timing_dependence=pynn.extra_models.TimingDependenceEprop(), weight_dependence=pynn.extra_models.WeightDependenceEpropReg( - w_min=-2.0, w_max=2.0), weight=start_w, delay=[0, 0]) + w_min=-2.0, w_max=2.0, reg_rate=1.5), + weight=start_w, delay=[0, 0]) proj = pynn.Projection(spike_source, neuron, pynn.OneToOneConnector(), From c292ef8d9551248a6c53574f301c8b13c9704751 Mon Sep 17 00:00:00 2001 From: such-a-git Date: Wed, 4 Mar 2020 18:47:20 +0000 Subject: [PATCH 26/68] added some more tests --- eprop_testing/__init__.py | 0 eprop_testing/frozen_poisson.py | 123 +++++++++++++ .../learn_sinusoid_from_frozen_poisson.py | 171 ++++++++++++++++++ eprop_testing/one_neuron.py | 2 +- eprop_testing/store_recall.py | 2 +- eprop_testing/test_sinusoid_learning.py | 103 +++++++---- 6 files changed, 366 insertions(+), 35 deletions(-) create mode 100644 eprop_testing/__init__.py create mode 100644 eprop_testing/frozen_poisson.py create mode 100644 eprop_testing/learn_sinusoid_from_frozen_poisson.py diff --git a/eprop_testing/__init__.py b/eprop_testing/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/eprop_testing/frozen_poisson.py b/eprop_testing/frozen_poisson.py new file mode 100644 index 00000000..bff773c2 --- /dev/null +++ b/eprop_testing/frozen_poisson.py @@ -0,0 +1,123 @@ +import numpy as np + +def build_input_spike_train(num_repeats, cycle_time, pop_size=None): + pattern = [ + [7.0, 14.0, 26.0, 27.0, 42.0, 83.0, 93.0, 99.0, 109.0, 110.0, 144.0, 151.0, 153.0, 164.0, 175.0, 233.0, 245.0, 299.0, 303.0, 354.0, 355.0, 356.0, 432.0, 439.0, 447.0, 491.0, 553.0, 560.0, 583.0, 590.0, 645.0, 659.0, 667.0, 692.0, 693.0, 695.0, 714.0, 715.0, 728.0, 739.0, 756.0, 796.0, 822.0, 825.0, 829.0, 834.0, 862.0, 875.0, 880.0, 896.0, 909.0, 912.0, 940.0, 964.0, 1006.0], + [45.0, 63.0, 66.0, 88.0, 125.0, 142.0, 161.0, 167.0, 183.0, 188.0, 194.0, 207.0, 208.0, 235.0, 236.0, 252.0, 296.0, 346.0, 360.0, 384.0, 393.0, 396.0, 412.0, 474.0, 522.0, 543.0, 547.0, 616.0, 626.0, 657.0, 672.0, 681.0, 697.0, 706.0, 735.0, 770.0, 771.0, 774.0, 809.0, 811.0, 840.0, 847.0, 875.0, 965.0, 984.0, 989.0], + [26.0, 71.0, 79.0, 89.0, 94.0, 122.0, 123.0, 131.0, 138.0, 150.0, 156.0, 172.0, 195.0, 197.0, 220.0, 221.0, 246.0, 250.0, 251.0, 271.0, 272.0, 282.0, 310.0, 320.0, 351.0, 352.0, 355.0, 423.0, 493.0, 510.0, 523.0, 556.0, 577.0, 622.0, 657.0, 708.0, 748.0, 760.0, 766.0, 792.0, 835.0, 854.0, 890.0, 896.0, 898.0, 919.0, 934.0, 947.0, 948.0, 994.0, 1005.0, 1010.0, 1019.0, 1023.0], + [10.0, 21.0, 24.0, 27.0, 35.0, 47.0, 63.0, 64.0, 75.0, 90.0, 127.0, 129.0, 139.0, 145.0, 154.0, 221.0, 224.0, 256.0, 261.0, 262.0, 303.0, 305.0, 322.0, 327.0, 352.0, 369.0, 377.0, 397.0, 408.0, 413.0, 419.0, 437.0, 487.0, 489.0, 499.0, 522.0, 539.0, 607.0, 625.0, 626.0, 633.0, 649.0, 699.0, 701.0, 702.0, 724.0, 734.0, 758.0, 819.0, 835.0, 836.0, 897.0, 930.0, 954.0, 990.0, 1007.0, 1018.0], + [25.0, 31.0, 38.0, 66.0, 68.0, 81.0, 93.0, 111.0, 154.0, 163.0, 165.0, 184.0, 220.0, 272.0, 307.0, 316.0, 319.0, 335.0, 343.0, 392.0, 409.0, 459.0, 463.0, 483.0, 498.0, 507.0, 539.0, 543.0, 558.0, 559.0, 574.0, 579.0, 604.0, 605.0, 619.0, 622.0, 624.0, 626.0, 635.0, 640.0, 689.0, 704.0, 735.0, 740.0, 751.0, 758.0, 767.0, 782.0, 825.0, 836.0, 858.0, 868.0, 874.0, 886.0, 932.0, 952.0, 968.0, 970.0, 980.0, 989.0, 997.0], + [9.0, 18.0, 39.0, 43.0, 61.0, 76.0, 85.0, 121.0, 129.0, 164.0, 185.0, 227.0, 259.0, 283.0, 289.0, 335.0, 351.0, 384.0, 387.0, 392.0, 401.0, 402.0, 408.0, 413.0, 428.0, 435.0, 436.0, 451.0, 458.0, 461.0, 464.0, 476.0, 479.0, 489.0, 500.0, 518.0, 539.0, 551.0, 584.0, 589.0, 590.0, 602.0, 604.0, 605.0, 626.0, 632.0, 640.0, 641.0, 665.0, 707.0, 713.0, 730.0, 749.0, 784.0, 789.0, 837.0, 841.0, 863.0, 867.0, 870.0, 887.0, 935.0, 953.0, 956.0, 968.0, 970.0, 974.0, 984.0, 991.0, 1015.0, 1020.0, 1022.0], + [34.0, 35.0, 38.0, 77.0, 85.0, 90.0, 102.0, 122.0, 162.0, 178.0, 186.0, 187.0, 195.0, 196.0, 200.0, 205.0, 226.0, 278.0, 279.0, 284.0, 294.0, 316.0, 377.0, 402.0, 443.0, 450.0, 478.0, 497.0, 501.0, 509.0, 542.0, 560.0, 561.0, 562.0, 573.0, 590.0, 591.0, 597.0, 604.0, 608.0, 620.0, 631.0, 633.0, 654.0, 667.0, 719.0, 726.0, 739.0, 740.0, 758.0, 766.0, 767.0, 786.0, 792.0, 803.0, 806.0, 808.0, 811.0, 830.0, 842.0, 855.0, 856.0, 863.0, 878.0, 880.0, 889.0, 890.0, 906.0, 928.0, 958.0, 999.0, 1001.0, 1007.0, 1010.0], + [7.0, 31.0, 36.0, 59.0, 109.0, 110.0, 119.0, 121.0, 124.0, 126.0, 137.0, 185.0, 201.0, 218.0, 240.0, 261.0, 281.0, 306.0, 311.0, 342.0, 344.0, 349.0, 357.0, 365.0, 370.0, 380.0, 466.0, 468.0, 470.0, 489.0, 497.0, 572.0, 578.0, 584.0, 587.0, 612.0, 629.0, 657.0, 664.0, 698.0, 707.0, 711.0, 731.0, 735.0, 743.0, 773.0, 838.0, 839.0, 917.0, 923.0, 924.0, 992.0], + [17.0, 25.0, 28.0, 53.0, 70.0, 118.0, 125.0, 128.0, 142.0, 189.0, 190.0, 205.0, 224.0, 237.0, 292.0, 356.0, 357.0, 408.0, 416.0, 448.0, 459.0, 542.0, 615.0, 625.0, 629.0, 653.0, 669.0, 677.0, 716.0, 728.0, 751.0, 767.0, 772.0, 775.0, 857.0, 995.0, 1003.0, 1012.0], + [32.0, 34.0, 43.0, 70.0, 95.0, 130.0, 134.0, 139.0, 148.0, 150.0, 160.0, 163.0, 196.0, 257.0, 275.0, 302.0, 306.0, 322.0, 332.0, 354.0, 357.0, 364.0, 405.0, 432.0, 471.0, 472.0, 491.0, 516.0, 558.0, 563.0, 565.0, 577.0, 583.0, 584.0, 617.0, 626.0, 684.0, 725.0, 750.0, 768.0, 793.0, 794.0, 815.0, 821.0, 832.0, 869.0, 886.0, 894.0, 922.0, 938.0, 939.0, 968.0], + [30.0, 56.0, 59.0, 80.0, 109.0, 151.0, 159.0, 161.0, 164.0, 166.0, 191.0, 223.0, 309.0, 345.0, 378.0, 407.0, 434.0, 459.0, 470.0, 490.0, 585.0, 602.0, 634.0, 651.0, 713.0, 714.0, 779.0, 780.0, 807.0, 815.0, 829.0, 836.0, 857.0, 864.0, 898.0, 921.0, 926.0, 950.0, 969.0, 983.0, 989.0, 992.0], + [30.0, 31.0, 33.0, 63.0, 81.0, 100.0, 117.0, 128.0, 155.0, 157.0, 158.0, 192.0, 232.0, 283.0, 286.0, 295.0, 312.0, 319.0, 354.0, 362.0, 363.0, 369.0, 409.0, 452.0, 520.0, 578.0, 623.0, 624.0, 633.0, 656.0, 660.0, 681.0, 690.0, 693.0, 700.0, 715.0, 728.0, 744.0, 762.0, 781.0, 804.0, 815.0, 837.0, 867.0, 877.0, 944.0, 950.0, 957.0, 963.0, 970.0, 974.0], + [41.0, 48.0, 52.0, 91.0, 92.0, 152.0, 160.0, 163.0, 184.0, 185.0, 246.0, 251.0, 265.0, 268.0, 281.0, 294.0, 305.0, 312.0, 338.0, 346.0, 383.0, 407.0, 417.0, 437.0, 440.0, 448.0, 502.0, 510.0, 532.0, 541.0, 546.0, 573.0, 582.0, 607.0, 623.0, 742.0, 771.0, 785.0, 818.0, 828.0, 846.0, 896.0, 934.0, 965.0, 1005.0], + [34.0, 79.0, 111.0, 121.0, 133.0, 199.0, 207.0, 240.0, 243.0, 263.0, 295.0, 297.0, 330.0, 371.0, 378.0, 382.0, 419.0, 443.0, 469.0, 487.0, 492.0, 499.0, 509.0, 518.0, 525.0, 584.0, 598.0, 617.0, 624.0, 630.0, 634.0, 647.0, 651.0, 678.0, 691.0, 696.0, 703.0, 736.0, 772.0, 830.0, 840.0, 844.0, 858.0, 875.0, 1014.0], + [23.0, 51.0, 60.0, 131.0, 135.0, 147.0, 168.0, 171.0, 181.0, 184.0, 207.0, 210.0, 231.0, 270.0, 271.0, 285.0, 302.0, 309.0, 347.0, 356.0, 377.0, 385.0, 390.0, 396.0, 403.0, 436.0, 455.0, 468.0, 493.0, 515.0, 522.0, 533.0, 622.0, 653.0, 691.0, 692.0, 695.0, 710.0, 729.0, 736.0, 797.0, 800.0, 803.0, 815.0, 844.0, 848.0, 850.0, 859.0, 865.0, 878.0, 902.0, 924.0, 956.0, 967.0, 999.0, 1001.0, 1008.0, 1014.0], + [3.0, 38.0, 59.0, 74.0, 79.0, 81.0, 104.0, 116.0, 120.0, 129.0, 153.0, 170.0, 202.0, 217.0, 242.0, 244.0, 253.0, 254.0, 286.0, 287.0, 289.0, 350.0, 351.0, 390.0, 394.0, 403.0, 410.0, 433.0, 461.0, 464.0, 473.0, 476.0, 478.0, 491.0, 542.0, 543.0, 544.0, 586.0, 591.0, 595.0, 625.0, 627.0, 630.0, 659.0, 668.0, 676.0, 696.0, 702.0, 712.0, 733.0, 776.0, 777.0, 781.0, 782.0, 874.0, 877.0, 919.0, 990.0, 1006.0, 1007.0, 1010.0, 1016.0], + [4.0, 18.0, 40.0, 77.0, 119.0, 156.0, 160.0, 198.0, 243.0, 254.0, 269.0, 288.0, 311.0, 316.0, 347.0, 353.0, 354.0, 372.0, 373.0, 377.0, 413.0, 419.0, 466.0, 467.0, 471.0, 560.0, 566.0, 567.0, 579.0, 616.0, 644.0, 647.0, 667.0, 712.0, 713.0, 752.0, 753.0, 776.0, 783.0, 793.0, 812.0, 865.0, 881.0, 882.0, 884.0, 911.0, 912.0, 925.0, 941.0, 963.0, 978.0, 997.0, 1018.0], + [1.0, 32.0, 34.0, 60.0, 72.0, 95.0, 109.0, 116.0, 124.0, 165.0, 197.0, 205.0, 233.0, 243.0, 247.0, 258.0, 267.0, 274.0, 283.0, 302.0, 337.0, 350.0, 366.0, 368.0, 457.0, 462.0, 490.0, 492.0, 506.0, 571.0, 590.0, 603.0, 613.0, 712.0, 730.0, 736.0, 768.0, 788.0, 799.0, 803.0, 807.0, 808.0, 848.0, 854.0, 876.0, 878.0, 923.0, 958.0, 965.0], + [1.0, 78.0, 114.0, 119.0, 131.0, 155.0, 177.0, 198.0, 200.0, 202.0, 205.0, 241.0, 258.0, 272.0, 280.0, 288.0, 290.0, 291.0, 300.0, 323.0, 326.0, 328.0, 373.0, 375.0, 376.0, 380.0, 389.0, 390.0, 393.0, 403.0, 445.0, 456.0, 465.0, 476.0, 480.0, 481.0, 485.0, 507.0, 543.0, 563.0, 569.0, 597.0, 676.0, 707.0, 711.0, 734.0, 742.0, 777.0, 778.0, 783.0, 787.0, 802.0, 825.0, 830.0, 844.0, 858.0, 880.0, 932.0, 973.0, 1008.0, 1012.0, 1016.0], + [20.0, 23.0, 29.0, 47.0, 48.0, 51.0, 59.0, 143.0, 175.0, 176.0, 193.0, 197.0, 198.0, 202.0, 206.0, 224.0, 231.0, 232.0, 244.0, 283.0, 328.0, 330.0, 341.0, 345.0, 359.0, 361.0, 385.0, 422.0, 438.0, 449.0, 454.0, 465.0, 487.0, 490.0, 510.0, 528.0, 556.0, 580.0, 601.0, 602.0, 645.0, 651.0, 680.0, 693.0, 703.0, 704.0, 706.0, 716.0, 733.0, 782.0, 786.0, 821.0, 822.0, 829.0, 843.0, 855.0, 856.0, 875.0, 941.0, 951.0, 959.0, 990.0, 995.0], + [83.0, 110.0, 117.0, 128.0, 132.0, 154.0, 195.0, 214.0, 217.0, 234.0, 242.0, 252.0, 293.0, 338.0, 343.0, 352.0, 369.0, 412.0, 498.0, 499.0, 554.0, 566.0, 590.0, 603.0, 605.0, 606.0, 614.0, 669.0, 670.0, 671.0, 672.0, 677.0, 761.0, 767.0, 794.0, 832.0, 839.0, 869.0, 893.0, 913.0, 914.0, 915.0, 923.0, 936.0, 950.0, 1014.0], + [34.0, 100.0, 130.0, 138.0, 140.0, 172.0, 174.0, 282.0, 295.0, 303.0, 331.0, 349.0, 365.0, 376.0, 399.0, 408.0, 419.0, 515.0, 600.0, 615.0, 622.0, 626.0, 650.0, 672.0, 685.0, 700.0, 702.0, 742.0, 771.0, 849.0, 861.0, 882.0, 1019.0], + [10.0, 21.0, 67.0, 86.0, 151.0, 160.0, 187.0, 202.0, 225.0, 226.0, 237.0, 255.0, 260.0, 284.0, 300.0, 363.0, 393.0, 410.0, 435.0, 460.0, 463.0, 523.0, 528.0, 577.0, 586.0, 605.0, 611.0, 617.0, 625.0, 627.0, 639.0, 642.0, 651.0, 653.0, 698.0, 701.0, 724.0, 728.0, 729.0, 775.0, 785.0, 793.0, 844.0, 847.0, 865.0, 876.0, 890.0, 907.0, 931.0, 936.0, 961.0, 997.0, 1002.0, 1003.0, 1009.0, 1011.0], + [5.0, 13.0, 25.0, 56.0, 64.0, 65.0, 66.0, 85.0, 111.0, 120.0, 134.0, 152.0, 153.0, 168.0, 170.0, 172.0, 185.0, 199.0, 207.0, 222.0, 233.0, 234.0, 242.0, 255.0, 262.0, 309.0, 333.0, 352.0, 394.0, 395.0, 403.0, 417.0, 429.0, 452.0, 462.0, 463.0, 476.0, 482.0, 501.0, 529.0, 533.0, 534.0, 544.0, 589.0, 595.0, 599.0, 636.0, 652.0, 690.0, 692.0, 743.0, 773.0, 777.0, 840.0, 844.0, 845.0, 872.0, 878.0, 900.0, 982.0, 984.0, 997.0], + [18.0, 100.0, 113.0, 157.0, 160.0, 161.0, 166.0, 168.0, 177.0, 231.0, 234.0, 235.0, 260.0, 302.0, 363.0, 373.0, 377.0, 414.0, 422.0, 445.0, 446.0, 491.0, 508.0, 520.0, 523.0, 547.0, 553.0, 561.0, 599.0, 603.0, 665.0, 714.0, 724.0, 739.0, 741.0, 758.0, 785.0, 860.0, 874.0, 911.0, 963.0, 974.0, 979.0, 980.0, 983.0, 990.0], + [18.0, 37.0, 46.0, 88.0, 121.0, 134.0, 166.0, 198.0, 202.0, 206.0, 210.0, 220.0, 229.0, 249.0, 269.0, 301.0, 364.0, 467.0, 474.0, 482.0, 509.0, 546.0, 579.0, 603.0, 632.0, 641.0, 656.0, 750.0, 763.0, 767.0, 791.0, 828.0, 838.0, 861.0, 890.0, 895.0, 929.0, 955.0, 991.0], + [14.0, 27.0, 48.0, 65.0, 71.0, 72.0, 75.0, 78.0, 99.0, 152.0, 163.0, 183.0, 317.0, 326.0, 336.0, 379.0, 421.0, 460.0, 532.0, 533.0, 547.0, 575.0, 661.0, 680.0, 709.0, 722.0, 744.0, 805.0, 814.0, 816.0, 820.0, 826.0, 827.0, 828.0, 849.0, 853.0, 862.0, 939.0, 943.0, 944.0, 960.0], + [10.0, 27.0, 30.0, 31.0, 32.0, 89.0, 105.0, 110.0, 112.0, 130.0, 155.0, 161.0, 174.0, 221.0, 286.0, 302.0, 326.0, 360.0, 370.0, 378.0, 385.0, 387.0, 394.0, 411.0, 412.0, 423.0, 435.0, 440.0, 460.0, 472.0, 537.0, 538.0, 539.0, 541.0, 548.0, 556.0, 602.0, 619.0, 691.0, 698.0, 737.0, 744.0, 801.0, 814.0, 825.0, 836.0, 838.0, 843.0, 894.0, 909.0, 916.0, 925.0, 929.0, 946.0, 952.0, 953.0, 959.0, 984.0], + [1.0, 9.0, 31.0, 42.0, 65.0, 91.0, 109.0, 171.0, 196.0, 198.0, 203.0, 277.0, 295.0, 313.0, 340.0, 381.0, 397.0, 408.0, 425.0, 469.0, 488.0, 490.0, 505.0, 506.0, 525.0, 559.0, 597.0, 660.0, 705.0, 715.0, 718.0, 764.0, 799.0, 820.0, 893.0, 904.0, 914.0, 978.0, 981.0], + [50.0, 64.0, 90.0, 152.0, 160.0, 164.0, 180.0, 205.0, 231.0, 272.0, 284.0, 339.0, 350.0, 351.0, 374.0, 458.0, 483.0, 488.0, 592.0, 605.0, 612.0, 627.0, 639.0, 651.0, 667.0, 687.0, 711.0, 776.0, 781.0, 817.0, 820.0, 839.0, 876.0, 886.0, 888.0, 898.0, 899.0, 912.0, 921.0, 939.0, 944.0, 981.0], + [24.0, 27.0, 37.0, 42.0, 107.0, 112.0, 125.0, 136.0, 158.0, 176.0, 178.0, 185.0, 275.0, 277.0, 278.0, 350.0, 364.0, 375.0, 393.0, 395.0, 421.0, 430.0, 462.0, 504.0, 505.0, 520.0, 541.0, 555.0, 573.0, 579.0, 589.0, 602.0, 661.0, 672.0, 709.0, 729.0, 744.0, 760.0, 770.0, 778.0, 800.0, 831.0, 832.0, 885.0, 899.0, 951.0, 964.0, 971.0, 974.0, 992.0], + [34.0, 60.0, 84.0, 86.0, 94.0, 109.0, 110.0, 142.0, 154.0, 180.0, 185.0, 198.0, 249.0, 250.0, 268.0, 271.0, 286.0, 299.0, 319.0, 357.0, 395.0, 418.0, 423.0, 424.0, 432.0, 433.0, 447.0, 538.0, 542.0, 554.0, 556.0, 568.0, 584.0, 615.0, 642.0, 684.0, 692.0, 715.0, 721.0, 728.0, 737.0, 747.0, 750.0, 753.0, 758.0, 768.0, 774.0, 808.0, 831.0, 906.0, 937.0, 960.0, 967.0, 986.0, 1014.0], + [59.0, 84.0, 86.0, 91.0, 93.0, 101.0, 125.0, 127.0, 130.0, 161.0, 164.0, 165.0, 166.0, 171.0, 174.0, 197.0, 199.0, 254.0, 258.0, 303.0, 306.0, 309.0, 322.0, 342.0, 353.0, 364.0, 366.0, 367.0, 387.0, 448.0, 471.0, 490.0, 502.0, 513.0, 531.0, 575.0, 597.0, 615.0, 635.0, 650.0, 651.0, 684.0, 694.0, 702.0, 742.0, 782.0, 797.0, 818.0, 839.0, 859.0, 884.0, 903.0, 909.0, 924.0, 927.0, 944.0, 945.0, 973.0, 978.0, 984.0, 998.0], + [31.0, 53.0, 77.0, 85.0, 97.0, 153.0, 158.0, 159.0, 182.0, 204.0, 261.0, 293.0, 318.0, 398.0, 404.0, 424.0, 446.0, 480.0, 486.0, 497.0, 500.0, 520.0, 553.0, 559.0, 562.0, 576.0, 593.0, 640.0, 652.0, 670.0, 679.0, 702.0, 719.0, 721.0, 735.0, 793.0, 833.0, 862.0, 941.0, 952.0], + [42.0, 57.0, 66.0, 80.0, 83.0, 113.0, 114.0, 115.0, 124.0, 144.0, 147.0, 163.0, 169.0, 179.0, 189.0, 203.0, 237.0, 247.0, 257.0, 317.0, 346.0, 349.0, 354.0, 374.0, 389.0, 415.0, 438.0, 446.0, 503.0, 514.0, 515.0, 554.0, 575.0, 608.0, 609.0, 657.0, 666.0, 675.0, 684.0, 703.0, 780.0, 793.0, 803.0, 834.0, 849.0, 924.0, 938.0, 943.0, 951.0, 1005.0, 1019.0], + [8.0, 10.0, 11.0, 17.0, 20.0, 21.0, 47.0, 50.0, 97.0, 110.0, 148.0, 161.0, 169.0, 174.0, 202.0, 205.0, 226.0, 320.0, 345.0, 346.0, 358.0, 364.0, 365.0, 386.0, 391.0, 424.0, 432.0, 435.0, 540.0, 542.0, 587.0, 612.0, 648.0, 707.0, 745.0, 758.0, 765.0, 774.0, 808.0, 814.0, 818.0, 906.0, 909.0, 911.0, 914.0, 919.0, 943.0, 944.0, 956.0, 972.0, 982.0, 1019.0], + [8.0, 11.0, 98.0, 99.0, 113.0, 121.0, 124.0, 164.0, 165.0, 227.0, 228.0, 238.0, 245.0, 279.0, 282.0, 289.0, 310.0, 313.0, 345.0, 369.0, 408.0, 416.0, 478.0, 505.0, 515.0, 542.0, 550.0, 551.0, 613.0, 648.0, 669.0, 678.0, 687.0, 702.0, 715.0, 726.0, 728.0, 738.0, 755.0, 759.0, 787.0, 795.0, 797.0, 830.0, 835.0, 905.0, 950.0, 983.0], + [2.0, 21.0, 27.0, 87.0, 103.0, 136.0, 149.0, 155.0, 156.0, 168.0, 239.0, 249.0, 262.0, 293.0, 304.0, 328.0, 332.0, 341.0, 409.0, 417.0, 420.0, 421.0, 427.0, 435.0, 454.0, 456.0, 462.0, 473.0, 573.0, 590.0, 608.0, 627.0, 629.0, 674.0, 690.0, 697.0, 745.0, 774.0, 791.0, 803.0, 808.0, 815.0, 870.0, 891.0, 896.0, 919.0, 931.0, 946.0, 950.0, 958.0, 977.0, 1001.0, 1003.0, 1015.0], + [1.0, 23.0, 34.0, 93.0, 96.0, 98.0, 107.0, 109.0, 183.0, 188.0, 200.0, 201.0, 218.0, 231.0, 233.0, 247.0, 297.0, 334.0, 338.0, 355.0, 361.0, 369.0, 382.0, 402.0, 415.0, 468.0, 479.0, 505.0, 546.0, 554.0, 561.0, 563.0, 594.0, 603.0, 642.0, 709.0, 710.0, 723.0, 778.0, 819.0, 825.0, 845.0, 858.0, 881.0, 887.0, 930.0, 965.0, 1009.0, 1023.0], + [12.0, 32.0, 59.0, 98.0, 110.0, 137.0, 167.0, 174.0, 175.0, 224.0, 247.0, 318.0, 326.0, 400.0, 402.0, 403.0, 413.0, 440.0, 455.0, 471.0, 499.0, 500.0, 513.0, 544.0, 552.0, 587.0, 591.0, 601.0, 616.0, 623.0, 625.0, 642.0, 660.0, 662.0, 685.0, 769.0, 778.0, 794.0, 827.0, 870.0, 878.0, 885.0, 974.0, 980.0, 1011.0, 1013.0, 1015.0], + [5.0, 52.0, 116.0, 120.0, 134.0, 159.0, 171.0, 174.0, 188.0, 190.0, 194.0, 217.0, 239.0, 254.0, 320.0, 321.0, 346.0, 361.0, 369.0, 371.0, 413.0, 421.0, 435.0, 439.0, 440.0, 441.0, 462.0, 468.0, 471.0, 473.0, 500.0, 512.0, 553.0, 554.0, 590.0, 591.0, 603.0, 621.0, 648.0, 683.0, 708.0, 742.0, 759.0, 812.0, 820.0, 844.0, 853.0, 875.0, 895.0, 905.0, 986.0, 998.0, 1010.0], + [7.0, 17.0, 26.0, 34.0, 48.0, 63.0, 70.0, 87.0, 140.0, 155.0, 156.0, 180.0, 220.0, 224.0, 272.0, 284.0, 291.0, 310.0, 335.0, 340.0, 342.0, 345.0, 353.0, 364.0, 419.0, 448.0, 460.0, 461.0, 518.0, 527.0, 531.0, 534.0, 544.0, 563.0, 584.0, 613.0, 614.0, 645.0, 655.0, 661.0, 666.0, 673.0, 689.0, 827.0, 859.0, 876.0, 888.0, 893.0, 956.0, 967.0, 968.0, 987.0, 1001.0], + [35.0, 46.0, 59.0, 61.0, 64.0, 73.0, 95.0, 110.0, 118.0, 171.0, 196.0, 214.0, 225.0, 294.0, 296.0, 298.0, 360.0, 393.0, 407.0, 411.0, 412.0, 418.0, 445.0, 484.0, 507.0, 554.0, 608.0, 619.0, 628.0, 638.0, 690.0, 744.0, 820.0, 886.0, 897.0, 925.0, 930.0, 959.0, 984.0, 991.0, 1006.0], + [36.0, 37.0, 44.0, 57.0, 59.0, 69.0, 85.0, 103.0, 142.0, 143.0, 144.0, 145.0, 401.0, 474.0, 479.0, 539.0, 543.0, 546.0, 562.0, 583.0, 632.0, 655.0, 694.0, 723.0, 759.0, 771.0, 772.0, 775.0, 796.0, 801.0, 834.0, 838.0, 902.0, 903.0, 980.0, 1022.0], + [8.0, 13.0, 38.0, 56.0, 81.0, 86.0, 104.0, 128.0, 156.0, 230.0, 236.0, 252.0, 307.0, 336.0, 348.0, 352.0, 357.0, 373.0, 374.0, 389.0, 404.0, 414.0, 428.0, 437.0, 449.0, 498.0, 503.0, 590.0, 592.0, 594.0, 652.0, 675.0, 679.0, 699.0, 701.0, 712.0, 728.0, 733.0, 789.0, 814.0, 826.0, 858.0, 861.0, 877.0, 886.0, 896.0, 912.0, 954.0, 984.0, 1002.0, 1021.0], + [43.0, 45.0, 46.0, 128.0, 147.0, 153.0, 154.0, 165.0, 231.0, 235.0, 238.0, 256.0, 318.0, 323.0, 350.0, 381.0, 384.0, 502.0, 517.0, 570.0, 575.0, 591.0, 609.0, 618.0, 622.0, 649.0, 655.0, 667.0, 672.0, 673.0, 722.0, 782.0, 794.0, 825.0, 849.0, 867.0, 868.0, 874.0, 892.0, 933.0, 935.0, 976.0, 982.0, 987.0, 1008.0, 1016.0], + [32.0, 42.0, 90.0, 109.0, 127.0, 141.0, 156.0, 163.0, 164.0, 179.0, 199.0, 215.0, 227.0, 230.0, 264.0, 296.0, 300.0, 328.0, 338.0, 363.0, 366.0, 406.0, 407.0, 408.0, 409.0, 426.0, 531.0, 546.0, 562.0, 588.0, 625.0, 654.0, 676.0, 679.0, 695.0, 709.0, 710.0, 771.0, 791.0, 801.0, 838.0, 845.0, 867.0, 869.0, 879.0, 880.0, 881.0, 932.0, 961.0, 984.0, 1017.0], + [3.0, 21.0, 35.0, 38.0, 40.0, 70.0, 75.0, 86.0, 138.0, 141.0, 167.0, 176.0, 188.0, 209.0, 220.0, 240.0, 243.0, 306.0, 329.0, 356.0, 357.0, 392.0, 406.0, 427.0, 428.0, 446.0, 449.0, 451.0, 483.0, 613.0, 629.0, 647.0, 648.0, 667.0, 712.0, 730.0, 733.0, 784.0, 906.0, 909.0, 948.0, 949.0, 969.0, 973.0, 984.0, 1018.0, 1022.0], + [21.0, 28.0, 47.0, 56.0, 107.0, 114.0, 126.0, 164.0, 178.0, 179.0, 190.0, 204.0, 227.0, 231.0, 242.0, 261.0, 303.0, 350.0, 362.0, 386.0, 425.0, 440.0, 471.0, 482.0, 509.0, 599.0, 603.0, 634.0, 646.0, 693.0, 709.0, 755.0, 799.0, 811.0, 848.0, 922.0, 923.0, 924.0, 928.0, 948.0, 975.0, 1011.0, 1018.0], + [88.0, 132.0, 161.0, 194.0, 206.0, 211.0, 247.0, 270.0, 296.0, 312.0, 331.0, 333.0, 334.0, 373.0, 429.0, 430.0, 436.0, 471.0, 494.0, 523.0, 530.0, 531.0, 536.0, 574.0, 620.0, 655.0, 676.0, 677.0, 709.0, 727.0, 738.0, 776.0, 783.0, 799.0, 805.0, 840.0, 875.0, 896.0, 910.0, 932.0, 939.0, 954.0, 1000.0], + [9.0, 26.0, 33.0, 40.0, 48.0, 65.0, 72.0, 74.0, 104.0, 105.0, 106.0, 107.0, 124.0, 134.0, 189.0, 195.0, 218.0, 228.0, 232.0, 271.0, 283.0, 341.0, 352.0, 354.0, 374.0, 393.0, 414.0, 417.0, 424.0, 435.0, 443.0, 456.0, 458.0, 524.0, 525.0, 574.0, 592.0, 605.0, 617.0, 620.0, 632.0, 641.0, 695.0, 791.0, 792.0, 811.0, 862.0, 943.0, 967.0, 975.0, 985.0, 1011.0], + [45.0, 76.0, 164.0, 258.0, 310.0, 340.0, 346.0, 349.0, 363.0, 383.0, 396.0, 424.0, 446.0, 468.0, 471.0, 516.0, 544.0, 550.0, 571.0, 595.0, 686.0, 750.0, 758.0, 775.0, 782.0, 799.0, 831.0, 832.0, 864.0, 876.0, 883.0, 896.0, 939.0, 941.0, 972.0, 976.0, 1008.0], + [43.0, 48.0, 63.0, 78.0, 86.0, 96.0, 166.0, 170.0, 175.0, 195.0, 224.0, 248.0, 263.0, 270.0, 271.0, 279.0, 292.0, 355.0, 395.0, 405.0, 406.0, 423.0, 442.0, 453.0, 454.0, 458.0, 471.0, 482.0, 484.0, 490.0, 504.0, 510.0, 563.0, 604.0, 606.0, 620.0, 644.0, 652.0, 656.0, 716.0, 727.0, 730.0, 744.0, 792.0, 797.0, 802.0, 807.0, 816.0, 837.0, 846.0, 850.0, 851.0, 856.0, 897.0, 898.0, 901.0, 929.0, 932.0, 951.0, 952.0, 974.0], + [15.0, 18.0, 28.0, 57.0, 61.0, 64.0, 65.0, 112.0, 134.0, 170.0, 179.0, 186.0, 212.0, 213.0, 275.0, 280.0, 318.0, 339.0, 369.0, 380.0, 382.0, 384.0, 415.0, 427.0, 444.0, 454.0, 455.0, 457.0, 490.0, 492.0, 499.0, 504.0, 509.0, 510.0, 516.0, 519.0, 537.0, 601.0, 603.0, 615.0, 622.0, 689.0, 692.0, 710.0, 711.0, 712.0, 727.0, 752.0, 764.0, 788.0, 789.0, 790.0, 814.0, 852.0, 860.0, 866.0, 889.0, 936.0, 948.0, 950.0, 964.0, 996.0, 1007.0], + [10.0, 33.0, 44.0, 132.0, 156.0, 166.0, 192.0, 198.0, 227.0, 231.0, 246.0, 258.0, 264.0, 276.0, 372.0, 389.0, 396.0, 434.0, 449.0, 451.0, 464.0, 490.0, 502.0, 524.0, 531.0, 567.0, 587.0, 615.0, 641.0, 651.0, 686.0, 700.0, 708.0, 786.0, 790.0, 803.0, 808.0, 850.0, 864.0, 871.0, 913.0, 934.0, 944.0, 993.0, 1012.0], + [4.0, 5.0, 13.0, 25.0, 127.0, 143.0, 152.0, 172.0, 173.0, 184.0, 188.0, 217.0, 307.0, 318.0, 327.0, 334.0, 337.0, 353.0, 373.0, 388.0, 393.0, 399.0, 422.0, 490.0, 518.0, 564.0, 668.0, 706.0, 726.0, 737.0, 751.0, 760.0, 794.0, 804.0, 806.0, 828.0, 858.0, 865.0, 883.0, 953.0, 962.0, 965.0, 969.0, 971.0, 988.0], + [3.0, 44.0, 67.0, 98.0, 141.0, 180.0, 188.0, 190.0, 233.0, 236.0, 255.0, 274.0, 322.0, 342.0, 347.0, 366.0, 597.0, 606.0, 650.0, 691.0, 695.0, 758.0, 759.0, 814.0, 815.0, 824.0, 839.0, 857.0, 859.0, 860.0, 902.0, 913.0, 915.0, 921.0, 925.0, 927.0, 947.0, 964.0], + [7.0, 22.0, 37.0, 38.0, 46.0, 88.0, 91.0, 100.0, 107.0, 108.0, 134.0, 164.0, 179.0, 183.0, 184.0, 199.0, 218.0, 236.0, 255.0, 260.0, 297.0, 301.0, 309.0, 317.0, 328.0, 333.0, 338.0, 348.0, 359.0, 410.0, 412.0, 479.0, 490.0, 516.0, 517.0, 578.0, 639.0, 644.0, 653.0, 700.0, 705.0, 707.0, 719.0, 733.0, 746.0, 756.0, 766.0, 776.0, 831.0, 857.0, 896.0, 902.0, 923.0, 955.0, 1001.0, 1004.0, 1009.0, 1012.0], + [17.0, 29.0, 71.0, 72.0, 82.0, 93.0, 94.0, 96.0, 99.0, 101.0, 123.0, 129.0, 155.0, 186.0, 188.0, 189.0, 275.0, 303.0, 313.0, 335.0, 352.0, 364.0, 365.0, 366.0, 393.0, 400.0, 408.0, 427.0, 431.0, 440.0, 441.0, 448.0, 476.0, 508.0, 537.0, 553.0, 568.0, 642.0, 668.0, 684.0, 685.0, 737.0, 755.0, 758.0, 796.0, 797.0, 829.0, 851.0, 865.0, 906.0, 950.0, 961.0, 982.0, 992.0, 995.0, 1006.0, 1016.0, 1021.0], + [24.0, 36.0, 42.0, 55.0, 93.0, 196.0, 213.0, 235.0, 237.0, 258.0, 272.0, 277.0, 363.0, 395.0, 431.0, 478.0, 523.0, 529.0, 534.0, 543.0, 557.0, 582.0, 588.0, 597.0, 607.0, 631.0, 649.0, 651.0, 656.0, 688.0, 690.0, 693.0, 700.0, 722.0, 734.0, 804.0, 819.0, 837.0, 855.0, 870.0, 899.0, 900.0, 954.0, 957.0, 979.0, 986.0, 1012.0, 1016.0], + [59.0, 112.0, 144.0, 158.0, 162.0, 207.0, 210.0, 241.0, 269.0, 275.0, 286.0, 298.0, 382.0, 400.0, 412.0, 428.0, 492.0, 590.0, 597.0, 598.0, 618.0, 627.0, 706.0, 741.0, 745.0, 797.0, 828.0, 834.0, 875.0, 897.0, 898.0, 899.0, 929.0, 965.0, 997.0, 1010.0, 1017.0, 1022.0], + [1.0, 23.0, 28.0, 37.0, 42.0, 54.0, 68.0, 76.0, 99.0, 128.0, 129.0, 163.0, 193.0, 206.0, 252.0, 256.0, 316.0, 358.0, 376.0, 499.0, 500.0, 510.0, 529.0, 548.0, 555.0, 558.0, 559.0, 563.0, 571.0, 579.0, 595.0, 618.0, 620.0, 626.0, 653.0, 692.0, 702.0, 712.0, 716.0, 827.0, 852.0, 863.0, 922.0, 943.0, 968.0, 979.0, 980.0, 981.0, 982.0, 984.0, 1000.0], + [23.0, 42.0, 61.0, 86.0, 88.0, 89.0, 99.0, 124.0, 128.0, 137.0, 144.0, 162.0, 170.0, 195.0, 196.0, 230.0, 234.0, 330.0, 348.0, 355.0, 371.0, 386.0, 401.0, 413.0, 417.0, 437.0, 590.0, 624.0, 640.0, 644.0, 648.0, 660.0, 674.0, 715.0, 737.0, 769.0, 781.0, 796.0, 819.0, 820.0, 822.0, 853.0, 854.0, 912.0, 956.0, 986.0, 997.0, 1022.0], + [8.0, 63.0, 64.0, 65.0, 82.0, 84.0, 135.0, 196.0, 230.0, 235.0, 237.0, 272.0, 304.0, 352.0, 383.0, 407.0, 425.0, 429.0, 438.0, 440.0, 448.0, 478.0, 485.0, 488.0, 522.0, 552.0, 561.0, 578.0, 595.0, 621.0, 640.0, 661.0, 670.0, 671.0, 674.0, 751.0, 771.0, 772.0, 785.0, 815.0, 900.0, 915.0, 918.0, 921.0, 960.0], + [6.0, 28.0, 29.0, 39.0, 54.0, 55.0, 74.0, 88.0, 172.0, 182.0, 185.0, 190.0, 193.0, 199.0, 205.0, 210.0, 215.0, 226.0, 228.0, 229.0, 254.0, 258.0, 266.0, 269.0, 293.0, 295.0, 300.0, 313.0, 321.0, 369.0, 379.0, 387.0, 412.0, 416.0, 419.0, 452.0, 464.0, 491.0, 496.0, 502.0, 535.0, 544.0, 588.0, 616.0, 645.0, 666.0, 702.0, 706.0, 723.0, 749.0, 835.0, 839.0, 847.0, 850.0, 873.0, 896.0, 899.0, 952.0, 953.0, 959.0, 965.0, 992.0, 998.0, 1000.0, 1004.0], + [10.0, 31.0, 68.0, 70.0, 78.0, 98.0, 125.0, 141.0, 149.0, 151.0, 264.0, 268.0, 305.0, 341.0, 346.0, 414.0, 433.0, 485.0, 511.0, 544.0, 549.0, 561.0, 622.0, 647.0, 652.0, 666.0, 688.0, 706.0, 720.0, 769.0, 775.0, 784.0, 787.0, 788.0, 796.0, 845.0, 846.0, 847.0, 889.0, 914.0, 934.0, 985.0, 992.0, 997.0], + [4.0, 5.0, 18.0, 50.0, 135.0, 138.0, 139.0, 176.0, 179.0, 185.0, 190.0, 218.0, 229.0, 235.0, 322.0, 345.0, 346.0, 370.0, 404.0, 419.0, 436.0, 484.0, 509.0, 522.0, 531.0, 534.0, 536.0, 574.0, 584.0, 587.0, 618.0, 626.0, 637.0, 642.0, 643.0, 647.0, 660.0, 682.0, 698.0, 724.0, 769.0, 777.0, 778.0, 799.0, 825.0, 826.0, 832.0, 836.0, 839.0, 869.0, 870.0, 900.0, 924.0, 953.0, 975.0, 984.0], + [5.0, 55.0, 78.0, 154.0, 157.0, 196.0, 199.0, 205.0, 249.0, 265.0, 266.0, 279.0, 286.0, 323.0, 348.0, 366.0, 375.0, 386.0, 395.0, 415.0, 419.0, 425.0, 440.0, 453.0, 532.0, 553.0, 560.0, 566.0, 585.0, 617.0, 660.0, 680.0, 690.0, 741.0, 743.0, 760.0, 774.0, 777.0, 782.0, 814.0, 829.0, 902.0, 957.0, 987.0], + [19.0, 49.0, 87.0, 133.0, 135.0, 187.0, 192.0, 225.0, 233.0, 260.0, 261.0, 293.0, 310.0, 337.0, 368.0, 371.0, 375.0, 447.0, 449.0, 470.0, 486.0, 487.0, 504.0, 509.0, 523.0, 525.0, 527.0, 639.0, 689.0, 690.0, 697.0, 746.0, 781.0, 787.0, 826.0, 844.0, 850.0, 896.0, 920.0, 950.0, 953.0, 1006.0, 1014.0, 1019.0], + [35.0, 37.0, 71.0, 89.0, 113.0, 123.0, 132.0, 135.0, 171.0, 192.0, 215.0, 237.0, 270.0, 280.0, 304.0, 319.0, 328.0, 364.0, 380.0, 423.0, 459.0, 475.0, 485.0, 493.0, 536.0, 544.0, 557.0, 706.0, 753.0, 756.0, 764.0, 788.0, 789.0, 796.0, 797.0, 863.0, 866.0, 878.0, 903.0, 938.0, 977.0], + [10.0, 26.0, 49.0, 64.0, 74.0, 104.0, 105.0, 151.0, 180.0, 209.0, 231.0, 243.0, 258.0, 278.0, 291.0, 323.0, 332.0, 415.0, 419.0, 423.0, 427.0, 487.0, 491.0, 494.0, 505.0, 520.0, 538.0, 555.0, 566.0, 580.0, 582.0, 633.0, 638.0, 650.0, 667.0, 670.0, 681.0, 696.0, 718.0, 719.0, 731.0, 752.0, 782.0, 818.0, 906.0, 923.0, 929.0, 945.0, 946.0, 951.0, 952.0, 958.0, 967.0, 968.0, 969.0, 1016.0], + [15.0, 20.0, 53.0, 62.0, 68.0, 83.0, 92.0, 108.0, 116.0, 117.0, 124.0, 164.0, 180.0, 192.0, 217.0, 245.0, 247.0, 281.0, 282.0, 288.0, 291.0, 327.0, 374.0, 389.0, 421.0, 429.0, 433.0, 480.0, 498.0, 501.0, 522.0, 537.0, 539.0, 569.0, 576.0, 628.0, 682.0, 683.0, 696.0, 752.0, 754.0, 765.0, 778.0, 798.0, 823.0, 852.0, 868.0, 875.0, 885.0, 890.0, 903.0, 937.0, 945.0, 954.0, 961.0, 983.0], + [5.0, 13.0, 49.0, 65.0, 145.0, 149.0, 150.0, 184.0, 200.0, 218.0, 223.0, 238.0, 253.0, 273.0, 278.0, 287.0, 294.0, 361.0, 417.0, 451.0, 478.0, 498.0, 557.0, 592.0, 660.0, 678.0, 688.0, 710.0, 769.0, 773.0, 803.0, 827.0, 857.0, 881.0, 897.0, 908.0, 955.0, 956.0, 974.0], + [44.0, 59.0, 67.0, 97.0, 117.0, 150.0, 165.0, 168.0, 175.0, 186.0, 215.0, 227.0, 231.0, 288.0, 294.0, 306.0, 333.0, 334.0, 341.0, 365.0, 380.0, 399.0, 427.0, 455.0, 458.0, 503.0, 524.0, 536.0, 542.0, 548.0, 549.0, 557.0, 582.0, 594.0, 606.0, 608.0, 644.0, 652.0, 660.0, 671.0, 702.0, 706.0, 722.0, 754.0, 792.0, 827.0, 832.0, 848.0, 880.0, 911.0, 923.0, 925.0, 934.0, 956.0, 960.0, 980.0, 985.0, 1016.0], + [26.0, 74.0, 75.0, 76.0, 92.0, 121.0, 122.0, 169.0, 178.0, 187.0, 197.0, 200.0, 223.0, 238.0, 303.0, 323.0, 365.0, 369.0, 406.0, 433.0, 478.0, 479.0, 491.0, 497.0, 501.0, 503.0, 531.0, 544.0, 552.0, 575.0, 619.0, 632.0, 648.0, 658.0, 664.0, 730.0, 744.0, 748.0, 757.0, 791.0, 816.0, 819.0, 831.0, 847.0, 856.0, 869.0, 873.0, 887.0, 903.0, 944.0, 964.0, 983.0, 996.0, 1023.0], + [2.0, 4.0, 7.0, 28.0, 36.0, 67.0, 84.0, 93.0, 125.0, 143.0, 156.0, 201.0, 225.0, 233.0, 271.0, 293.0, 296.0, 310.0, 314.0, 323.0, 325.0, 342.0, 398.0, 400.0, 423.0, 444.0, 456.0, 460.0, 476.0, 479.0, 492.0, 531.0, 532.0, 550.0, 569.0, 586.0, 628.0, 651.0, 658.0, 700.0, 739.0, 777.0, 800.0, 804.0, 806.0, 811.0, 885.0, 892.0, 907.0, 939.0, 957.0, 969.0, 983.0, 1000.0, 1003.0], + [23.0, 24.0, 58.0, 77.0, 96.0, 127.0, 165.0, 170.0, 206.0, 214.0, 231.0, 241.0, 253.0, 328.0, 355.0, 377.0, 382.0, 415.0, 435.0, 448.0, 483.0, 485.0, 526.0, 537.0, 554.0, 573.0, 577.0, 582.0, 601.0, 652.0, 704.0, 710.0, 717.0, 725.0, 731.0, 735.0, 750.0, 807.0, 837.0, 839.0, 846.0, 880.0, 915.0, 947.0], + [7.0, 22.0, 29.0, 68.0, 111.0, 125.0, 147.0, 149.0, 189.0, 192.0, 198.0, 212.0, 231.0, 237.0, 238.0, 269.0, 310.0, 332.0, 338.0, 354.0, 383.0, 405.0, 407.0, 413.0, 419.0, 424.0, 428.0, 435.0, 437.0, 441.0, 444.0, 453.0, 471.0, 489.0, 514.0, 561.0, 580.0, 583.0, 620.0, 627.0, 659.0, 670.0, 671.0, 673.0, 685.0, 700.0, 716.0, 725.0, 737.0, 749.0, 762.0, 773.0, 782.0, 819.0, 860.0, 863.0, 887.0, 905.0, 912.0, 924.0, 934.0, 953.0, 960.0, 1003.0, 1014.0], + [3.0, 31.0, 52.0, 58.0, 59.0, 96.0, 105.0, 118.0, 122.0, 126.0, 133.0, 135.0, 140.0, 144.0, 147.0, 175.0, 199.0, 215.0, 242.0, 258.0, 304.0, 322.0, 364.0, 380.0, 384.0, 385.0, 389.0, 390.0, 399.0, 421.0, 442.0, 451.0, 479.0, 498.0, 501.0, 512.0, 528.0, 547.0, 581.0, 586.0, 590.0, 652.0, 653.0, 654.0, 668.0, 685.0, 689.0, 705.0, 726.0, 762.0, 803.0, 808.0, 809.0, 835.0, 842.0, 874.0, 910.0, 914.0, 968.0, 978.0, 993.0, 1007.0, 1008.0, 1016.0, 1022.0], + [2.0, 8.0, 16.0, 21.0, 26.0, 47.0, 52.0, 89.0, 126.0, 135.0, 143.0, 147.0, 172.0, 195.0, 227.0, 235.0, 242.0, 251.0, 337.0, 344.0, 350.0, 358.0, 371.0, 375.0, 383.0, 387.0, 411.0, 421.0, 440.0, 441.0, 470.0, 475.0, 549.0, 552.0, 554.0, 555.0, 573.0, 574.0, 587.0, 603.0, 633.0, 667.0, 713.0, 726.0, 735.0, 741.0, 755.0, 756.0, 766.0, 789.0, 802.0, 803.0, 818.0, 821.0, 824.0, 845.0, 855.0, 895.0, 919.0, 926.0, 927.0, 930.0, 940.0], + [35.0, 38.0, 53.0, 58.0, 65.0, 90.0, 103.0, 174.0, 176.0, 239.0, 245.0, 269.0, 290.0, 366.0, 375.0, 396.0, 428.0, 453.0, 472.0, 490.0, 519.0, 586.0, 618.0, 687.0, 701.0, 726.0, 728.0, 747.0, 764.0, 767.0, 794.0, 851.0, 986.0], + [27.0, 41.0, 49.0, 50.0, 54.0, 108.0, 122.0, 152.0, 154.0, 158.0, 182.0, 221.0, 250.0, 256.0, 275.0, 288.0, 305.0, 328.0, 370.0, 379.0, 419.0, 423.0, 470.0, 492.0, 523.0, 524.0, 540.0, 542.0, 612.0, 642.0, 663.0, 675.0, 699.0, 701.0, 759.0, 770.0, 777.0, 785.0, 799.0, 804.0, 867.0, 879.0, 890.0, 895.0, 930.0, 937.0, 946.0, 967.0, 968.0, 975.0, 976.0, 1008.0, 1022.0], + [52.0, 55.0, 58.0, 90.0, 129.0, 136.0, 172.0, 192.0, 234.0, 235.0, 241.0, 244.0, 247.0, 308.0, 371.0, 413.0, 414.0, 473.0, 484.0, 497.0, 507.0, 519.0, 622.0, 648.0, 659.0, 687.0, 696.0, 746.0, 781.0, 801.0, 914.0, 931.0, 966.0, 971.0, 999.0], + [9.0, 24.0, 47.0, 50.0, 79.0, 106.0, 121.0, 132.0, 150.0, 154.0, 173.0, 183.0, 200.0, 217.0, 233.0, 276.0, 283.0, 320.0, 356.0, 357.0, 362.0, 385.0, 396.0, 405.0, 407.0, 445.0, 488.0, 540.0, 542.0, 550.0, 554.0, 579.0, 603.0, 608.0, 624.0, 636.0, 684.0, 776.0, 779.0, 792.0, 817.0, 820.0, 834.0, 846.0, 847.0, 860.0, 914.0, 918.0, 922.0, 925.0, 950.0, 958.0, 976.0, 995.0, 1022.0], + [47.0, 49.0, 54.0, 60.0, 66.0, 98.0, 150.0, 152.0, 153.0, 203.0, 220.0, 233.0, 261.0, 286.0, 300.0, 308.0, 419.0, 468.0, 490.0, 541.0, 555.0, 559.0, 561.0, 607.0, 655.0, 666.0, 672.0, 687.0, 690.0, 738.0, 761.0, 781.0, 798.0, 808.0, 819.0, 838.0, 839.0, 870.0, 871.0, 901.0, 915.0, 946.0, 984.0, 986.0, 991.0, 1000.0, 1017.0], + [38.0, 59.0, 213.0, 242.0, 246.0, 263.0, 277.0, 280.0, 282.0, 298.0, 313.0, 353.0, 362.0, 363.0, 377.0, 386.0, 415.0, 416.0, 466.0, 540.0, 588.0, 609.0, 653.0, 662.0, 666.0, 668.0, 678.0, 679.0, 709.0, 721.0, 738.0, 755.0, 776.0, 792.0, 796.0, 804.0, 818.0, 836.0, 886.0, 915.0, 919.0, 994.0, 1015.0], + [8.0, 17.0, 65.0, 75.0, 87.0, 104.0, 109.0, 166.0, 178.0, 209.0, 252.0, 255.0, 258.0, 261.0, 279.0, 304.0, 331.0, 382.0, 417.0, 421.0, 462.0, 479.0, 491.0, 538.0, 543.0, 544.0, 553.0, 559.0, 566.0, 604.0, 605.0, 662.0, 663.0, 670.0, 708.0, 729.0, 732.0, 738.0, 804.0, 809.0, 833.0, 838.0, 882.0, 898.0, 902.0, 913.0, 921.0, 936.0, 966.0, 984.0, 989.0, 990.0, 1002.0, 1012.0], + [22.0, 36.0, 52.0, 76.0, 77.0, 105.0, 114.0, 117.0, 118.0, 137.0, 160.0, 171.0, 175.0, 197.0, 202.0, 248.0, 284.0, 365.0, 392.0, 409.0, 453.0, 489.0, 493.0, 508.0, 551.0, 564.0, 571.0, 602.0, 615.0, 646.0, 647.0, 678.0, 686.0, 690.0, 696.0, 697.0, 739.0, 756.0, 781.0, 792.0, 793.0, 813.0, 896.0, 918.0, 931.0, 961.0, 962.0, 972.0, 981.0, 992.0, 1010.0], + [47.0, 100.0, 101.0, 130.0, 188.0, 200.0, 206.0, 229.0, 243.0, 255.0, 276.0, 296.0, 318.0, 326.0, 347.0, 433.0, 450.0, 453.0, 471.0, 475.0, 476.0, 483.0, 493.0, 494.0, 510.0, 533.0, 537.0, 562.0, 585.0, 617.0, 631.0, 657.0, 678.0, 709.0, 712.0, 745.0, 747.0, 755.0, 766.0, 771.0, 785.0, 792.0, 797.0, 815.0, 851.0, 886.0, 899.0, 999.0], + [3.0, 4.0, 15.0, 24.0, 50.0, 72.0, 98.0, 105.0, 108.0, 134.0, 157.0, 161.0, 194.0, 235.0, 295.0, 308.0, 316.0, 329.0, 393.0, 394.0, 452.0, 455.0, 515.0, 517.0, 536.0, 576.0, 584.0, 621.0, 627.0, 631.0, 676.0, 710.0, 719.0, 726.0, 727.0, 752.0, 788.0, 810.0, 826.0, 838.0, 839.0, 861.0, 862.0, 879.0, 886.0, 916.0, 980.0, 1020.0], + [31.0, 36.0, 46.0, 68.0, 72.0, 118.0, 123.0, 125.0, 160.0, 222.0, 223.0, 270.0, 293.0, 332.0, 348.0, 373.0, 380.0, 411.0, 413.0, 434.0, 469.0, 498.0, 507.0, 521.0, 566.0, 571.0, 601.0, 611.0, 619.0, 647.0, 696.0, 705.0, 711.0, 755.0, 760.0, 772.0, 774.0, 788.0, 796.0, 820.0, 849.0, 862.0, 866.0, 878.0, 898.0, 973.0, 1023.0], + [15.0, 24.0, 34.0, 41.0, 42.0, 63.0, 67.0, 100.0, 127.0, 182.0, 200.0, 237.0, 247.0, 249.0, 290.0, 323.0, 333.0, 342.0, 368.0, 387.0, 412.0, 424.0, 427.0, 440.0, 442.0, 487.0, 533.0, 548.0, 590.0, 607.0, 639.0, 651.0, 659.0, 714.0, 716.0, 738.0, 756.0, 782.0, 794.0, 802.0, 810.0, 820.0, 824.0, 854.0, 874.0, 876.0, 877.0, 912.0, 932.0, 945.0, 976.0, 987.0, 1005.0, 1022.0], + [14.0, 17.0, 71.0, 78.0, 100.0, 118.0, 132.0, 143.0, 162.0, 170.0, 176.0, 177.0, 195.0, 201.0, 219.0, 256.0, 261.0, 264.0, 279.0, 281.0, 288.0, 357.0, 406.0, 409.0, 412.0, 442.0, 445.0, 471.0, 488.0, 516.0, 529.0, 550.0, 557.0, 559.0, 563.0, 580.0, 591.0, 599.0, 675.0, 691.0, 736.0, 738.0, 749.0, 764.0, 765.0, 776.0, 780.0, 785.0, 806.0, 823.0, 825.0, 830.0, 837.0, 843.0, 864.0, 878.0, 921.0, 930.0, 932.0, 934.0, 937.0, 959.0], + [13.0, 19.0, 35.0, 85.0, 122.0, 128.0, 135.0, 136.0, 161.0, 165.0, 166.0, 203.0, 223.0, 236.0, 241.0, 242.0, 339.0, 353.0, 370.0, 381.0, 387.0, 390.0, 400.0, 407.0, 415.0, 421.0, 454.0, 464.0, 470.0, 471.0, 496.0, 504.0, 511.0, 520.0, 560.0, 565.0, 567.0, 601.0, 635.0, 655.0, 668.0, 705.0, 768.0, 787.0, 799.0, 806.0, 814.0, 835.0, 836.0, 857.0, 862.0, 872.0, 884.0, 888.0, 951.0, 984.0, 1021.0], + [24.0, 53.0, 54.0, 79.0, 89.0, 121.0, 134.0, 155.0, 164.0, 166.0, 205.0, 221.0, 222.0, 231.0, 291.0, 302.0, 334.0, 352.0, 369.0, 387.0, 437.0, 447.0, 451.0, 594.0, 609.0, 646.0, 652.0, 662.0, 681.0, 710.0, 787.0, 829.0, 848.0, 899.0, 912.0, 926.0, 997.0, 1006.0, 1022.0], + [14.0, 20.0, 29.0, 47.0, 52.0, 69.0, 75.0, 117.0, 120.0, 127.0, 146.0, 153.0, 175.0, 181.0, 237.0, 272.0, 287.0, 301.0, 316.0, 343.0, 347.0, 349.0, 395.0, 414.0, 425.0, 487.0, 526.0, 528.0, 538.0, 546.0, 548.0, 558.0, 581.0, 593.0, 630.0, 632.0, 636.0, 642.0, 651.0, 719.0, 726.0, 836.0, 968.0, 998.0, 1006.0], + [6.0, 23.0, 55.0, 90.0, 111.0, 117.0, 118.0, 123.0, 130.0, 131.0, 160.0, 187.0, 196.0, 214.0, 247.0, 253.0, 272.0, 288.0, 292.0, 302.0, 303.0, 307.0, 310.0, 323.0, 334.0, 364.0, 382.0, 384.0, 406.0, 432.0, 433.0, 439.0, 471.0, 524.0, 530.0, 562.0, 683.0, 689.0, 755.0, 769.0, 807.0, 809.0, 813.0, 834.0, 837.0, 880.0, 900.0, 927.0, 930.0, 939.0, 940.0, 970.0, 993.0], + [41.0, 54.0, 82.0, 83.0, 99.0, 139.0, 143.0, 146.0, 150.0, 161.0, 194.0, 227.0, 287.0, 312.0, 313.0, 320.0, 324.0, 340.0, 376.0, 384.0, 393.0, 430.0, 434.0, 476.0, 512.0, 514.0, 536.0, 584.0, 599.0, 600.0, 606.0, 624.0, 708.0, 714.0, 758.0, 785.0, 824.0, 838.0, 849.0, 873.0, 877.0, 881.0, 966.0, 973.0, 997.0, 1016.0], + [14.0, 24.0, 30.0, 36.0, 50.0, 73.0, 78.0, 87.0, 89.0, 107.0, 113.0, 155.0, 165.0, 171.0, 189.0, 190.0, 193.0, 209.0, 218.0, 238.0, 244.0, 288.0, 291.0, 311.0, 318.0, 319.0, 320.0, 325.0, 338.0, 351.0, 353.0, 407.0, 429.0, 475.0, 523.0, 526.0, 530.0, 546.0, 597.0, 599.0, 600.0, 604.0, 628.0, 632.0, 656.0, 658.0, 674.0, 713.0, 726.0, 746.0, 755.0, 756.0, 833.0, 847.0, 848.0, 856.0, 896.0, 911.0, 971.0, 1005.0, 1006.0, 1009.0, 1010.0, 1012.0], + [12.0, 50.0, 121.0, 128.0, 135.0, 161.0, 191.0, 192.0, 207.0, 208.0, 231.0, 266.0, 268.0, 270.0, 298.0, 394.0, 413.0, 483.0, 487.0, 518.0, 523.0, 567.0, 601.0, 606.0, 610.0, 659.0, 660.0, 680.0, 755.0, 791.0, 797.0, 802.0, 816.0, 827.0, 945.0, 974.0, 987.0, 1023.0] + ] + + if not pop_size: + pop_size = len(pattern) + + spikes = [] + l=[] + for i in range(pop_size): + l = [] + for j in range(cycle_time): + l.append(j % 1024) + spikes.append(l) + + for r in range(1, num_repeats): + for p in range(pop_size): + new_iter = [i + r * cycle_time for i in spikes[p]] + spikes[p].extend(new_iter) + + return spikes \ No newline at end of file diff --git a/eprop_testing/learn_sinusoid_from_frozen_poisson.py b/eprop_testing/learn_sinusoid_from_frozen_poisson.py new file mode 100644 index 00000000..117afe04 --- /dev/null +++ b/eprop_testing/learn_sinusoid_from_frozen_poisson.py @@ -0,0 +1,171 @@ +import spynnaker8 as pynn +import numpy as np +import matplotlib.pyplot as plt +from frozen_poisson import build_input_spike_train +from pyNN.random import NumpyRNG, RandomDistribution +from pyNN.utility.plotting import Figure, Panel + + +cycle_time = 1024 +num_repeats = 1 +pynn.setup(1.0) + +neuron_params = { + "v": 0, + "i_offset": 0.8, + "v_rest": 0, + "w_fb": 0.75 + } + +target_data = [] +for i in range(1024): + target_data.append( + 5 + 2 * np.sin(2 * i * 2* np.pi / 1024) \ + + 2 * np.sin((4 * i * 2* np.pi / 1024)) + ) + +readout_neuron_params = { + "v": 0, + "v_thresh": 30, # controls firing rate of error neurons + "target_data": target_data, + "eta": 0.01 + } + +input_size = 1 +# input_pop = pynn.Population(input_size, +# pynn.SpikeSourceArray, +# {'spike_times': build_input_spike_train(num_repeats, cycle_time, input_size)}, +# label='input_pop') +input_pop = pynn.Population(input_size, + pynn.SpikeSourceArray, + {'spike_times': [np.linspace(0, 1000, 10) for i in range(input_size)]}, + label='input_pop') + +neuron = pynn.Population(1, + pynn.extra_models.EPropAdaptive(**neuron_params), + label='eprop_pop') + +# Output population +readout_pop = pynn.Population(3, # HARDCODED 1 + pynn.extra_models.SinusoidReadout( + **readout_neuron_params + ), + label="readout_pop" + ) + +start_w = [-0.5 for i in range(input_size)] +eprop_learning = pynn.STDPMechanism( + timing_dependence=pynn.extra_models.TimingDependenceEprop(), + weight_dependence=pynn.extra_models.WeightDependenceEpropReg( + w_min=-2.0, w_max=2.0, reg_rate=0.0), + weight=start_w, delay=[i for i in range(input_size)])#[0, 0]) + +start_w_ln = -0.5#[-0.5 for i in range(input_size)] +eprop_learning_1n = pynn.STDPMechanism( + timing_dependence=pynn.extra_models.TimingDependenceEprop(), + weight_dependence=pynn.extra_models.WeightDependenceEpropReg( + w_min=-2.0, w_max=2.0, reg_rate=0.0), + weight=start_w_ln, delay=0)#[i for i in range(input_size)])#[0, 0]) + +in_proj = pynn.Projection(input_pop, + # neuron, + readout_pop, + pynn.OneToOneConnector(), + synapse_type=eprop_learning, + label='input_connections', + receptor_type='input_connections') + + +# out_proj = pynn.Projection(neuron, +# readout_pop, +# pynn.OneToOneConnector(), +# synapse_type=eprop_learning, +# label='input_connections', +# receptor_type='input_connections') + +# learning_proj = pynn.Projection(readout_pop, +# neuron, +# pynn.OneToOneConnector(), +# pynn.StaticSynapse(weight=[0.5], delay=[0]), +# receptor_type='learning_signal') + +# self_learning_proj = pynn.Projection(readout_pop, +# readout_pop, +# pynn.OneToOneConnector(), +# pynn.StaticSynapse(weight=[0.5], delay=[0]), +# receptor_type='learning_signal') + +input_pop.record('spikes') +neuron.record('all') +readout_pop.record('all') + +runtime = cycle_time * num_repeats +pynn.run(runtime) +in_spikes = input_pop.get_data('spikes') +neuron_res = neuron.get_data('all') +readout_res = readout_pop.get_data('all') + + + +# Plot rec neuron output +# plt.figure() +# # plt.tight_layout() +# +# plt.subplot(4, 1, 1) +# plt.plot(neuron_res.segments[0].filter(name='v')[0].magnitude, label='Membrane potential (mV)') +# +# plt.subplot(4, 1, 2) +# plt.plot(neuron_res.segments[0].filter(name='gsyn_exc')[0].magnitude, label='gsyn_exc') +# +# plt.subplot(4, 1, 3) +# plt.plot(neuron_res.segments[0].filter(name='gsyn_inh')[0].magnitude, label='gsyn_inh') +# +# plt.subplot(4,1,4) +# plt.plot(in_spikes.segments[0].spiketrains, label='in_spikes') + +plt.figure() +Figure( + Panel(neuron_res.segments[0].filter(name='v')[0], ylabel='Membrane potential (mV)', yticks=True, xlim=(0, runtime)), + + Panel(neuron_res.segments[0].filter(name='gsyn_exc')[0], ylabel='gsyn_exc', yticks=True, xlim=(0, runtime)), + + Panel(neuron_res.segments[0].filter(name='gsyn_inh')[0], ylabel='gsyn_inh', yticks=True, xlim=(0, runtime)), + + Panel(in_spikes.segments[0].spiketrains, ylabel='in_spikes', yticks=True, xlim=(0, runtime)), + + Panel(neuron_res.segments[0].spiketrains, ylabel='neuron_spikes', yticks=True, xlim=(0, runtime)), + +# title="eprop neuron" +# ) +# plt.show() +# +# plt.figure() +# Figure( + Panel(readout_res.segments[0].filter(name='v')[0], ylabel='Membrane potential (mV)', yticks=True, xlim=(0, runtime)), + + Panel(readout_res.segments[0].filter(name='gsyn_exc')[0], ylabel='gsyn_exc', yticks=True, xlim=(0, runtime)), + + Panel(readout_res.segments[0].filter(name='gsyn_inh')[0], ylabel='gsyn_inh', yticks=True, xlim=(0, runtime)), + + title="readout neuron" +) +# plt.show() + +# Plot Readout output +# plt.figure() +# # plt.tight_layout() +# +# plt.subplot(3, 1, 1) +# plt.plot(readout_res.segments[0].filter(name='v')[0].magnitude, label='Membrane potential (mV)') +# +# plt.subplot(3, 1, 2) +# plt.plot(readout_res.segments[0].filter(name='gsyn_exc')[0].magnitude, label='gsyn_exc') +# +# plt.subplot(3, 1, 3) +# plt.plot(readout_res.segments[0].filter(name='gsyn_inh')[0].magnitude, label='gsyn_inh') + + +plt.show() + +pynn.end() +print("job done") \ No newline at end of file diff --git a/eprop_testing/one_neuron.py b/eprop_testing/one_neuron.py index 74a45e24..1ac9b7f3 100644 --- a/eprop_testing/one_neuron.py +++ b/eprop_testing/one_neuron.py @@ -28,7 +28,7 @@ proj = pynn.Projection(spike_source, neuron, pynn.OneToOneConnector(), pynn.StaticSynapse(weight=[-0.5, 2] , delay=[1, 5]), - label='input_connections') + receptor_type='input_connections') neuron.record('all') diff --git a/eprop_testing/store_recall.py b/eprop_testing/store_recall.py index 794691c1..a8f0dbea 100644 --- a/eprop_testing/store_recall.py +++ b/eprop_testing/store_recall.py @@ -103,7 +103,7 @@ def add_poisson_live_rate_control(poisson_population, controller): label='pop_rec') # Output population -pop_out = p.Population(3, # HARDCODED 3: One readout; one exc err, one inh err +pop_out = p.Population(3, # HARDCODED 3: One readout; one exc err, one inh err todo check the new neuron ids p.extra_models.StoreRecallReadout( **readout_neuron_params ), # Neuron model diff --git a/eprop_testing/test_sinusoid_learning.py b/eprop_testing/test_sinusoid_learning.py index 4852e1db..faa90f17 100644 --- a/eprop_testing/test_sinusoid_learning.py +++ b/eprop_testing/test_sinusoid_learning.py @@ -29,22 +29,16 @@ "eta": 0.01 } - -input_pop = pynn.Population(1, +input_size = 1 +input_pop = pynn.Population(input_size, pynn.SpikeSourceArray, - {'spike_times': np.linspace(0, 1000, 10)}, + {'spike_times': [np.linspace(0, 1000, 10) for i in range(input_size)]}, label='input_pop') neuron = pynn.Population(1, pynn.extra_models.EPropAdaptive(**neuron_params), label='eprop_pop') -in_proj = pynn.Projection(input_pop, - neuron, - pynn.OneToOneConnector(), - pynn.StaticSynapse(weight=[0.5], delay=[0]), - receptor_type='input_connections') - # Output population readout_pop = pynn.Population(3, # HARDCODED 1 pynn.extra_models.SinusoidReadout( @@ -53,10 +47,25 @@ label="readout_pop" ) +start_w = [-0.5] +eprop_learning = pynn.STDPMechanism( + timing_dependence=pynn.extra_models.TimingDependenceEprop(), + weight_dependence=pynn.extra_models.WeightDependenceEpropReg( + w_min=-2.0, w_max=2.0, reg_rate=0.0), + weight=start_w, delay=0)#[0, 0]) + +in_proj = pynn.Projection(input_pop, + neuron, + pynn.OneToOneConnector(), + synapse_type=eprop_learning, + label='input_connections', + receptor_type='input_connections') + out_proj = pynn.Projection(neuron, readout_pop, pynn.OneToOneConnector(), - pynn.StaticSynapse(weight=[0.5], delay=[0]), + synapse_type=eprop_learning, + label='input_connections', receptor_type='input_connections') learning_proj = pynn.Projection(readout_pop, @@ -65,11 +74,11 @@ pynn.StaticSynapse(weight=[0.5], delay=[0]), receptor_type='learning_signal') -self_learning_proj = pynn.Projection(readout_pop, - readout_pop, - pynn.OneToOneConnector(), - pynn.StaticSynapse(weight=[0.5], delay=[0]), - receptor_type='learning_signal') +# self_learning_proj = pynn.Projection(readout_pop, +# readout_pop, +# pynn.OneToOneConnector(), +# pynn.StaticSynapse(weight=[0.5], delay=[0]), +# receptor_type='learning_signal') input_pop.record('spikes') neuron.record('all') @@ -83,33 +92,61 @@ # Plot rec neuron output +# plt.figure() +# # plt.tight_layout() +# +# plt.subplot(4, 1, 1) +# plt.plot(neuron_res.segments[0].filter(name='v')[0].magnitude, label='Membrane potential (mV)') +# +# plt.subplot(4, 1, 2) +# plt.plot(neuron_res.segments[0].filter(name='gsyn_exc')[0].magnitude, label='gsyn_exc') +# +# plt.subplot(4, 1, 3) +# plt.plot(neuron_res.segments[0].filter(name='gsyn_inh')[0].magnitude, label='gsyn_inh') +# +# plt.subplot(4,1,4) +# plt.plot(in_spikes.segments[0].spiketrains, label='in_spikes') + plt.figure() -# plt.tight_layout() +Figure( + Panel(neuron_res.segments[0].filter(name='v')[0], ylabel='Membrane potential (mV)', yticks=True, xlim=(0, runtime)), -plt.subplot(4, 1, 1) -plt.plot(neuron_res.segments[0].filter(name='v')[0].magnitude, label='Membrane potential (mV)') + Panel(neuron_res.segments[0].filter(name='gsyn_exc')[0], ylabel='gsyn_exc', yticks=True, xlim=(0, runtime)), -plt.subplot(4, 1, 2) -plt.plot(neuron_res.segments[0].filter(name='gsyn_exc')[0].magnitude, label='gsyn_exc') + Panel(neuron_res.segments[0].filter(name='gsyn_inh')[0], ylabel='gsyn_inh', yticks=True, xlim=(0, runtime)), -plt.subplot(4, 1, 3) -plt.plot(neuron_res.segments[0].filter(name='gsyn_inh')[0].magnitude, label='gsyn_inh') + Panel(in_spikes.segments[0].spiketrains, ylabel='in_spikes', yticks=True, xlim=(0, runtime)), -plt.subplot(4,1,4) -plt.plot(in_spikes.segments[0].spiketrains, label='in_spikes') + Panel(neuron_res.segments[0].spiketrains, ylabel='neuron_spikes', yticks=True, xlim=(0, runtime)), -# Plot Readout output -plt.figure() -# plt.tight_layout() +# title="eprop neuron" +# ) +# plt.show() +# +# plt.figure() +# Figure( + Panel(readout_res.segments[0].filter(name='v')[0], ylabel='Membrane potential (mV)', yticks=True, xlim=(0, runtime)), -plt.subplot(3, 1, 1) -plt.plot(readout_res.segments[0].filter(name='v')[0].magnitude, label='Membrane potential (mV)') + Panel(readout_res.segments[0].filter(name='gsyn_exc')[0], ylabel='gsyn_exc', yticks=True, xlim=(0, runtime)), -plt.subplot(3, 1, 2) -plt.plot(readout_res.segments[0].filter(name='gsyn_exc')[0].magnitude, label='gsyn_exc') + Panel(readout_res.segments[0].filter(name='gsyn_inh')[0], ylabel='gsyn_inh', yticks=True, xlim=(0, runtime)), -plt.subplot(3, 1, 3) -plt.plot(readout_res.segments[0].filter(name='gsyn_inh')[0].magnitude, label='gsyn_inh') + title="readout neuron" +) +# plt.show() + +# Plot Readout output +# plt.figure() +# # plt.tight_layout() +# +# plt.subplot(3, 1, 1) +# plt.plot(readout_res.segments[0].filter(name='v')[0].magnitude, label='Membrane potential (mV)') +# +# plt.subplot(3, 1, 2) +# plt.plot(readout_res.segments[0].filter(name='gsyn_exc')[0].magnitude, label='gsyn_exc') +# +# plt.subplot(3, 1, 3) +# plt.plot(readout_res.segments[0].filter(name='gsyn_inh')[0].magnitude, label='gsyn_inh') plt.show() From 9d1543afd937977daabda916dd939f3c33188c79 Mon Sep 17 00:00:00 2001 From: such-a-git Date: Tue, 10 Mar 2020 10:45:39 +0000 Subject: [PATCH 27/68] correct, hopefully, sinusoid test --- eprop_testing/frozen_poisson.py | 14 +++-- .../learn_sinusoid_from_frozen_poisson.py | 63 ++++++++++--------- 2 files changed, 43 insertions(+), 34 deletions(-) diff --git a/eprop_testing/frozen_poisson.py b/eprop_testing/frozen_poisson.py index bff773c2..5c169829 100644 --- a/eprop_testing/frozen_poisson.py +++ b/eprop_testing/frozen_poisson.py @@ -111,13 +111,17 @@ def build_input_spike_train(num_repeats, cycle_time, pop_size=None): l=[] for i in range(pop_size): l = [] - for j in range(cycle_time): - l.append(j % 1024) + for j in range(len(pattern[i])): + if pattern[i][j] < cycle_time: + l.append(pattern[i][j]) + else: + break spikes.append(l) - for r in range(1, num_repeats): + cycled_spikes = [[] for i in range(pop_size)] + for r in range(0, num_repeats): for p in range(pop_size): new_iter = [i + r * cycle_time for i in spikes[p]] - spikes[p].extend(new_iter) + cycled_spikes[p].extend(new_iter) - return spikes \ No newline at end of file + return cycled_spikes \ No newline at end of file diff --git a/eprop_testing/learn_sinusoid_from_frozen_poisson.py b/eprop_testing/learn_sinusoid_from_frozen_poisson.py index 117afe04..16637839 100644 --- a/eprop_testing/learn_sinusoid_from_frozen_poisson.py +++ b/eprop_testing/learn_sinusoid_from_frozen_poisson.py @@ -7,7 +7,7 @@ cycle_time = 1024 -num_repeats = 1 +num_repeats = 100 pynn.setup(1.0) neuron_params = { @@ -20,7 +20,7 @@ target_data = [] for i in range(1024): target_data.append( - 5 + 2 * np.sin(2 * i * 2* np.pi / 1024) \ + 0 + 2 * np.sin(2 * i * 2* np.pi / 1024) \ + 2 * np.sin((4 * i * 2* np.pi / 1024)) ) @@ -28,22 +28,24 @@ "v": 0, "v_thresh": 30, # controls firing rate of error neurons "target_data": target_data, - "eta": 0.01 + "eta": 0.0001 } -input_size = 1 -# input_pop = pynn.Population(input_size, -# pynn.SpikeSourceArray, -# {'spike_times': build_input_spike_train(num_repeats, cycle_time, input_size)}, -# label='input_pop') +pynn.setup(timestep=1) + +input_size = 100 input_pop = pynn.Population(input_size, pynn.SpikeSourceArray, - {'spike_times': [np.linspace(0, 1000, 10) for i in range(input_size)]}, + {'spike_times': build_input_spike_train(num_repeats, cycle_time, input_size)}, label='input_pop') +# input_pop = pynn.Population(input_size, +# pynn.SpikeSourceArray, +# {'spike_times': [np.linspace(0, 1000, 10) for i in range(input_size)]}, +# label='input_pop') -neuron = pynn.Population(1, - pynn.extra_models.EPropAdaptive(**neuron_params), - label='eprop_pop') +# neuron = pynn.Population(1, +# pynn.extra_models.EPropAdaptive(**neuron_params), +# label='eprop_pop') # Output population readout_pop = pynn.Population(3, # HARDCODED 1 @@ -53,12 +55,15 @@ label="readout_pop" ) -start_w = [-0.5 for i in range(input_size)] +base_weight = np.random.randn() / np.sqrt(input_size)#0 +# start_w = [(-0.5) / float(input_size*3) for i in range(input_size*3)] +start_w = [0 for i in range(input_size*3)] +# start_w = [base_weight for i in range(input_size)] eprop_learning = pynn.STDPMechanism( timing_dependence=pynn.extra_models.TimingDependenceEprop(), weight_dependence=pynn.extra_models.WeightDependenceEpropReg( - w_min=-2.0, w_max=2.0, reg_rate=0.0), - weight=start_w, delay=[i for i in range(input_size)])#[0, 0]) + w_min=-2, w_max=2, reg_rate=0.0))#, + # weight=start_w, delay=[i for i in range(input_size)])#[0, 0]) start_w_ln = -0.5#[-0.5 for i in range(input_size)] eprop_learning_1n = pynn.STDPMechanism( @@ -70,7 +75,7 @@ in_proj = pynn.Projection(input_pop, # neuron, readout_pop, - pynn.OneToOneConnector(), + pynn.FromListConnector([[i, 0, base_weight, i] for i in range(input_size)]), synapse_type=eprop_learning, label='input_connections', receptor_type='input_connections') @@ -82,7 +87,7 @@ # synapse_type=eprop_learning, # label='input_connections', # receptor_type='input_connections') - +# # learning_proj = pynn.Projection(readout_pop, # neuron, # pynn.OneToOneConnector(), @@ -96,13 +101,13 @@ # receptor_type='learning_signal') input_pop.record('spikes') -neuron.record('all') +# neuron.record('all') readout_pop.record('all') runtime = cycle_time * num_repeats pynn.run(runtime) in_spikes = input_pop.get_data('spikes') -neuron_res = neuron.get_data('all') +# neuron_res = neuron.get_data('all') readout_res = readout_pop.get_data('all') @@ -125,15 +130,15 @@ plt.figure() Figure( - Panel(neuron_res.segments[0].filter(name='v')[0], ylabel='Membrane potential (mV)', yticks=True, xlim=(0, runtime)), - - Panel(neuron_res.segments[0].filter(name='gsyn_exc')[0], ylabel='gsyn_exc', yticks=True, xlim=(0, runtime)), - - Panel(neuron_res.segments[0].filter(name='gsyn_inh')[0], ylabel='gsyn_inh', yticks=True, xlim=(0, runtime)), + # Panel(neuron_res.segments[0].filter(name='v')[0], ylabel='Membrane potential (mV)', yticks=True, xticks=True, xlim=(0, runtime)), + # + # Panel(neuron_res.segments[0].filter(name='gsyn_exc')[0], ylabel='gsyn_exc', yticks=True, xticks=True, xlim=(0, runtime)), + # + # Panel(neuron_res.segments[0].filter(name='gsyn_inh')[0], ylabel='gsyn_inh', yticks=True, xticks=True, xlim=(0, runtime)), - Panel(in_spikes.segments[0].spiketrains, ylabel='in_spikes', yticks=True, xlim=(0, runtime)), + Panel(in_spikes.segments[0].spiketrains, ylabel='in_spikes', xlabel='in_spikes', yticks=True, xticks=True, xlim=(0, runtime)), - Panel(neuron_res.segments[0].spiketrains, ylabel='neuron_spikes', yticks=True, xlim=(0, runtime)), + # Panel(neuron_res.segments[0].spiketrains, ylabel='neuron_spikes', xlabel='neuron_spikes', yticks=True, xticks=True, xlim=(0, runtime)), # title="eprop neuron" # ) @@ -141,11 +146,11 @@ # # plt.figure() # Figure( - Panel(readout_res.segments[0].filter(name='v')[0], ylabel='Membrane potential (mV)', yticks=True, xlim=(0, runtime)), + Panel(readout_res.segments[0].filter(name='v')[0], ylabel='Membrane potential (mV)', yticks=True, xticks=True, xlim=(0, runtime)), - Panel(readout_res.segments[0].filter(name='gsyn_exc')[0], ylabel='gsyn_exc', yticks=True, xlim=(0, runtime)), + Panel(readout_res.segments[0].filter(name='gsyn_exc')[0], ylabel='gsyn_exc', yticks=True, xticks=True, xlim=(0, runtime)), - Panel(readout_res.segments[0].filter(name='gsyn_inh')[0], ylabel='gsyn_inh', yticks=True, xlim=(0, runtime)), + Panel(readout_res.segments[0].filter(name='gsyn_inh')[0], ylabel='gsyn_inh', yticks=True, xticks=True, xlim=(0, runtime)), title="readout neuron" ) From dad23ad0e818e4328f57d9b726f2ce5bab587514 Mon Sep 17 00:00:00 2001 From: such-a-git Date: Wed, 11 Mar 2020 15:14:54 +0000 Subject: [PATCH 28/68] better prints and init weights more graz like --- .../learn_sinusoid_from_frozen_poisson.py | 58 +++++++++++++++---- 1 file changed, 48 insertions(+), 10 deletions(-) diff --git a/eprop_testing/learn_sinusoid_from_frozen_poisson.py b/eprop_testing/learn_sinusoid_from_frozen_poisson.py index 16637839..e657c181 100644 --- a/eprop_testing/learn_sinusoid_from_frozen_poisson.py +++ b/eprop_testing/learn_sinusoid_from_frozen_poisson.py @@ -5,9 +5,15 @@ from pyNN.random import NumpyRNG, RandomDistribution from pyNN.utility.plotting import Figure, Panel +def weight_distribution(pop_size): + base_weight = np.random.randn() / np.sqrt(pop_size) + # base_weight = 0 + return base_weight + +np.random.seed(272727) cycle_time = 1024 -num_repeats = 100 +num_repeats = 200 pynn.setup(1.0) neuron_params = { @@ -19,7 +25,7 @@ target_data = [] for i in range(1024): - target_data.append( + target_data.append(#1) 0 + 2 * np.sin(2 * i * 2* np.pi / 1024) \ + 2 * np.sin((4 * i * 2* np.pi / 1024)) ) @@ -28,10 +34,10 @@ "v": 0, "v_thresh": 30, # controls firing rate of error neurons "target_data": target_data, - "eta": 0.0001 + "eta": 0.01 } -pynn.setup(timestep=1) +pynn.setup(timestep=1, max_delay=250) input_size = 100 input_pop = pynn.Population(input_size, @@ -55,9 +61,8 @@ label="readout_pop" ) -base_weight = np.random.randn() / np.sqrt(input_size)#0 # start_w = [(-0.5) / float(input_size*3) for i in range(input_size*3)] -start_w = [0 for i in range(input_size*3)] +# start_w = [0 for i in range(input_size*3)] # start_w = [base_weight for i in range(input_size)] eprop_learning = pynn.STDPMechanism( timing_dependence=pynn.extra_models.TimingDependenceEprop(), @@ -72,10 +77,11 @@ w_min=-2.0, w_max=2.0, reg_rate=0.0), weight=start_w_ln, delay=0)#[i for i in range(input_size)])#[0, 0]) +from_list = [[i, 0, weight_distribution(input_size), i] for i in range(input_size)] in_proj = pynn.Projection(input_pop, # neuron, readout_pop, - pynn.FromListConnector([[i, 0, base_weight, i] for i in range(input_size)]), + pynn.FromListConnector(from_list), synapse_type=eprop_learning, label='input_connections', receptor_type='input_connections') @@ -110,7 +116,7 @@ # neuron_res = neuron.get_data('all') readout_res = readout_pop.get_data('all') - +experiment_label = "eta: {} - in size:{}".format(readout_neuron_params["eta"], input_size) # Plot rec neuron output # plt.figure() @@ -128,6 +134,30 @@ # plt.subplot(4,1,4) # plt.plot(in_spikes.segments[0].spiketrains, label='in_spikes') +total_error = 0.0 +cycle_error = [0.0 for i in range(num_repeats)] +for cycle in range(num_repeats): + for time_index in range(1024): + instantaneous_error = np.abs(float( + readout_res.segments[0].filter(name='v')[0][time_index+(cycle*1024)][0]) - target_data[time_index]) + cycle_error[cycle] += instantaneous_error + total_error += instantaneous_error +new_connections = [] +for conn in in_proj.get('weight', 'delay').connections[0]: + if conn[2] > 3: + new_connections.append([conn[0], conn[1], conn[2]-16, conn[3]]) + else: + new_connections.append([conn[0], conn[1], conn[2], conn[3]]) +connection_diff = [] +for i in range(len(from_list)): + connection_diff.append(new_connections[i][2] - from_list[i][2]) +print "original\n", np.array(from_list) +print "new\n", np.array(new_connections) +print "diff\n", np.array(connection_diff) +print experiment_label +print "cycle_error =", cycle_error +print "total error =", total_error + plt.figure() Figure( # Panel(neuron_res.segments[0].filter(name='v')[0], ylabel='Membrane potential (mV)', yticks=True, xticks=True, xlim=(0, runtime)), @@ -152,7 +182,9 @@ Panel(readout_res.segments[0].filter(name='gsyn_inh')[0], ylabel='gsyn_inh', yticks=True, xticks=True, xlim=(0, runtime)), - title="readout neuron" + # Panel(cycle_error, ylabel='cycle error', yticks=True, xticks=True, xlim=(0, num_repeats)), + + title="neuron data for {}".format(experiment_label) ) # plt.show() @@ -173,4 +205,10 @@ plt.show() pynn.end() -print("job done") \ No newline at end of file +print("job done") + +''' +plt.figure() +plt.scatter([1739.792622420481, 1709.5202466031203, 1553.4356064017663, 1416.4611380004644, 1296.884425553637, 1194.575622946901, 1107.4903712199666, 1033.3835733187398, 971.0615212114659, 917.5133821256777, 872.6510081750777, 834.5469131202292, 801.932674085516, 774.9009456814987, 750.1415036479369, 729.6718713370992, 711.7966887307455, 695.9602492993286, 681.0463025990683, 667.6629473587994, 655.1788626995324, 644.2886597336307, 635.1718852422105, 627.580679006996, 620.2473888815699, 612.6768968519833, 606.322878448528, 600.5606061879085, 594.9049025460067, 590.3165570869079, 585.928947121106, 581.7914075857282, 577.8478734542942, 573.9005069692499, 570.2323602781323, 566.9547954787932, 563.5905659961875, 560.5811679842368, 557.9392042159176, 555.1969595994593, 552.4119156301078, 549.6176570604082, 547.2449373430011, 545.09023468779, 542.9563983030412, 540.7090468143625, 538.6339804357523, 536.551477050181, 534.5158960960372, 532.5783979620755, 530.7991372597328, 529.3332156311888, 527.5736331116575, 526.0769687214514, 524.4955884459596, 522.6853104495779, 520.7073037035847, 519.0256202926344, 517.2003068373479, 515.4950684255847, 514.0947884900232, 512.6683798676718, 511.30226238544725, 509.91720766153156, 508.629168621346, 507.28459464673665, 506.1595595993376, 505.0124112046502, 503.7347607616274, 502.5661122235975, 501.247681309569, 499.8701919955723, 498.5544368876105, 497.26920048088226, 496.0205642565987, 494.7760495942485, 493.55579462040606, 492.3615918288879, 491.31921419064423, 490.1703845647036, 488.9975355860119, 487.84398840548664, 486.7731965026004, 485.7425479488428, 484.8627736282796, 484.038425699403, 483.21525583918657, 482.56062135331445, 481.71157503867664, 480.9726149884655, 480.03081703859186, 479.1709425611602, 478.3041092203702, 477.5888913548276, 476.9374040358187, 476.32121311710847, 475.7890564964918, 475.1812203423324, 474.54878441446164, 473.9732929852731], [i for i in range(num_repeats)]) +plt.show() +''' \ No newline at end of file From a0e6c515a880293e3e660d8c228bf618b8b3f5c5 Mon Sep 17 00:00:00 2001 From: such-a-git Date: Fri, 13 Mar 2020 16:40:48 +0000 Subject: [PATCH 29/68] prob connector and fancier prints --- .../learn_sinusoid_from_frozen_poisson.py | 183 +++++++++++------- 1 file changed, 114 insertions(+), 69 deletions(-) diff --git a/eprop_testing/learn_sinusoid_from_frozen_poisson.py b/eprop_testing/learn_sinusoid_from_frozen_poisson.py index e657c181..664dd390 100644 --- a/eprop_testing/learn_sinusoid_from_frozen_poisson.py +++ b/eprop_testing/learn_sinusoid_from_frozen_poisson.py @@ -10,19 +10,23 @@ def weight_distribution(pop_size): # base_weight = 0 return base_weight +def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): + connections = [] + for j in range(post_pop_size): + delay_count = offset + for i in range(pre_pop_size): + if np.random.random() < prob: + conn = [i, j, weight_distribution(pre_pop_size), delay_count] + delay_count += 1 + connections.append(conn) + return connections + np.random.seed(272727) cycle_time = 1024 -num_repeats = 200 +num_repeats = 100 pynn.setup(1.0) -neuron_params = { - "v": 0, - "i_offset": 0.8, - "v_rest": 0, - "w_fb": 0.75 - } - target_data = [] for i in range(1024): target_data.append(#1) @@ -34,12 +38,13 @@ def weight_distribution(pop_size): "v": 0, "v_thresh": 30, # controls firing rate of error neurons "target_data": target_data, - "eta": 0.01 + "eta": 0.5 } pynn.setup(timestep=1, max_delay=250) +pynn.set_number_of_neurons_per_core(8) -input_size = 100 +input_size = 10 input_pop = pynn.Population(input_size, pynn.SpikeSourceArray, {'spike_times': build_input_spike_train(num_repeats, cycle_time, input_size)}, @@ -49,9 +54,19 @@ def weight_distribution(pop_size): # {'spike_times': [np.linspace(0, 1000, 10) for i in range(input_size)]}, # label='input_pop') -# neuron = pynn.Population(1, -# pynn.extra_models.EPropAdaptive(**neuron_params), -# label='eprop_pop') +neuron_pop_size = 10 +neuron_params = { + "v": 0, + "i_offset": 0, + "v_rest": 0, + "w_fb": [np.random.random() for i in range(neuron_pop_size)], + # "B": 0.0, + "beta": 0.0, + "eta": 0.5 + } +neuron = pynn.Population(neuron_pop_size, + pynn.extra_models.EPropAdaptive(**neuron_params), + label='eprop_pop') # Output population readout_pop = pynn.Population(3, # HARDCODED 1 @@ -61,63 +76,81 @@ def weight_distribution(pop_size): label="readout_pop" ) +reg_rate = 0.001 +start_w = [weight_distribution(neuron_pop_size*input_size) for i in range(input_size)] +eprop_learning_neuron = pynn.STDPMechanism( + timing_dependence=pynn.extra_models.TimingDependenceEprop(), + weight_dependence=pynn.extra_models.WeightDependenceEpropReg( + w_min=-2.0, w_max=2.0, reg_rate=reg_rate))#, + # weight=start_w, delay=[i for i in range(neuron_pop_size*input_size)]) + +# from_list_in = [[i, j, weight_distribution(input_size), i+(j*input_size)] for i in range(input_size) for j in range(neuron_pop_size)] +from_list_in = probability_connector(input_size, neuron_pop_size, 1.) +in_proj = pynn.Projection(input_pop, + neuron, + # readout_pop, + pynn.FromListConnector(from_list_in), + # pynn.AllToAllConnector(), + synapse_type=eprop_learning_neuron, + label='input_connections', + receptor_type='input_connections') + + # start_w = [(-0.5) / float(input_size*3) for i in range(input_size*3)] # start_w = [0 for i in range(input_size*3)] # start_w = [base_weight for i in range(input_size)] -eprop_learning = pynn.STDPMechanism( +eprop_learning_output = pynn.STDPMechanism( timing_dependence=pynn.extra_models.TimingDependenceEprop(), weight_dependence=pynn.extra_models.WeightDependenceEpropReg( w_min=-2, w_max=2, reg_rate=0.0))#, # weight=start_w, delay=[i for i in range(input_size)])#[0, 0]) -start_w_ln = -0.5#[-0.5 for i in range(input_size)] -eprop_learning_1n = pynn.STDPMechanism( - timing_dependence=pynn.extra_models.TimingDependenceEprop(), - weight_dependence=pynn.extra_models.WeightDependenceEpropReg( - w_min=-2.0, w_max=2.0, reg_rate=0.0), - weight=start_w_ln, delay=0)#[i for i in range(input_size)])#[0, 0]) +from_list_out = [[i, 0, weight_distribution(input_size), i] for i in range(input_size)] +out_proj = pynn.Projection(neuron, + readout_pop, + # pynn.OneToOneConnector(), + pynn.FromListConnector(from_list_out), + synapse_type=eprop_learning_output, + label='input_connections', + receptor_type='input_connections') -from_list = [[i, 0, weight_distribution(input_size), i] for i in range(input_size)] -in_proj = pynn.Projection(input_pop, - # neuron, - readout_pop, - pynn.FromListConnector(from_list), - synapse_type=eprop_learning, - label='input_connections', - receptor_type='input_connections') +learning_proj = pynn.Projection(readout_pop, + neuron, + pynn.OneToOneConnector(), + pynn.StaticSynapse(weight=[0.5], delay=[0]), + receptor_type='learning_signal') -# out_proj = pynn.Projection(neuron, -# readout_pop, -# pynn.OneToOneConnector(), -# synapse_type=eprop_learning, -# label='input_connections', -# receptor_type='input_connections') -# -# learning_proj = pynn.Projection(readout_pop, -# neuron, -# pynn.OneToOneConnector(), -# pynn.StaticSynapse(weight=[0.5], delay=[0]), -# receptor_type='learning_signal') - -# self_learning_proj = pynn.Projection(readout_pop, -# readout_pop, -# pynn.OneToOneConnector(), -# pynn.StaticSynapse(weight=[0.5], delay=[0]), -# receptor_type='learning_signal') +# start_w = [(-0.5) / float(input_size*3) for i in range(input_size*3)] +# start_w = [0 for i in range(input_size*3)] +# start_w = [base_weight for i in range(input_size)] +eprop_learning_recurrent = pynn.STDPMechanism( + timing_dependence=pynn.extra_models.TimingDependenceEprop(), + weight_dependence=pynn.extra_models.WeightDependenceEpropReg( + w_min=-2, w_max=2, reg_rate=0.0))#, + # weight=start_w, delay=[i for i in range(input_size)])#[0, 0]) + +# from_list_rec = probability_connector(neuron_pop_size, neuron_pop_size, 0.4, offset=100) +# recurrent_proj = pynn.Projection(neuron, +# neuron, +# pynn.FromListConnector(from_list_rec), +# synapse_type=eprop_learning_recurrent, +# label='recurrent_connections', +# receptor_type='recurrent_connections') input_pop.record('spikes') -# neuron.record('all') +neuron.record('all') readout_pop.record('all') +experiment_label = "\neta:{}/{} - in size:{} - reg_rate: {}\n".format(readout_neuron_params["eta"], neuron_params["eta"], input_size, reg_rate) +print experiment_label + runtime = cycle_time * num_repeats pynn.run(runtime) in_spikes = input_pop.get_data('spikes') -# neuron_res = neuron.get_data('all') +neuron_res = neuron.get_data('all') readout_res = readout_pop.get_data('all') -experiment_label = "eta: {} - in size:{}".format(readout_neuron_params["eta"], input_size) - # Plot rec neuron output # plt.figure() # # plt.tight_layout() @@ -142,33 +175,45 @@ def weight_distribution(pop_size): readout_res.segments[0].filter(name='v')[0][time_index+(cycle*1024)][0]) - target_data[time_index]) cycle_error[cycle] += instantaneous_error total_error += instantaneous_error -new_connections = [] -for conn in in_proj.get('weight', 'delay').connections[0]: - if conn[2] > 3: - new_connections.append([conn[0], conn[1], conn[2]-16, conn[3]]) - else: - new_connections.append([conn[0], conn[1], conn[2], conn[3]]) -connection_diff = [] -for i in range(len(from_list)): - connection_diff.append(new_connections[i][2] - from_list[i][2]) -print "original\n", np.array(from_list) -print "new\n", np.array(new_connections) -print "diff\n", np.array(connection_diff) +new_connections_in = in_proj.get('weight', 'delay').connections[0]#[] +# for conn in in_proj.get('weight', 'delay').connections[0]: +# if conn[2] > 3: +# new_connections_in.append([conn[0], conn[1], conn[2]-16, conn[3]]) +# else: +# new_connections_in.append([conn[0], conn[1], conn[2], conn[3]]) +connection_diff_in = [] +for i in range(len(from_list_in)): + connection_diff_in.append(new_connections_in[i][2] - from_list_in[i][2]) +print "Input connections\noriginal\n", np.array(from_list_in) +print "new\n", np.array(new_connections_in) +print "diff\n", np.array(connection_diff_in) +new_connections_out = out_proj.get('weight', 'delay').connections[0]#[] +# for conn in out_proj.get('weight', 'delay').connections[0]: +# if conn[2] > 3: +# new_connections_out.append([conn[0], conn[1], conn[2]-16, conn[3]]) +# else: +# new_connections_out.append([conn[0], conn[1], conn[2], conn[3]]) +connection_diff_out = [] +for i in range(len(from_list_out)): + connection_diff_out.append(new_connections_out[i][2] - from_list_out[i][2]) +print "Output connections\noriginal\n", np.array(from_list_out) +print "new\n", np.array(new_connections_out) +print "diff\n", np.array(connection_diff_out) print experiment_label print "cycle_error =", cycle_error print "total error =", total_error plt.figure() Figure( - # Panel(neuron_res.segments[0].filter(name='v')[0], ylabel='Membrane potential (mV)', yticks=True, xticks=True, xlim=(0, runtime)), - # - # Panel(neuron_res.segments[0].filter(name='gsyn_exc')[0], ylabel='gsyn_exc', yticks=True, xticks=True, xlim=(0, runtime)), - # - # Panel(neuron_res.segments[0].filter(name='gsyn_inh')[0], ylabel='gsyn_inh', yticks=True, xticks=True, xlim=(0, runtime)), + Panel(neuron_res.segments[0].filter(name='v')[0], ylabel='Membrane potential (mV)', yticks=True, xticks=True, xlim=(0, runtime)), + + Panel(neuron_res.segments[0].filter(name='gsyn_exc')[0], ylabel='gsyn_exc', yticks=True, xticks=True, xlim=(0, runtime)), + + Panel(neuron_res.segments[0].filter(name='gsyn_inh')[0], ylabel='gsyn_inh', yticks=True, xticks=True, xlim=(0, runtime)), Panel(in_spikes.segments[0].spiketrains, ylabel='in_spikes', xlabel='in_spikes', yticks=True, xticks=True, xlim=(0, runtime)), - # Panel(neuron_res.segments[0].spiketrains, ylabel='neuron_spikes', xlabel='neuron_spikes', yticks=True, xticks=True, xlim=(0, runtime)), + Panel(neuron_res.segments[0].spiketrains, ylabel='neuron_spikes', xlabel='neuron_spikes', yticks=True, xticks=True, xlim=(0, runtime)), # title="eprop neuron" # ) @@ -209,6 +254,6 @@ def weight_distribution(pop_size): ''' plt.figure() -plt.scatter([1739.792622420481, 1709.5202466031203, 1553.4356064017663, 1416.4611380004644, 1296.884425553637, 1194.575622946901, 1107.4903712199666, 1033.3835733187398, 971.0615212114659, 917.5133821256777, 872.6510081750777, 834.5469131202292, 801.932674085516, 774.9009456814987, 750.1415036479369, 729.6718713370992, 711.7966887307455, 695.9602492993286, 681.0463025990683, 667.6629473587994, 655.1788626995324, 644.2886597336307, 635.1718852422105, 627.580679006996, 620.2473888815699, 612.6768968519833, 606.322878448528, 600.5606061879085, 594.9049025460067, 590.3165570869079, 585.928947121106, 581.7914075857282, 577.8478734542942, 573.9005069692499, 570.2323602781323, 566.9547954787932, 563.5905659961875, 560.5811679842368, 557.9392042159176, 555.1969595994593, 552.4119156301078, 549.6176570604082, 547.2449373430011, 545.09023468779, 542.9563983030412, 540.7090468143625, 538.6339804357523, 536.551477050181, 534.5158960960372, 532.5783979620755, 530.7991372597328, 529.3332156311888, 527.5736331116575, 526.0769687214514, 524.4955884459596, 522.6853104495779, 520.7073037035847, 519.0256202926344, 517.2003068373479, 515.4950684255847, 514.0947884900232, 512.6683798676718, 511.30226238544725, 509.91720766153156, 508.629168621346, 507.28459464673665, 506.1595595993376, 505.0124112046502, 503.7347607616274, 502.5661122235975, 501.247681309569, 499.8701919955723, 498.5544368876105, 497.26920048088226, 496.0205642565987, 494.7760495942485, 493.55579462040606, 492.3615918288879, 491.31921419064423, 490.1703845647036, 488.9975355860119, 487.84398840548664, 486.7731965026004, 485.7425479488428, 484.8627736282796, 484.038425699403, 483.21525583918657, 482.56062135331445, 481.71157503867664, 480.9726149884655, 480.03081703859186, 479.1709425611602, 478.3041092203702, 477.5888913548276, 476.9374040358187, 476.32121311710847, 475.7890564964918, 475.1812203423324, 474.54878441446164, 473.9732929852731], [i for i in range(num_repeats)]) +plt.scatter([i for i in range(num_repeats)], cycle_error) plt.show() ''' \ No newline at end of file From 0e950cf65cd47c2b75f304aabf4ed69927a74d54 Mon Sep 17 00:00:00 2001 From: such-a-git Date: Tue, 17 Mar 2020 14:34:58 +0000 Subject: [PATCH 30/68] changes to prints and some minor reformatting --- .../learn_sinusoid_from_frozen_poisson.py | 48 ++++++++++++------- 1 file changed, 31 insertions(+), 17 deletions(-) diff --git a/eprop_testing/learn_sinusoid_from_frozen_poisson.py b/eprop_testing/learn_sinusoid_from_frozen_poisson.py index 664dd390..09777dfd 100644 --- a/eprop_testing/learn_sinusoid_from_frozen_poisson.py +++ b/eprop_testing/learn_sinusoid_from_frozen_poisson.py @@ -12,14 +12,19 @@ def weight_distribution(pop_size): def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): connections = [] + max_syn_per_neuron = 0 for j in range(post_pop_size): + neuron_syn_count = 0 delay_count = offset for i in range(pre_pop_size): if np.random.random() < prob: + neuron_syn_count += 1 conn = [i, j, weight_distribution(pre_pop_size), delay_count] delay_count += 1 connections.append(conn) - return connections + if neuron_syn_count > max_syn_per_neuron: + max_syn_per_neuron = neuron_syn_count + return connections, max_syn_per_neuron np.random.seed(272727) @@ -38,13 +43,13 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): "v": 0, "v_thresh": 30, # controls firing rate of error neurons "target_data": target_data, - "eta": 0.5 + "eta": 0.05 } -pynn.setup(timestep=1, max_delay=250) -pynn.set_number_of_neurons_per_core(8) +pynn.setup(timestep=1) +# pynn.set_number_of_neurons_per_core(pynn.IF_curr_exp(), 8) -input_size = 10 +input_size = 100 input_pop = pynn.Population(input_size, pynn.SpikeSourceArray, {'spike_times': build_input_spike_train(num_repeats, cycle_time, input_size)}, @@ -54,15 +59,15 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): # {'spike_times': [np.linspace(0, 1000, 10) for i in range(input_size)]}, # label='input_pop') -neuron_pop_size = 10 +neuron_pop_size = 100 neuron_params = { "v": 0, "i_offset": 0, "v_rest": 0, - "w_fb": [np.random.random() for i in range(neuron_pop_size)], + "w_fb": [(np.random.random() / 2) + 0.5 for i in range(neuron_pop_size)], # "B": 0.0, "beta": 0.0, - "eta": 0.5 + "eta": 0.05 } neuron = pynn.Population(neuron_pop_size, pynn.extra_models.EPropAdaptive(**neuron_params), @@ -76,7 +81,7 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): label="readout_pop" ) -reg_rate = 0.001 +reg_rate = 0.05 start_w = [weight_distribution(neuron_pop_size*input_size) for i in range(input_size)] eprop_learning_neuron = pynn.STDPMechanism( timing_dependence=pynn.extra_models.TimingDependenceEprop(), @@ -85,7 +90,11 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): # weight=start_w, delay=[i for i in range(neuron_pop_size*input_size)]) # from_list_in = [[i, j, weight_distribution(input_size), i+(j*input_size)] for i in range(input_size) for j in range(neuron_pop_size)] -from_list_in = probability_connector(input_size, neuron_pop_size, 1.) +from_list_in, max_syn_per_neuron = probability_connector(input_size, neuron_pop_size, 1.) +if max_syn_per_neuron > 250: + Exception +else: + print "max number fo synapses per neuron:", max_syn_per_neuron in_proj = pynn.Projection(input_pop, neuron, # readout_pop, @@ -175,24 +184,29 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): readout_res.segments[0].filter(name='v')[0][time_index+(cycle*1024)][0]) - target_data[time_index]) cycle_error[cycle] += instantaneous_error total_error += instantaneous_error -new_connections_in = in_proj.get('weight', 'delay').connections[0]#[] -# for conn in in_proj.get('weight', 'delay').connections[0]: -# if conn[2] > 3: -# new_connections_in.append([conn[0], conn[1], conn[2]-16, conn[3]]) -# else: -# new_connections_in.append([conn[0], conn[1], conn[2], conn[3]]) +new_connections_in = []#in_proj.get('weight', 'delay').connections[0]#[] +for partition in in_proj.get('weight', 'delay').connections: + for conn in partition: + new_connections_in.append(conn) +new_connections_in.sort(key=lambda x:x[1]) +from_list_in.sort(key=lambda x:x[1]) connection_diff_in = [] for i in range(len(from_list_in)): connection_diff_in.append(new_connections_in[i][2] - from_list_in[i][2]) print "Input connections\noriginal\n", np.array(from_list_in) print "new\n", np.array(new_connections_in) print "diff\n", np.array(connection_diff_in) -new_connections_out = out_proj.get('weight', 'delay').connections[0]#[] +new_connections_out = []#out_proj.get('weight', 'delay').connections[0]#[] +for partition in out_proj.get('weight', 'delay').connections: + for conn in partition: + new_connections_out.append(conn) # for conn in out_proj.get('weight', 'delay').connections[0]: # if conn[2] > 3: # new_connections_out.append([conn[0], conn[1], conn[2]-16, conn[3]]) # else: # new_connections_out.append([conn[0], conn[1], conn[2], conn[3]]) +new_connections_out.sort(key=lambda x:x[1]) +from_list_out.sort(key=lambda x:x[1]) connection_diff_out = [] for i in range(len(from_list_out)): connection_diff_out.append(new_connections_out[i][2] - from_list_out[i][2]) From cac91ed6eef97d408a154d0e8b73fa9e7383f087 Mon Sep 17 00:00:00 2001 From: such-a-git Date: Thu, 19 Mar 2020 16:40:54 +0000 Subject: [PATCH 31/68] cleaned up mainly --- .../learn_sinusoid_from_frozen_poisson.py | 119 ++++++------------ 1 file changed, 35 insertions(+), 84 deletions(-) diff --git a/eprop_testing/learn_sinusoid_from_frozen_poisson.py b/eprop_testing/learn_sinusoid_from_frozen_poisson.py index 09777dfd..e956a92b 100644 --- a/eprop_testing/learn_sinusoid_from_frozen_poisson.py +++ b/eprop_testing/learn_sinusoid_from_frozen_poisson.py @@ -29,7 +29,7 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): np.random.seed(272727) cycle_time = 1024 -num_repeats = 100 +num_repeats = 300 pynn.setup(1.0) target_data = [] @@ -39,25 +39,22 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): + 2 * np.sin((4 * i * 2* np.pi / 1024)) ) +synapse_eta = 0.01 + readout_neuron_params = { "v": 0, "v_thresh": 30, # controls firing rate of error neurons "target_data": target_data, - "eta": 0.05 + "eta": synapse_eta } pynn.setup(timestep=1) -# pynn.set_number_of_neurons_per_core(pynn.IF_curr_exp(), 8) input_size = 100 input_pop = pynn.Population(input_size, pynn.SpikeSourceArray, {'spike_times': build_input_spike_train(num_repeats, cycle_time, input_size)}, label='input_pop') -# input_pop = pynn.Population(input_size, -# pynn.SpikeSourceArray, -# {'spike_times': [np.linspace(0, 1000, 10) for i in range(input_size)]}, -# label='input_pop') neuron_pop_size = 100 neuron_params = { @@ -67,7 +64,7 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): "w_fb": [(np.random.random() / 2) + 0.5 for i in range(neuron_pop_size)], # "B": 0.0, "beta": 0.0, - "eta": 0.05 + "eta": 0#synapse_eta / 4. } neuron = pynn.Population(neuron_pop_size, pynn.extra_models.EPropAdaptive(**neuron_params), @@ -81,38 +78,29 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): label="readout_pop" ) -reg_rate = 0.05 +reg_rate = 3 start_w = [weight_distribution(neuron_pop_size*input_size) for i in range(input_size)] eprop_learning_neuron = pynn.STDPMechanism( timing_dependence=pynn.extra_models.TimingDependenceEprop(), weight_dependence=pynn.extra_models.WeightDependenceEpropReg( - w_min=-2.0, w_max=2.0, reg_rate=reg_rate))#, - # weight=start_w, delay=[i for i in range(neuron_pop_size*input_size)]) + w_min=-2.0, w_max=2.0, reg_rate=reg_rate)) -# from_list_in = [[i, j, weight_distribution(input_size), i+(j*input_size)] for i in range(input_size) for j in range(neuron_pop_size)] -from_list_in, max_syn_per_neuron = probability_connector(input_size, neuron_pop_size, 1.) -if max_syn_per_neuron > 250: +from_list_in, max_syn_per_input = probability_connector(input_size, neuron_pop_size, 1.) +if max_syn_per_input > 100: Exception else: - print "max number fo synapses per neuron:", max_syn_per_neuron + print "max number of synapses per neuron:", max_syn_per_input in_proj = pynn.Projection(input_pop, neuron, - # readout_pop, pynn.FromListConnector(from_list_in), - # pynn.AllToAllConnector(), synapse_type=eprop_learning_neuron, label='input_connections', receptor_type='input_connections') - -# start_w = [(-0.5) / float(input_size*3) for i in range(input_size*3)] -# start_w = [0 for i in range(input_size*3)] -# start_w = [base_weight for i in range(input_size)] eprop_learning_output = pynn.STDPMechanism( timing_dependence=pynn.extra_models.TimingDependenceEprop(), weight_dependence=pynn.extra_models.WeightDependenceEpropReg( - w_min=-2, w_max=2, reg_rate=0.0))#, - # weight=start_w, delay=[i for i in range(input_size)])#[0, 0]) + w_min=-2, w_max=2, reg_rate=0.0)) from_list_out = [[i, 0, weight_distribution(input_size), i] for i in range(input_size)] out_proj = pynn.Projection(neuron, @@ -129,17 +117,16 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): pynn.StaticSynapse(weight=[0.5], delay=[0]), receptor_type='learning_signal') - -# start_w = [(-0.5) / float(input_size*3) for i in range(input_size*3)] -# start_w = [0 for i in range(input_size*3)] -# start_w = [base_weight for i in range(input_size)] -eprop_learning_recurrent = pynn.STDPMechanism( - timing_dependence=pynn.extra_models.TimingDependenceEprop(), - weight_dependence=pynn.extra_models.WeightDependenceEpropReg( - w_min=-2, w_max=2, reg_rate=0.0))#, - # weight=start_w, delay=[i for i in range(input_size)])#[0, 0]) - -# from_list_rec = probability_connector(neuron_pop_size, neuron_pop_size, 0.4, offset=100) +# eprop_learning_recurrent = pynn.STDPMechanism( +# timing_dependence=pynn.extra_models.TimingDependenceEprop(), +# weight_dependence=pynn.extra_models.WeightDependenceEpropReg( +# w_min=-2, w_max=2, reg_rate=reg_rate)) +# +# from_list_rec, max_syn_per_rec = probability_connector(neuron_pop_size, neuron_pop_size, 0.4, offset=100) +# if max_syn_per_rec > 150: +# Exception +# else: +# print "max number of synapses per neuron:", max_syn_per_rec # recurrent_proj = pynn.Projection(neuron, # neuron, # pynn.FromListConnector(from_list_rec), @@ -147,35 +134,20 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): # label='recurrent_connections', # receptor_type='recurrent_connections') -input_pop.record('spikes') -neuron.record('all') +# input_pop.record('spikes') +neuron.record('spikes') +neuron.record(['gsyn_exc', 'v', 'gsyn_inh'], indexes=[0, 1, 2, 3]) readout_pop.record('all') -experiment_label = "\neta:{}/{} - in size:{} - reg_rate: {}\n".format(readout_neuron_params["eta"], neuron_params["eta"], input_size, reg_rate) -print experiment_label +experiment_label = "eta:{}/{} - in size:{} - reg_rate: {}".format(readout_neuron_params["eta"], neuron_params["eta"], input_size, reg_rate) +print "\n", experiment_label, "\n" runtime = cycle_time * num_repeats pynn.run(runtime) -in_spikes = input_pop.get_data('spikes') +# in_spikes = input_pop.get_data('spikes') neuron_res = neuron.get_data('all') readout_res = readout_pop.get_data('all') -# Plot rec neuron output -# plt.figure() -# # plt.tight_layout() -# -# plt.subplot(4, 1, 1) -# plt.plot(neuron_res.segments[0].filter(name='v')[0].magnitude, label='Membrane potential (mV)') -# -# plt.subplot(4, 1, 2) -# plt.plot(neuron_res.segments[0].filter(name='gsyn_exc')[0].magnitude, label='gsyn_exc') -# -# plt.subplot(4, 1, 3) -# plt.plot(neuron_res.segments[0].filter(name='gsyn_inh')[0].magnitude, label='gsyn_inh') -# -# plt.subplot(4,1,4) -# plt.plot(in_spikes.segments[0].spiketrains, label='in_spikes') - total_error = 0.0 cycle_error = [0.0 for i in range(num_repeats)] for cycle in range(num_repeats): @@ -184,6 +156,7 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): readout_res.segments[0].filter(name='v')[0][time_index+(cycle*1024)][0]) - target_data[time_index]) cycle_error[cycle] += instantaneous_error total_error += instantaneous_error + new_connections_in = []#in_proj.get('weight', 'delay').connections[0]#[] for partition in in_proj.get('weight', 'delay').connections: for conn in partition: @@ -196,15 +169,11 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): print "Input connections\noriginal\n", np.array(from_list_in) print "new\n", np.array(new_connections_in) print "diff\n", np.array(connection_diff_in) + new_connections_out = []#out_proj.get('weight', 'delay').connections[0]#[] for partition in out_proj.get('weight', 'delay').connections: for conn in partition: new_connections_out.append(conn) -# for conn in out_proj.get('weight', 'delay').connections[0]: -# if conn[2] > 3: -# new_connections_out.append([conn[0], conn[1], conn[2]-16, conn[3]]) -# else: -# new_connections_out.append([conn[0], conn[1], conn[2], conn[3]]) new_connections_out.sort(key=lambda x:x[1]) from_list_out.sort(key=lambda x:x[1]) connection_diff_out = [] @@ -225,42 +194,23 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): Panel(neuron_res.segments[0].filter(name='gsyn_inh')[0], ylabel='gsyn_inh', yticks=True, xticks=True, xlim=(0, runtime)), - Panel(in_spikes.segments[0].spiketrains, ylabel='in_spikes', xlabel='in_spikes', yticks=True, xticks=True, xlim=(0, runtime)), + # Panel(in_spikes.segments[0].spiketrains, ylabel='in_spikes', xlabel='in_spikes', yticks=True, xticks=True, xlim=(0, runtime)), Panel(neuron_res.segments[0].spiketrains, ylabel='neuron_spikes', xlabel='neuron_spikes', yticks=True, xticks=True, xlim=(0, runtime)), -# title="eprop neuron" -# ) -# plt.show() -# -# plt.figure() -# Figure( Panel(readout_res.segments[0].filter(name='v')[0], ylabel='Membrane potential (mV)', yticks=True, xticks=True, xlim=(0, runtime)), Panel(readout_res.segments[0].filter(name='gsyn_exc')[0], ylabel='gsyn_exc', yticks=True, xticks=True, xlim=(0, runtime)), Panel(readout_res.segments[0].filter(name='gsyn_inh')[0], ylabel='gsyn_inh', yticks=True, xticks=True, xlim=(0, runtime)), - # Panel(cycle_error, ylabel='cycle error', yticks=True, xticks=True, xlim=(0, num_repeats)), - title="neuron data for {}".format(experiment_label) ) -# plt.show() - -# Plot Readout output -# plt.figure() -# # plt.tight_layout() -# -# plt.subplot(3, 1, 1) -# plt.plot(readout_res.segments[0].filter(name='v')[0].magnitude, label='Membrane potential (mV)') -# -# plt.subplot(3, 1, 2) -# plt.plot(readout_res.segments[0].filter(name='gsyn_exc')[0].magnitude, label='gsyn_exc') -# -# plt.subplot(3, 1, 3) -# plt.plot(readout_res.segments[0].filter(name='gsyn_inh')[0].magnitude, label='gsyn_inh') - +plt.show() +plt.figure() +plt.scatter([i for i in range(num_repeats)], cycle_error) +plt.title(experiment_label) plt.show() pynn.end() @@ -269,5 +219,6 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): ''' plt.figure() plt.scatter([i for i in range(num_repeats)], cycle_error) +plt.title(experiment_label) plt.show() ''' \ No newline at end of file From 3c6e3bc518d765467c53f0140970bd5511f55efa Mon Sep 17 00:00:00 2001 From: such-a-git Date: Thu, 19 Mar 2020 16:49:36 +0000 Subject: [PATCH 32/68] File which only performs learning on sinusoid readout, no eprop neuron in the mix --- eprop_testing/learn_sinusoid_only_readout.py | 145 +++++++++++++++++++ 1 file changed, 145 insertions(+) create mode 100644 eprop_testing/learn_sinusoid_only_readout.py diff --git a/eprop_testing/learn_sinusoid_only_readout.py b/eprop_testing/learn_sinusoid_only_readout.py new file mode 100644 index 00000000..469c8c47 --- /dev/null +++ b/eprop_testing/learn_sinusoid_only_readout.py @@ -0,0 +1,145 @@ +import spynnaker8 as pynn +import numpy as np +import matplotlib.pyplot as plt +from frozen_poisson import build_input_spike_train +from pyNN.random import NumpyRNG, RandomDistribution +from pyNN.utility.plotting import Figure, Panel + +def weight_distribution(pop_size): + base_weight = np.random.randn() / np.sqrt(pop_size) + # base_weight = 0 + return base_weight + +def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): + connections = [] + max_syn_per_neuron = 0 + for j in range(post_pop_size): + neuron_syn_count = 0 + delay_count = offset + for i in range(pre_pop_size): + if np.random.random() < prob: + neuron_syn_count += 1 + conn = [i, j, weight_distribution(pre_pop_size), delay_count] + delay_count += 1 + connections.append(conn) + if neuron_syn_count > max_syn_per_neuron: + max_syn_per_neuron = neuron_syn_count + return connections, max_syn_per_neuron + +np.random.seed(272727) + +cycle_time = 1024 +num_repeats = 200 +pynn.setup(1.0) + +target_data = [] +for i in range(1024): + target_data.append(#1) + 0 + 2 * np.sin(2 * i * 2* np.pi / 1024) \ + + 2 * np.sin((4 * i * 2* np.pi / 1024)) + ) + +synapse_eta = 0.01 + +readout_neuron_params = { + "v": 0, + "v_thresh": 30, # controls firing rate of error neurons + "target_data": target_data, + "eta": synapse_eta + } + +pynn.setup(timestep=1) + +input_size = 100 +input_pop = pynn.Population(input_size, + pynn.SpikeSourceArray, + {'spike_times': build_input_spike_train(num_repeats, cycle_time, input_size)}, + label='input_pop') + +# Output population +readout_pop = pynn.Population(3, # HARDCODED 1 + pynn.extra_models.SinusoidReadout( + **readout_neuron_params + ), + label="readout_pop" + ) + +reg_rate = 0.00 +eprop_learning_neuron = pynn.STDPMechanism( + timing_dependence=pynn.extra_models.TimingDependenceEprop(), + weight_dependence=pynn.extra_models.WeightDependenceEpropReg( + w_min=-2.0, w_max=2.0, reg_rate=reg_rate)) + +from_list_in, max_syn_per_neuron = probability_connector(input_size, 1, 1.) +if max_syn_per_neuron > 250: + Exception +else: + print "max number fo synapses per neuron:", max_syn_per_neuron +in_proj = pynn.Projection(input_pop, + readout_pop, + pynn.FromListConnector(from_list_in), + # pynn.AllToAllConnector(), + synapse_type=eprop_learning_neuron, + label='input_connections', + receptor_type='input_connections') + +input_pop.record('spikes') +readout_pop.record('all') + +experiment_label = "eta:{} - in size:{} - reg_rate: {}".format(readout_neuron_params["eta"], input_size, reg_rate) +print "\n", experiment_label, "\n" + +runtime = cycle_time * num_repeats +pynn.run(runtime) +in_spikes = input_pop.get_data('spikes') +readout_res = readout_pop.get_data('all') + +total_error = 0.0 +cycle_error = [0.0 for i in range(num_repeats)] +for cycle in range(num_repeats): + for time_index in range(1024): + instantaneous_error = np.abs(float( + readout_res.segments[0].filter(name='v')[0][time_index+(cycle*1024)][0]) - target_data[time_index]) + cycle_error[cycle] += instantaneous_error + total_error += instantaneous_error +new_connections_in = []#in_proj.get('weight', 'delay').connections[0]#[] +for partition in in_proj.get('weight', 'delay').connections: + for conn in partition: + new_connections_in.append(conn) +new_connections_in.sort(key=lambda x:x[1]) +from_list_in.sort(key=lambda x:x[1]) +connection_diff_in = [] +for i in range(len(from_list_in)): + connection_diff_in.append(new_connections_in[i][2] - from_list_in[i][2]) +print "Input connections\noriginal\n", np.array(from_list_in) +print "new\n", np.array(new_connections_in) +print "diff\n", np.array(connection_diff_in) +print experiment_label +print "cycle_error =", cycle_error +print "total error =", total_error + +plt.figure() +Figure( + + Panel(in_spikes.segments[0].spiketrains, ylabel='in_spikes', xlabel='in_spikes', yticks=True, xticks=True, xlim=(0, runtime)), + + Panel(readout_res.segments[0].filter(name='v')[0], ylabel='Membrane potential (mV)', yticks=True, xticks=True, xlim=(0, runtime)), + + Panel(readout_res.segments[0].filter(name='gsyn_exc')[0], ylabel='gsyn_exc', yticks=True, xticks=True, xlim=(0, runtime)), + + Panel(readout_res.segments[0].filter(name='gsyn_inh')[0], ylabel='gsyn_inh', yticks=True, xticks=True, xlim=(0, runtime)), + + title="neuron data for {}".format(experiment_label) +) + +plt.show() + +pynn.end() +print("job done") + +''' +plt.figure() +plt.scatter([i for i in range(num_repeats)], cycle_error) +plt.title(experiment_label) +plt.show() +''' \ No newline at end of file From c6ea10b729b4523a4c55b952c312eb329396ca72 Mon Sep 17 00:00:00 2001 From: such-a-git Date: Thu, 26 Mar 2020 14:44:04 +0000 Subject: [PATCH 33/68] updates to the way spikes are input into network, cleaner prints and more stats printed, --- eprop_testing/frozen_poisson.py | 133 ++++++++++++++++++ .../learn_sinusoid_from_frozen_poisson.py | 86 +++++++---- eprop_testing/learn_sinusoid_only_readout.py | 14 +- 3 files changed, 206 insertions(+), 27 deletions(-) diff --git a/eprop_testing/frozen_poisson.py b/eprop_testing/frozen_poisson.py index 5c169829..c38bf39a 100644 --- a/eprop_testing/frozen_poisson.py +++ b/eprop_testing/frozen_poisson.py @@ -124,4 +124,137 @@ def build_input_spike_train(num_repeats, cycle_time, pop_size=None): new_iter = [i + r * cycle_time for i in spikes[p]] cycled_spikes[p].extend(new_iter) + return cycled_spikes + +def frozen_poisson_variable_hz(num_repeats, cycle_time, split, speed_up, pop_size=None): + pattern = [ + [7.0, 14.0, 26.0, 27.0, 42.0, 83.0, 93.0, 99.0, 109.0, 110.0, 144.0, 151.0, 153.0, 164.0, 175.0, 233.0, 245.0, 299.0, 303.0, 354.0, 355.0, 356.0, 432.0, 439.0, 447.0, 491.0, 553.0, 560.0, 583.0, 590.0, 645.0, 659.0, 667.0, 692.0, 693.0, 695.0, 714.0, 715.0, 728.0, 739.0, 756.0, 796.0, 822.0, 825.0, 829.0, 834.0, 862.0, 875.0, 880.0, 896.0, 909.0, 912.0, 940.0, 964.0, 1006.0], + [45.0, 63.0, 66.0, 88.0, 125.0, 142.0, 161.0, 167.0, 183.0, 188.0, 194.0, 207.0, 208.0, 235.0, 236.0, 252.0, 296.0, 346.0, 360.0, 384.0, 393.0, 396.0, 412.0, 474.0, 522.0, 543.0, 547.0, 616.0, 626.0, 657.0, 672.0, 681.0, 697.0, 706.0, 735.0, 770.0, 771.0, 774.0, 809.0, 811.0, 840.0, 847.0, 875.0, 965.0, 984.0, 989.0], + [26.0, 71.0, 79.0, 89.0, 94.0, 122.0, 123.0, 131.0, 138.0, 150.0, 156.0, 172.0, 195.0, 197.0, 220.0, 221.0, 246.0, 250.0, 251.0, 271.0, 272.0, 282.0, 310.0, 320.0, 351.0, 352.0, 355.0, 423.0, 493.0, 510.0, 523.0, 556.0, 577.0, 622.0, 657.0, 708.0, 748.0, 760.0, 766.0, 792.0, 835.0, 854.0, 890.0, 896.0, 898.0, 919.0, 934.0, 947.0, 948.0, 994.0, 1005.0, 1010.0, 1019.0, 1023.0], + [10.0, 21.0, 24.0, 27.0, 35.0, 47.0, 63.0, 64.0, 75.0, 90.0, 127.0, 129.0, 139.0, 145.0, 154.0, 221.0, 224.0, 256.0, 261.0, 262.0, 303.0, 305.0, 322.0, 327.0, 352.0, 369.0, 377.0, 397.0, 408.0, 413.0, 419.0, 437.0, 487.0, 489.0, 499.0, 522.0, 539.0, 607.0, 625.0, 626.0, 633.0, 649.0, 699.0, 701.0, 702.0, 724.0, 734.0, 758.0, 819.0, 835.0, 836.0, 897.0, 930.0, 954.0, 990.0, 1007.0, 1018.0], + [25.0, 31.0, 38.0, 66.0, 68.0, 81.0, 93.0, 111.0, 154.0, 163.0, 165.0, 184.0, 220.0, 272.0, 307.0, 316.0, 319.0, 335.0, 343.0, 392.0, 409.0, 459.0, 463.0, 483.0, 498.0, 507.0, 539.0, 543.0, 558.0, 559.0, 574.0, 579.0, 604.0, 605.0, 619.0, 622.0, 624.0, 626.0, 635.0, 640.0, 689.0, 704.0, 735.0, 740.0, 751.0, 758.0, 767.0, 782.0, 825.0, 836.0, 858.0, 868.0, 874.0, 886.0, 932.0, 952.0, 968.0, 970.0, 980.0, 989.0, 997.0], + [9.0, 18.0, 39.0, 43.0, 61.0, 76.0, 85.0, 121.0, 129.0, 164.0, 185.0, 227.0, 259.0, 283.0, 289.0, 335.0, 351.0, 384.0, 387.0, 392.0, 401.0, 402.0, 408.0, 413.0, 428.0, 435.0, 436.0, 451.0, 458.0, 461.0, 464.0, 476.0, 479.0, 489.0, 500.0, 518.0, 539.0, 551.0, 584.0, 589.0, 590.0, 602.0, 604.0, 605.0, 626.0, 632.0, 640.0, 641.0, 665.0, 707.0, 713.0, 730.0, 749.0, 784.0, 789.0, 837.0, 841.0, 863.0, 867.0, 870.0, 887.0, 935.0, 953.0, 956.0, 968.0, 970.0, 974.0, 984.0, 991.0, 1015.0, 1020.0, 1022.0], + [34.0, 35.0, 38.0, 77.0, 85.0, 90.0, 102.0, 122.0, 162.0, 178.0, 186.0, 187.0, 195.0, 196.0, 200.0, 205.0, 226.0, 278.0, 279.0, 284.0, 294.0, 316.0, 377.0, 402.0, 443.0, 450.0, 478.0, 497.0, 501.0, 509.0, 542.0, 560.0, 561.0, 562.0, 573.0, 590.0, 591.0, 597.0, 604.0, 608.0, 620.0, 631.0, 633.0, 654.0, 667.0, 719.0, 726.0, 739.0, 740.0, 758.0, 766.0, 767.0, 786.0, 792.0, 803.0, 806.0, 808.0, 811.0, 830.0, 842.0, 855.0, 856.0, 863.0, 878.0, 880.0, 889.0, 890.0, 906.0, 928.0, 958.0, 999.0, 1001.0, 1007.0, 1010.0], + [7.0, 31.0, 36.0, 59.0, 109.0, 110.0, 119.0, 121.0, 124.0, 126.0, 137.0, 185.0, 201.0, 218.0, 240.0, 261.0, 281.0, 306.0, 311.0, 342.0, 344.0, 349.0, 357.0, 365.0, 370.0, 380.0, 466.0, 468.0, 470.0, 489.0, 497.0, 572.0, 578.0, 584.0, 587.0, 612.0, 629.0, 657.0, 664.0, 698.0, 707.0, 711.0, 731.0, 735.0, 743.0, 773.0, 838.0, 839.0, 917.0, 923.0, 924.0, 992.0], + [17.0, 25.0, 28.0, 53.0, 70.0, 118.0, 125.0, 128.0, 142.0, 189.0, 190.0, 205.0, 224.0, 237.0, 292.0, 356.0, 357.0, 408.0, 416.0, 448.0, 459.0, 542.0, 615.0, 625.0, 629.0, 653.0, 669.0, 677.0, 716.0, 728.0, 751.0, 767.0, 772.0, 775.0, 857.0, 995.0, 1003.0, 1012.0], + [32.0, 34.0, 43.0, 70.0, 95.0, 130.0, 134.0, 139.0, 148.0, 150.0, 160.0, 163.0, 196.0, 257.0, 275.0, 302.0, 306.0, 322.0, 332.0, 354.0, 357.0, 364.0, 405.0, 432.0, 471.0, 472.0, 491.0, 516.0, 558.0, 563.0, 565.0, 577.0, 583.0, 584.0, 617.0, 626.0, 684.0, 725.0, 750.0, 768.0, 793.0, 794.0, 815.0, 821.0, 832.0, 869.0, 886.0, 894.0, 922.0, 938.0, 939.0, 968.0], + [30.0, 56.0, 59.0, 80.0, 109.0, 151.0, 159.0, 161.0, 164.0, 166.0, 191.0, 223.0, 309.0, 345.0, 378.0, 407.0, 434.0, 459.0, 470.0, 490.0, 585.0, 602.0, 634.0, 651.0, 713.0, 714.0, 779.0, 780.0, 807.0, 815.0, 829.0, 836.0, 857.0, 864.0, 898.0, 921.0, 926.0, 950.0, 969.0, 983.0, 989.0, 992.0], + [30.0, 31.0, 33.0, 63.0, 81.0, 100.0, 117.0, 128.0, 155.0, 157.0, 158.0, 192.0, 232.0, 283.0, 286.0, 295.0, 312.0, 319.0, 354.0, 362.0, 363.0, 369.0, 409.0, 452.0, 520.0, 578.0, 623.0, 624.0, 633.0, 656.0, 660.0, 681.0, 690.0, 693.0, 700.0, 715.0, 728.0, 744.0, 762.0, 781.0, 804.0, 815.0, 837.0, 867.0, 877.0, 944.0, 950.0, 957.0, 963.0, 970.0, 974.0], + [41.0, 48.0, 52.0, 91.0, 92.0, 152.0, 160.0, 163.0, 184.0, 185.0, 246.0, 251.0, 265.0, 268.0, 281.0, 294.0, 305.0, 312.0, 338.0, 346.0, 383.0, 407.0, 417.0, 437.0, 440.0, 448.0, 502.0, 510.0, 532.0, 541.0, 546.0, 573.0, 582.0, 607.0, 623.0, 742.0, 771.0, 785.0, 818.0, 828.0, 846.0, 896.0, 934.0, 965.0, 1005.0], + [34.0, 79.0, 111.0, 121.0, 133.0, 199.0, 207.0, 240.0, 243.0, 263.0, 295.0, 297.0, 330.0, 371.0, 378.0, 382.0, 419.0, 443.0, 469.0, 487.0, 492.0, 499.0, 509.0, 518.0, 525.0, 584.0, 598.0, 617.0, 624.0, 630.0, 634.0, 647.0, 651.0, 678.0, 691.0, 696.0, 703.0, 736.0, 772.0, 830.0, 840.0, 844.0, 858.0, 875.0, 1014.0], + [23.0, 51.0, 60.0, 131.0, 135.0, 147.0, 168.0, 171.0, 181.0, 184.0, 207.0, 210.0, 231.0, 270.0, 271.0, 285.0, 302.0, 309.0, 347.0, 356.0, 377.0, 385.0, 390.0, 396.0, 403.0, 436.0, 455.0, 468.0, 493.0, 515.0, 522.0, 533.0, 622.0, 653.0, 691.0, 692.0, 695.0, 710.0, 729.0, 736.0, 797.0, 800.0, 803.0, 815.0, 844.0, 848.0, 850.0, 859.0, 865.0, 878.0, 902.0, 924.0, 956.0, 967.0, 999.0, 1001.0, 1008.0, 1014.0], + [3.0, 38.0, 59.0, 74.0, 79.0, 81.0, 104.0, 116.0, 120.0, 129.0, 153.0, 170.0, 202.0, 217.0, 242.0, 244.0, 253.0, 254.0, 286.0, 287.0, 289.0, 350.0, 351.0, 390.0, 394.0, 403.0, 410.0, 433.0, 461.0, 464.0, 473.0, 476.0, 478.0, 491.0, 542.0, 543.0, 544.0, 586.0, 591.0, 595.0, 625.0, 627.0, 630.0, 659.0, 668.0, 676.0, 696.0, 702.0, 712.0, 733.0, 776.0, 777.0, 781.0, 782.0, 874.0, 877.0, 919.0, 990.0, 1006.0, 1007.0, 1010.0, 1016.0], + [4.0, 18.0, 40.0, 77.0, 119.0, 156.0, 160.0, 198.0, 243.0, 254.0, 269.0, 288.0, 311.0, 316.0, 347.0, 353.0, 354.0, 372.0, 373.0, 377.0, 413.0, 419.0, 466.0, 467.0, 471.0, 560.0, 566.0, 567.0, 579.0, 616.0, 644.0, 647.0, 667.0, 712.0, 713.0, 752.0, 753.0, 776.0, 783.0, 793.0, 812.0, 865.0, 881.0, 882.0, 884.0, 911.0, 912.0, 925.0, 941.0, 963.0, 978.0, 997.0, 1018.0], + [1.0, 32.0, 34.0, 60.0, 72.0, 95.0, 109.0, 116.0, 124.0, 165.0, 197.0, 205.0, 233.0, 243.0, 247.0, 258.0, 267.0, 274.0, 283.0, 302.0, 337.0, 350.0, 366.0, 368.0, 457.0, 462.0, 490.0, 492.0, 506.0, 571.0, 590.0, 603.0, 613.0, 712.0, 730.0, 736.0, 768.0, 788.0, 799.0, 803.0, 807.0, 808.0, 848.0, 854.0, 876.0, 878.0, 923.0, 958.0, 965.0], + [1.0, 78.0, 114.0, 119.0, 131.0, 155.0, 177.0, 198.0, 200.0, 202.0, 205.0, 241.0, 258.0, 272.0, 280.0, 288.0, 290.0, 291.0, 300.0, 323.0, 326.0, 328.0, 373.0, 375.0, 376.0, 380.0, 389.0, 390.0, 393.0, 403.0, 445.0, 456.0, 465.0, 476.0, 480.0, 481.0, 485.0, 507.0, 543.0, 563.0, 569.0, 597.0, 676.0, 707.0, 711.0, 734.0, 742.0, 777.0, 778.0, 783.0, 787.0, 802.0, 825.0, 830.0, 844.0, 858.0, 880.0, 932.0, 973.0, 1008.0, 1012.0, 1016.0], + [20.0, 23.0, 29.0, 47.0, 48.0, 51.0, 59.0, 143.0, 175.0, 176.0, 193.0, 197.0, 198.0, 202.0, 206.0, 224.0, 231.0, 232.0, 244.0, 283.0, 328.0, 330.0, 341.0, 345.0, 359.0, 361.0, 385.0, 422.0, 438.0, 449.0, 454.0, 465.0, 487.0, 490.0, 510.0, 528.0, 556.0, 580.0, 601.0, 602.0, 645.0, 651.0, 680.0, 693.0, 703.0, 704.0, 706.0, 716.0, 733.0, 782.0, 786.0, 821.0, 822.0, 829.0, 843.0, 855.0, 856.0, 875.0, 941.0, 951.0, 959.0, 990.0, 995.0], + [83.0, 110.0, 117.0, 128.0, 132.0, 154.0, 195.0, 214.0, 217.0, 234.0, 242.0, 252.0, 293.0, 338.0, 343.0, 352.0, 369.0, 412.0, 498.0, 499.0, 554.0, 566.0, 590.0, 603.0, 605.0, 606.0, 614.0, 669.0, 670.0, 671.0, 672.0, 677.0, 761.0, 767.0, 794.0, 832.0, 839.0, 869.0, 893.0, 913.0, 914.0, 915.0, 923.0, 936.0, 950.0, 1014.0], + [34.0, 100.0, 130.0, 138.0, 140.0, 172.0, 174.0, 282.0, 295.0, 303.0, 331.0, 349.0, 365.0, 376.0, 399.0, 408.0, 419.0, 515.0, 600.0, 615.0, 622.0, 626.0, 650.0, 672.0, 685.0, 700.0, 702.0, 742.0, 771.0, 849.0, 861.0, 882.0, 1019.0], + [10.0, 21.0, 67.0, 86.0, 151.0, 160.0, 187.0, 202.0, 225.0, 226.0, 237.0, 255.0, 260.0, 284.0, 300.0, 363.0, 393.0, 410.0, 435.0, 460.0, 463.0, 523.0, 528.0, 577.0, 586.0, 605.0, 611.0, 617.0, 625.0, 627.0, 639.0, 642.0, 651.0, 653.0, 698.0, 701.0, 724.0, 728.0, 729.0, 775.0, 785.0, 793.0, 844.0, 847.0, 865.0, 876.0, 890.0, 907.0, 931.0, 936.0, 961.0, 997.0, 1002.0, 1003.0, 1009.0, 1011.0], + [5.0, 13.0, 25.0, 56.0, 64.0, 65.0, 66.0, 85.0, 111.0, 120.0, 134.0, 152.0, 153.0, 168.0, 170.0, 172.0, 185.0, 199.0, 207.0, 222.0, 233.0, 234.0, 242.0, 255.0, 262.0, 309.0, 333.0, 352.0, 394.0, 395.0, 403.0, 417.0, 429.0, 452.0, 462.0, 463.0, 476.0, 482.0, 501.0, 529.0, 533.0, 534.0, 544.0, 589.0, 595.0, 599.0, 636.0, 652.0, 690.0, 692.0, 743.0, 773.0, 777.0, 840.0, 844.0, 845.0, 872.0, 878.0, 900.0, 982.0, 984.0, 997.0], + [18.0, 100.0, 113.0, 157.0, 160.0, 161.0, 166.0, 168.0, 177.0, 231.0, 234.0, 235.0, 260.0, 302.0, 363.0, 373.0, 377.0, 414.0, 422.0, 445.0, 446.0, 491.0, 508.0, 520.0, 523.0, 547.0, 553.0, 561.0, 599.0, 603.0, 665.0, 714.0, 724.0, 739.0, 741.0, 758.0, 785.0, 860.0, 874.0, 911.0, 963.0, 974.0, 979.0, 980.0, 983.0, 990.0], + [18.0, 37.0, 46.0, 88.0, 121.0, 134.0, 166.0, 198.0, 202.0, 206.0, 210.0, 220.0, 229.0, 249.0, 269.0, 301.0, 364.0, 467.0, 474.0, 482.0, 509.0, 546.0, 579.0, 603.0, 632.0, 641.0, 656.0, 750.0, 763.0, 767.0, 791.0, 828.0, 838.0, 861.0, 890.0, 895.0, 929.0, 955.0, 991.0], + [14.0, 27.0, 48.0, 65.0, 71.0, 72.0, 75.0, 78.0, 99.0, 152.0, 163.0, 183.0, 317.0, 326.0, 336.0, 379.0, 421.0, 460.0, 532.0, 533.0, 547.0, 575.0, 661.0, 680.0, 709.0, 722.0, 744.0, 805.0, 814.0, 816.0, 820.0, 826.0, 827.0, 828.0, 849.0, 853.0, 862.0, 939.0, 943.0, 944.0, 960.0], + [10.0, 27.0, 30.0, 31.0, 32.0, 89.0, 105.0, 110.0, 112.0, 130.0, 155.0, 161.0, 174.0, 221.0, 286.0, 302.0, 326.0, 360.0, 370.0, 378.0, 385.0, 387.0, 394.0, 411.0, 412.0, 423.0, 435.0, 440.0, 460.0, 472.0, 537.0, 538.0, 539.0, 541.0, 548.0, 556.0, 602.0, 619.0, 691.0, 698.0, 737.0, 744.0, 801.0, 814.0, 825.0, 836.0, 838.0, 843.0, 894.0, 909.0, 916.0, 925.0, 929.0, 946.0, 952.0, 953.0, 959.0, 984.0], + [1.0, 9.0, 31.0, 42.0, 65.0, 91.0, 109.0, 171.0, 196.0, 198.0, 203.0, 277.0, 295.0, 313.0, 340.0, 381.0, 397.0, 408.0, 425.0, 469.0, 488.0, 490.0, 505.0, 506.0, 525.0, 559.0, 597.0, 660.0, 705.0, 715.0, 718.0, 764.0, 799.0, 820.0, 893.0, 904.0, 914.0, 978.0, 981.0], + [50.0, 64.0, 90.0, 152.0, 160.0, 164.0, 180.0, 205.0, 231.0, 272.0, 284.0, 339.0, 350.0, 351.0, 374.0, 458.0, 483.0, 488.0, 592.0, 605.0, 612.0, 627.0, 639.0, 651.0, 667.0, 687.0, 711.0, 776.0, 781.0, 817.0, 820.0, 839.0, 876.0, 886.0, 888.0, 898.0, 899.0, 912.0, 921.0, 939.0, 944.0, 981.0], + [24.0, 27.0, 37.0, 42.0, 107.0, 112.0, 125.0, 136.0, 158.0, 176.0, 178.0, 185.0, 275.0, 277.0, 278.0, 350.0, 364.0, 375.0, 393.0, 395.0, 421.0, 430.0, 462.0, 504.0, 505.0, 520.0, 541.0, 555.0, 573.0, 579.0, 589.0, 602.0, 661.0, 672.0, 709.0, 729.0, 744.0, 760.0, 770.0, 778.0, 800.0, 831.0, 832.0, 885.0, 899.0, 951.0, 964.0, 971.0, 974.0, 992.0], + [34.0, 60.0, 84.0, 86.0, 94.0, 109.0, 110.0, 142.0, 154.0, 180.0, 185.0, 198.0, 249.0, 250.0, 268.0, 271.0, 286.0, 299.0, 319.0, 357.0, 395.0, 418.0, 423.0, 424.0, 432.0, 433.0, 447.0, 538.0, 542.0, 554.0, 556.0, 568.0, 584.0, 615.0, 642.0, 684.0, 692.0, 715.0, 721.0, 728.0, 737.0, 747.0, 750.0, 753.0, 758.0, 768.0, 774.0, 808.0, 831.0, 906.0, 937.0, 960.0, 967.0, 986.0, 1014.0], + [59.0, 84.0, 86.0, 91.0, 93.0, 101.0, 125.0, 127.0, 130.0, 161.0, 164.0, 165.0, 166.0, 171.0, 174.0, 197.0, 199.0, 254.0, 258.0, 303.0, 306.0, 309.0, 322.0, 342.0, 353.0, 364.0, 366.0, 367.0, 387.0, 448.0, 471.0, 490.0, 502.0, 513.0, 531.0, 575.0, 597.0, 615.0, 635.0, 650.0, 651.0, 684.0, 694.0, 702.0, 742.0, 782.0, 797.0, 818.0, 839.0, 859.0, 884.0, 903.0, 909.0, 924.0, 927.0, 944.0, 945.0, 973.0, 978.0, 984.0, 998.0], + [31.0, 53.0, 77.0, 85.0, 97.0, 153.0, 158.0, 159.0, 182.0, 204.0, 261.0, 293.0, 318.0, 398.0, 404.0, 424.0, 446.0, 480.0, 486.0, 497.0, 500.0, 520.0, 553.0, 559.0, 562.0, 576.0, 593.0, 640.0, 652.0, 670.0, 679.0, 702.0, 719.0, 721.0, 735.0, 793.0, 833.0, 862.0, 941.0, 952.0], + [42.0, 57.0, 66.0, 80.0, 83.0, 113.0, 114.0, 115.0, 124.0, 144.0, 147.0, 163.0, 169.0, 179.0, 189.0, 203.0, 237.0, 247.0, 257.0, 317.0, 346.0, 349.0, 354.0, 374.0, 389.0, 415.0, 438.0, 446.0, 503.0, 514.0, 515.0, 554.0, 575.0, 608.0, 609.0, 657.0, 666.0, 675.0, 684.0, 703.0, 780.0, 793.0, 803.0, 834.0, 849.0, 924.0, 938.0, 943.0, 951.0, 1005.0, 1019.0], + [8.0, 10.0, 11.0, 17.0, 20.0, 21.0, 47.0, 50.0, 97.0, 110.0, 148.0, 161.0, 169.0, 174.0, 202.0, 205.0, 226.0, 320.0, 345.0, 346.0, 358.0, 364.0, 365.0, 386.0, 391.0, 424.0, 432.0, 435.0, 540.0, 542.0, 587.0, 612.0, 648.0, 707.0, 745.0, 758.0, 765.0, 774.0, 808.0, 814.0, 818.0, 906.0, 909.0, 911.0, 914.0, 919.0, 943.0, 944.0, 956.0, 972.0, 982.0, 1019.0], + [8.0, 11.0, 98.0, 99.0, 113.0, 121.0, 124.0, 164.0, 165.0, 227.0, 228.0, 238.0, 245.0, 279.0, 282.0, 289.0, 310.0, 313.0, 345.0, 369.0, 408.0, 416.0, 478.0, 505.0, 515.0, 542.0, 550.0, 551.0, 613.0, 648.0, 669.0, 678.0, 687.0, 702.0, 715.0, 726.0, 728.0, 738.0, 755.0, 759.0, 787.0, 795.0, 797.0, 830.0, 835.0, 905.0, 950.0, 983.0], + [2.0, 21.0, 27.0, 87.0, 103.0, 136.0, 149.0, 155.0, 156.0, 168.0, 239.0, 249.0, 262.0, 293.0, 304.0, 328.0, 332.0, 341.0, 409.0, 417.0, 420.0, 421.0, 427.0, 435.0, 454.0, 456.0, 462.0, 473.0, 573.0, 590.0, 608.0, 627.0, 629.0, 674.0, 690.0, 697.0, 745.0, 774.0, 791.0, 803.0, 808.0, 815.0, 870.0, 891.0, 896.0, 919.0, 931.0, 946.0, 950.0, 958.0, 977.0, 1001.0, 1003.0, 1015.0], + [1.0, 23.0, 34.0, 93.0, 96.0, 98.0, 107.0, 109.0, 183.0, 188.0, 200.0, 201.0, 218.0, 231.0, 233.0, 247.0, 297.0, 334.0, 338.0, 355.0, 361.0, 369.0, 382.0, 402.0, 415.0, 468.0, 479.0, 505.0, 546.0, 554.0, 561.0, 563.0, 594.0, 603.0, 642.0, 709.0, 710.0, 723.0, 778.0, 819.0, 825.0, 845.0, 858.0, 881.0, 887.0, 930.0, 965.0, 1009.0, 1023.0], + [12.0, 32.0, 59.0, 98.0, 110.0, 137.0, 167.0, 174.0, 175.0, 224.0, 247.0, 318.0, 326.0, 400.0, 402.0, 403.0, 413.0, 440.0, 455.0, 471.0, 499.0, 500.0, 513.0, 544.0, 552.0, 587.0, 591.0, 601.0, 616.0, 623.0, 625.0, 642.0, 660.0, 662.0, 685.0, 769.0, 778.0, 794.0, 827.0, 870.0, 878.0, 885.0, 974.0, 980.0, 1011.0, 1013.0, 1015.0], + [5.0, 52.0, 116.0, 120.0, 134.0, 159.0, 171.0, 174.0, 188.0, 190.0, 194.0, 217.0, 239.0, 254.0, 320.0, 321.0, 346.0, 361.0, 369.0, 371.0, 413.0, 421.0, 435.0, 439.0, 440.0, 441.0, 462.0, 468.0, 471.0, 473.0, 500.0, 512.0, 553.0, 554.0, 590.0, 591.0, 603.0, 621.0, 648.0, 683.0, 708.0, 742.0, 759.0, 812.0, 820.0, 844.0, 853.0, 875.0, 895.0, 905.0, 986.0, 998.0, 1010.0], + [7.0, 17.0, 26.0, 34.0, 48.0, 63.0, 70.0, 87.0, 140.0, 155.0, 156.0, 180.0, 220.0, 224.0, 272.0, 284.0, 291.0, 310.0, 335.0, 340.0, 342.0, 345.0, 353.0, 364.0, 419.0, 448.0, 460.0, 461.0, 518.0, 527.0, 531.0, 534.0, 544.0, 563.0, 584.0, 613.0, 614.0, 645.0, 655.0, 661.0, 666.0, 673.0, 689.0, 827.0, 859.0, 876.0, 888.0, 893.0, 956.0, 967.0, 968.0, 987.0, 1001.0], + [35.0, 46.0, 59.0, 61.0, 64.0, 73.0, 95.0, 110.0, 118.0, 171.0, 196.0, 214.0, 225.0, 294.0, 296.0, 298.0, 360.0, 393.0, 407.0, 411.0, 412.0, 418.0, 445.0, 484.0, 507.0, 554.0, 608.0, 619.0, 628.0, 638.0, 690.0, 744.0, 820.0, 886.0, 897.0, 925.0, 930.0, 959.0, 984.0, 991.0, 1006.0], + [36.0, 37.0, 44.0, 57.0, 59.0, 69.0, 85.0, 103.0, 142.0, 143.0, 144.0, 145.0, 401.0, 474.0, 479.0, 539.0, 543.0, 546.0, 562.0, 583.0, 632.0, 655.0, 694.0, 723.0, 759.0, 771.0, 772.0, 775.0, 796.0, 801.0, 834.0, 838.0, 902.0, 903.0, 980.0, 1022.0], + [8.0, 13.0, 38.0, 56.0, 81.0, 86.0, 104.0, 128.0, 156.0, 230.0, 236.0, 252.0, 307.0, 336.0, 348.0, 352.0, 357.0, 373.0, 374.0, 389.0, 404.0, 414.0, 428.0, 437.0, 449.0, 498.0, 503.0, 590.0, 592.0, 594.0, 652.0, 675.0, 679.0, 699.0, 701.0, 712.0, 728.0, 733.0, 789.0, 814.0, 826.0, 858.0, 861.0, 877.0, 886.0, 896.0, 912.0, 954.0, 984.0, 1002.0, 1021.0], + [43.0, 45.0, 46.0, 128.0, 147.0, 153.0, 154.0, 165.0, 231.0, 235.0, 238.0, 256.0, 318.0, 323.0, 350.0, 381.0, 384.0, 502.0, 517.0, 570.0, 575.0, 591.0, 609.0, 618.0, 622.0, 649.0, 655.0, 667.0, 672.0, 673.0, 722.0, 782.0, 794.0, 825.0, 849.0, 867.0, 868.0, 874.0, 892.0, 933.0, 935.0, 976.0, 982.0, 987.0, 1008.0, 1016.0], + [32.0, 42.0, 90.0, 109.0, 127.0, 141.0, 156.0, 163.0, 164.0, 179.0, 199.0, 215.0, 227.0, 230.0, 264.0, 296.0, 300.0, 328.0, 338.0, 363.0, 366.0, 406.0, 407.0, 408.0, 409.0, 426.0, 531.0, 546.0, 562.0, 588.0, 625.0, 654.0, 676.0, 679.0, 695.0, 709.0, 710.0, 771.0, 791.0, 801.0, 838.0, 845.0, 867.0, 869.0, 879.0, 880.0, 881.0, 932.0, 961.0, 984.0, 1017.0], + [3.0, 21.0, 35.0, 38.0, 40.0, 70.0, 75.0, 86.0, 138.0, 141.0, 167.0, 176.0, 188.0, 209.0, 220.0, 240.0, 243.0, 306.0, 329.0, 356.0, 357.0, 392.0, 406.0, 427.0, 428.0, 446.0, 449.0, 451.0, 483.0, 613.0, 629.0, 647.0, 648.0, 667.0, 712.0, 730.0, 733.0, 784.0, 906.0, 909.0, 948.0, 949.0, 969.0, 973.0, 984.0, 1018.0, 1022.0], + [21.0, 28.0, 47.0, 56.0, 107.0, 114.0, 126.0, 164.0, 178.0, 179.0, 190.0, 204.0, 227.0, 231.0, 242.0, 261.0, 303.0, 350.0, 362.0, 386.0, 425.0, 440.0, 471.0, 482.0, 509.0, 599.0, 603.0, 634.0, 646.0, 693.0, 709.0, 755.0, 799.0, 811.0, 848.0, 922.0, 923.0, 924.0, 928.0, 948.0, 975.0, 1011.0, 1018.0], + [88.0, 132.0, 161.0, 194.0, 206.0, 211.0, 247.0, 270.0, 296.0, 312.0, 331.0, 333.0, 334.0, 373.0, 429.0, 430.0, 436.0, 471.0, 494.0, 523.0, 530.0, 531.0, 536.0, 574.0, 620.0, 655.0, 676.0, 677.0, 709.0, 727.0, 738.0, 776.0, 783.0, 799.0, 805.0, 840.0, 875.0, 896.0, 910.0, 932.0, 939.0, 954.0, 1000.0], + [9.0, 26.0, 33.0, 40.0, 48.0, 65.0, 72.0, 74.0, 104.0, 105.0, 106.0, 107.0, 124.0, 134.0, 189.0, 195.0, 218.0, 228.0, 232.0, 271.0, 283.0, 341.0, 352.0, 354.0, 374.0, 393.0, 414.0, 417.0, 424.0, 435.0, 443.0, 456.0, 458.0, 524.0, 525.0, 574.0, 592.0, 605.0, 617.0, 620.0, 632.0, 641.0, 695.0, 791.0, 792.0, 811.0, 862.0, 943.0, 967.0, 975.0, 985.0, 1011.0], + [45.0, 76.0, 164.0, 258.0, 310.0, 340.0, 346.0, 349.0, 363.0, 383.0, 396.0, 424.0, 446.0, 468.0, 471.0, 516.0, 544.0, 550.0, 571.0, 595.0, 686.0, 750.0, 758.0, 775.0, 782.0, 799.0, 831.0, 832.0, 864.0, 876.0, 883.0, 896.0, 939.0, 941.0, 972.0, 976.0, 1008.0], + [43.0, 48.0, 63.0, 78.0, 86.0, 96.0, 166.0, 170.0, 175.0, 195.0, 224.0, 248.0, 263.0, 270.0, 271.0, 279.0, 292.0, 355.0, 395.0, 405.0, 406.0, 423.0, 442.0, 453.0, 454.0, 458.0, 471.0, 482.0, 484.0, 490.0, 504.0, 510.0, 563.0, 604.0, 606.0, 620.0, 644.0, 652.0, 656.0, 716.0, 727.0, 730.0, 744.0, 792.0, 797.0, 802.0, 807.0, 816.0, 837.0, 846.0, 850.0, 851.0, 856.0, 897.0, 898.0, 901.0, 929.0, 932.0, 951.0, 952.0, 974.0], + [15.0, 18.0, 28.0, 57.0, 61.0, 64.0, 65.0, 112.0, 134.0, 170.0, 179.0, 186.0, 212.0, 213.0, 275.0, 280.0, 318.0, 339.0, 369.0, 380.0, 382.0, 384.0, 415.0, 427.0, 444.0, 454.0, 455.0, 457.0, 490.0, 492.0, 499.0, 504.0, 509.0, 510.0, 516.0, 519.0, 537.0, 601.0, 603.0, 615.0, 622.0, 689.0, 692.0, 710.0, 711.0, 712.0, 727.0, 752.0, 764.0, 788.0, 789.0, 790.0, 814.0, 852.0, 860.0, 866.0, 889.0, 936.0, 948.0, 950.0, 964.0, 996.0, 1007.0], + [10.0, 33.0, 44.0, 132.0, 156.0, 166.0, 192.0, 198.0, 227.0, 231.0, 246.0, 258.0, 264.0, 276.0, 372.0, 389.0, 396.0, 434.0, 449.0, 451.0, 464.0, 490.0, 502.0, 524.0, 531.0, 567.0, 587.0, 615.0, 641.0, 651.0, 686.0, 700.0, 708.0, 786.0, 790.0, 803.0, 808.0, 850.0, 864.0, 871.0, 913.0, 934.0, 944.0, 993.0, 1012.0], + [4.0, 5.0, 13.0, 25.0, 127.0, 143.0, 152.0, 172.0, 173.0, 184.0, 188.0, 217.0, 307.0, 318.0, 327.0, 334.0, 337.0, 353.0, 373.0, 388.0, 393.0, 399.0, 422.0, 490.0, 518.0, 564.0, 668.0, 706.0, 726.0, 737.0, 751.0, 760.0, 794.0, 804.0, 806.0, 828.0, 858.0, 865.0, 883.0, 953.0, 962.0, 965.0, 969.0, 971.0, 988.0], + [3.0, 44.0, 67.0, 98.0, 141.0, 180.0, 188.0, 190.0, 233.0, 236.0, 255.0, 274.0, 322.0, 342.0, 347.0, 366.0, 597.0, 606.0, 650.0, 691.0, 695.0, 758.0, 759.0, 814.0, 815.0, 824.0, 839.0, 857.0, 859.0, 860.0, 902.0, 913.0, 915.0, 921.0, 925.0, 927.0, 947.0, 964.0], + [7.0, 22.0, 37.0, 38.0, 46.0, 88.0, 91.0, 100.0, 107.0, 108.0, 134.0, 164.0, 179.0, 183.0, 184.0, 199.0, 218.0, 236.0, 255.0, 260.0, 297.0, 301.0, 309.0, 317.0, 328.0, 333.0, 338.0, 348.0, 359.0, 410.0, 412.0, 479.0, 490.0, 516.0, 517.0, 578.0, 639.0, 644.0, 653.0, 700.0, 705.0, 707.0, 719.0, 733.0, 746.0, 756.0, 766.0, 776.0, 831.0, 857.0, 896.0, 902.0, 923.0, 955.0, 1001.0, 1004.0, 1009.0, 1012.0], + [17.0, 29.0, 71.0, 72.0, 82.0, 93.0, 94.0, 96.0, 99.0, 101.0, 123.0, 129.0, 155.0, 186.0, 188.0, 189.0, 275.0, 303.0, 313.0, 335.0, 352.0, 364.0, 365.0, 366.0, 393.0, 400.0, 408.0, 427.0, 431.0, 440.0, 441.0, 448.0, 476.0, 508.0, 537.0, 553.0, 568.0, 642.0, 668.0, 684.0, 685.0, 737.0, 755.0, 758.0, 796.0, 797.0, 829.0, 851.0, 865.0, 906.0, 950.0, 961.0, 982.0, 992.0, 995.0, 1006.0, 1016.0, 1021.0], + [24.0, 36.0, 42.0, 55.0, 93.0, 196.0, 213.0, 235.0, 237.0, 258.0, 272.0, 277.0, 363.0, 395.0, 431.0, 478.0, 523.0, 529.0, 534.0, 543.0, 557.0, 582.0, 588.0, 597.0, 607.0, 631.0, 649.0, 651.0, 656.0, 688.0, 690.0, 693.0, 700.0, 722.0, 734.0, 804.0, 819.0, 837.0, 855.0, 870.0, 899.0, 900.0, 954.0, 957.0, 979.0, 986.0, 1012.0, 1016.0], + [59.0, 112.0, 144.0, 158.0, 162.0, 207.0, 210.0, 241.0, 269.0, 275.0, 286.0, 298.0, 382.0, 400.0, 412.0, 428.0, 492.0, 590.0, 597.0, 598.0, 618.0, 627.0, 706.0, 741.0, 745.0, 797.0, 828.0, 834.0, 875.0, 897.0, 898.0, 899.0, 929.0, 965.0, 997.0, 1010.0, 1017.0, 1022.0], + [1.0, 23.0, 28.0, 37.0, 42.0, 54.0, 68.0, 76.0, 99.0, 128.0, 129.0, 163.0, 193.0, 206.0, 252.0, 256.0, 316.0, 358.0, 376.0, 499.0, 500.0, 510.0, 529.0, 548.0, 555.0, 558.0, 559.0, 563.0, 571.0, 579.0, 595.0, 618.0, 620.0, 626.0, 653.0, 692.0, 702.0, 712.0, 716.0, 827.0, 852.0, 863.0, 922.0, 943.0, 968.0, 979.0, 980.0, 981.0, 982.0, 984.0, 1000.0], + [23.0, 42.0, 61.0, 86.0, 88.0, 89.0, 99.0, 124.0, 128.0, 137.0, 144.0, 162.0, 170.0, 195.0, 196.0, 230.0, 234.0, 330.0, 348.0, 355.0, 371.0, 386.0, 401.0, 413.0, 417.0, 437.0, 590.0, 624.0, 640.0, 644.0, 648.0, 660.0, 674.0, 715.0, 737.0, 769.0, 781.0, 796.0, 819.0, 820.0, 822.0, 853.0, 854.0, 912.0, 956.0, 986.0, 997.0, 1022.0], + [8.0, 63.0, 64.0, 65.0, 82.0, 84.0, 135.0, 196.0, 230.0, 235.0, 237.0, 272.0, 304.0, 352.0, 383.0, 407.0, 425.0, 429.0, 438.0, 440.0, 448.0, 478.0, 485.0, 488.0, 522.0, 552.0, 561.0, 578.0, 595.0, 621.0, 640.0, 661.0, 670.0, 671.0, 674.0, 751.0, 771.0, 772.0, 785.0, 815.0, 900.0, 915.0, 918.0, 921.0, 960.0], + [6.0, 28.0, 29.0, 39.0, 54.0, 55.0, 74.0, 88.0, 172.0, 182.0, 185.0, 190.0, 193.0, 199.0, 205.0, 210.0, 215.0, 226.0, 228.0, 229.0, 254.0, 258.0, 266.0, 269.0, 293.0, 295.0, 300.0, 313.0, 321.0, 369.0, 379.0, 387.0, 412.0, 416.0, 419.0, 452.0, 464.0, 491.0, 496.0, 502.0, 535.0, 544.0, 588.0, 616.0, 645.0, 666.0, 702.0, 706.0, 723.0, 749.0, 835.0, 839.0, 847.0, 850.0, 873.0, 896.0, 899.0, 952.0, 953.0, 959.0, 965.0, 992.0, 998.0, 1000.0, 1004.0], + [10.0, 31.0, 68.0, 70.0, 78.0, 98.0, 125.0, 141.0, 149.0, 151.0, 264.0, 268.0, 305.0, 341.0, 346.0, 414.0, 433.0, 485.0, 511.0, 544.0, 549.0, 561.0, 622.0, 647.0, 652.0, 666.0, 688.0, 706.0, 720.0, 769.0, 775.0, 784.0, 787.0, 788.0, 796.0, 845.0, 846.0, 847.0, 889.0, 914.0, 934.0, 985.0, 992.0, 997.0], + [4.0, 5.0, 18.0, 50.0, 135.0, 138.0, 139.0, 176.0, 179.0, 185.0, 190.0, 218.0, 229.0, 235.0, 322.0, 345.0, 346.0, 370.0, 404.0, 419.0, 436.0, 484.0, 509.0, 522.0, 531.0, 534.0, 536.0, 574.0, 584.0, 587.0, 618.0, 626.0, 637.0, 642.0, 643.0, 647.0, 660.0, 682.0, 698.0, 724.0, 769.0, 777.0, 778.0, 799.0, 825.0, 826.0, 832.0, 836.0, 839.0, 869.0, 870.0, 900.0, 924.0, 953.0, 975.0, 984.0], + [5.0, 55.0, 78.0, 154.0, 157.0, 196.0, 199.0, 205.0, 249.0, 265.0, 266.0, 279.0, 286.0, 323.0, 348.0, 366.0, 375.0, 386.0, 395.0, 415.0, 419.0, 425.0, 440.0, 453.0, 532.0, 553.0, 560.0, 566.0, 585.0, 617.0, 660.0, 680.0, 690.0, 741.0, 743.0, 760.0, 774.0, 777.0, 782.0, 814.0, 829.0, 902.0, 957.0, 987.0], + [19.0, 49.0, 87.0, 133.0, 135.0, 187.0, 192.0, 225.0, 233.0, 260.0, 261.0, 293.0, 310.0, 337.0, 368.0, 371.0, 375.0, 447.0, 449.0, 470.0, 486.0, 487.0, 504.0, 509.0, 523.0, 525.0, 527.0, 639.0, 689.0, 690.0, 697.0, 746.0, 781.0, 787.0, 826.0, 844.0, 850.0, 896.0, 920.0, 950.0, 953.0, 1006.0, 1014.0, 1019.0], + [35.0, 37.0, 71.0, 89.0, 113.0, 123.0, 132.0, 135.0, 171.0, 192.0, 215.0, 237.0, 270.0, 280.0, 304.0, 319.0, 328.0, 364.0, 380.0, 423.0, 459.0, 475.0, 485.0, 493.0, 536.0, 544.0, 557.0, 706.0, 753.0, 756.0, 764.0, 788.0, 789.0, 796.0, 797.0, 863.0, 866.0, 878.0, 903.0, 938.0, 977.0], + [10.0, 26.0, 49.0, 64.0, 74.0, 104.0, 105.0, 151.0, 180.0, 209.0, 231.0, 243.0, 258.0, 278.0, 291.0, 323.0, 332.0, 415.0, 419.0, 423.0, 427.0, 487.0, 491.0, 494.0, 505.0, 520.0, 538.0, 555.0, 566.0, 580.0, 582.0, 633.0, 638.0, 650.0, 667.0, 670.0, 681.0, 696.0, 718.0, 719.0, 731.0, 752.0, 782.0, 818.0, 906.0, 923.0, 929.0, 945.0, 946.0, 951.0, 952.0, 958.0, 967.0, 968.0, 969.0, 1016.0], + [15.0, 20.0, 53.0, 62.0, 68.0, 83.0, 92.0, 108.0, 116.0, 117.0, 124.0, 164.0, 180.0, 192.0, 217.0, 245.0, 247.0, 281.0, 282.0, 288.0, 291.0, 327.0, 374.0, 389.0, 421.0, 429.0, 433.0, 480.0, 498.0, 501.0, 522.0, 537.0, 539.0, 569.0, 576.0, 628.0, 682.0, 683.0, 696.0, 752.0, 754.0, 765.0, 778.0, 798.0, 823.0, 852.0, 868.0, 875.0, 885.0, 890.0, 903.0, 937.0, 945.0, 954.0, 961.0, 983.0], + [5.0, 13.0, 49.0, 65.0, 145.0, 149.0, 150.0, 184.0, 200.0, 218.0, 223.0, 238.0, 253.0, 273.0, 278.0, 287.0, 294.0, 361.0, 417.0, 451.0, 478.0, 498.0, 557.0, 592.0, 660.0, 678.0, 688.0, 710.0, 769.0, 773.0, 803.0, 827.0, 857.0, 881.0, 897.0, 908.0, 955.0, 956.0, 974.0], + [44.0, 59.0, 67.0, 97.0, 117.0, 150.0, 165.0, 168.0, 175.0, 186.0, 215.0, 227.0, 231.0, 288.0, 294.0, 306.0, 333.0, 334.0, 341.0, 365.0, 380.0, 399.0, 427.0, 455.0, 458.0, 503.0, 524.0, 536.0, 542.0, 548.0, 549.0, 557.0, 582.0, 594.0, 606.0, 608.0, 644.0, 652.0, 660.0, 671.0, 702.0, 706.0, 722.0, 754.0, 792.0, 827.0, 832.0, 848.0, 880.0, 911.0, 923.0, 925.0, 934.0, 956.0, 960.0, 980.0, 985.0, 1016.0], + [26.0, 74.0, 75.0, 76.0, 92.0, 121.0, 122.0, 169.0, 178.0, 187.0, 197.0, 200.0, 223.0, 238.0, 303.0, 323.0, 365.0, 369.0, 406.0, 433.0, 478.0, 479.0, 491.0, 497.0, 501.0, 503.0, 531.0, 544.0, 552.0, 575.0, 619.0, 632.0, 648.0, 658.0, 664.0, 730.0, 744.0, 748.0, 757.0, 791.0, 816.0, 819.0, 831.0, 847.0, 856.0, 869.0, 873.0, 887.0, 903.0, 944.0, 964.0, 983.0, 996.0, 1023.0], + [2.0, 4.0, 7.0, 28.0, 36.0, 67.0, 84.0, 93.0, 125.0, 143.0, 156.0, 201.0, 225.0, 233.0, 271.0, 293.0, 296.0, 310.0, 314.0, 323.0, 325.0, 342.0, 398.0, 400.0, 423.0, 444.0, 456.0, 460.0, 476.0, 479.0, 492.0, 531.0, 532.0, 550.0, 569.0, 586.0, 628.0, 651.0, 658.0, 700.0, 739.0, 777.0, 800.0, 804.0, 806.0, 811.0, 885.0, 892.0, 907.0, 939.0, 957.0, 969.0, 983.0, 1000.0, 1003.0], + [23.0, 24.0, 58.0, 77.0, 96.0, 127.0, 165.0, 170.0, 206.0, 214.0, 231.0, 241.0, 253.0, 328.0, 355.0, 377.0, 382.0, 415.0, 435.0, 448.0, 483.0, 485.0, 526.0, 537.0, 554.0, 573.0, 577.0, 582.0, 601.0, 652.0, 704.0, 710.0, 717.0, 725.0, 731.0, 735.0, 750.0, 807.0, 837.0, 839.0, 846.0, 880.0, 915.0, 947.0], + [7.0, 22.0, 29.0, 68.0, 111.0, 125.0, 147.0, 149.0, 189.0, 192.0, 198.0, 212.0, 231.0, 237.0, 238.0, 269.0, 310.0, 332.0, 338.0, 354.0, 383.0, 405.0, 407.0, 413.0, 419.0, 424.0, 428.0, 435.0, 437.0, 441.0, 444.0, 453.0, 471.0, 489.0, 514.0, 561.0, 580.0, 583.0, 620.0, 627.0, 659.0, 670.0, 671.0, 673.0, 685.0, 700.0, 716.0, 725.0, 737.0, 749.0, 762.0, 773.0, 782.0, 819.0, 860.0, 863.0, 887.0, 905.0, 912.0, 924.0, 934.0, 953.0, 960.0, 1003.0, 1014.0], + [3.0, 31.0, 52.0, 58.0, 59.0, 96.0, 105.0, 118.0, 122.0, 126.0, 133.0, 135.0, 140.0, 144.0, 147.0, 175.0, 199.0, 215.0, 242.0, 258.0, 304.0, 322.0, 364.0, 380.0, 384.0, 385.0, 389.0, 390.0, 399.0, 421.0, 442.0, 451.0, 479.0, 498.0, 501.0, 512.0, 528.0, 547.0, 581.0, 586.0, 590.0, 652.0, 653.0, 654.0, 668.0, 685.0, 689.0, 705.0, 726.0, 762.0, 803.0, 808.0, 809.0, 835.0, 842.0, 874.0, 910.0, 914.0, 968.0, 978.0, 993.0, 1007.0, 1008.0, 1016.0, 1022.0], + [2.0, 8.0, 16.0, 21.0, 26.0, 47.0, 52.0, 89.0, 126.0, 135.0, 143.0, 147.0, 172.0, 195.0, 227.0, 235.0, 242.0, 251.0, 337.0, 344.0, 350.0, 358.0, 371.0, 375.0, 383.0, 387.0, 411.0, 421.0, 440.0, 441.0, 470.0, 475.0, 549.0, 552.0, 554.0, 555.0, 573.0, 574.0, 587.0, 603.0, 633.0, 667.0, 713.0, 726.0, 735.0, 741.0, 755.0, 756.0, 766.0, 789.0, 802.0, 803.0, 818.0, 821.0, 824.0, 845.0, 855.0, 895.0, 919.0, 926.0, 927.0, 930.0, 940.0], + [35.0, 38.0, 53.0, 58.0, 65.0, 90.0, 103.0, 174.0, 176.0, 239.0, 245.0, 269.0, 290.0, 366.0, 375.0, 396.0, 428.0, 453.0, 472.0, 490.0, 519.0, 586.0, 618.0, 687.0, 701.0, 726.0, 728.0, 747.0, 764.0, 767.0, 794.0, 851.0, 986.0], + [27.0, 41.0, 49.0, 50.0, 54.0, 108.0, 122.0, 152.0, 154.0, 158.0, 182.0, 221.0, 250.0, 256.0, 275.0, 288.0, 305.0, 328.0, 370.0, 379.0, 419.0, 423.0, 470.0, 492.0, 523.0, 524.0, 540.0, 542.0, 612.0, 642.0, 663.0, 675.0, 699.0, 701.0, 759.0, 770.0, 777.0, 785.0, 799.0, 804.0, 867.0, 879.0, 890.0, 895.0, 930.0, 937.0, 946.0, 967.0, 968.0, 975.0, 976.0, 1008.0, 1022.0], + [52.0, 55.0, 58.0, 90.0, 129.0, 136.0, 172.0, 192.0, 234.0, 235.0, 241.0, 244.0, 247.0, 308.0, 371.0, 413.0, 414.0, 473.0, 484.0, 497.0, 507.0, 519.0, 622.0, 648.0, 659.0, 687.0, 696.0, 746.0, 781.0, 801.0, 914.0, 931.0, 966.0, 971.0, 999.0], + [9.0, 24.0, 47.0, 50.0, 79.0, 106.0, 121.0, 132.0, 150.0, 154.0, 173.0, 183.0, 200.0, 217.0, 233.0, 276.0, 283.0, 320.0, 356.0, 357.0, 362.0, 385.0, 396.0, 405.0, 407.0, 445.0, 488.0, 540.0, 542.0, 550.0, 554.0, 579.0, 603.0, 608.0, 624.0, 636.0, 684.0, 776.0, 779.0, 792.0, 817.0, 820.0, 834.0, 846.0, 847.0, 860.0, 914.0, 918.0, 922.0, 925.0, 950.0, 958.0, 976.0, 995.0, 1022.0], + [47.0, 49.0, 54.0, 60.0, 66.0, 98.0, 150.0, 152.0, 153.0, 203.0, 220.0, 233.0, 261.0, 286.0, 300.0, 308.0, 419.0, 468.0, 490.0, 541.0, 555.0, 559.0, 561.0, 607.0, 655.0, 666.0, 672.0, 687.0, 690.0, 738.0, 761.0, 781.0, 798.0, 808.0, 819.0, 838.0, 839.0, 870.0, 871.0, 901.0, 915.0, 946.0, 984.0, 986.0, 991.0, 1000.0, 1017.0], + [38.0, 59.0, 213.0, 242.0, 246.0, 263.0, 277.0, 280.0, 282.0, 298.0, 313.0, 353.0, 362.0, 363.0, 377.0, 386.0, 415.0, 416.0, 466.0, 540.0, 588.0, 609.0, 653.0, 662.0, 666.0, 668.0, 678.0, 679.0, 709.0, 721.0, 738.0, 755.0, 776.0, 792.0, 796.0, 804.0, 818.0, 836.0, 886.0, 915.0, 919.0, 994.0, 1015.0], + [8.0, 17.0, 65.0, 75.0, 87.0, 104.0, 109.0, 166.0, 178.0, 209.0, 252.0, 255.0, 258.0, 261.0, 279.0, 304.0, 331.0, 382.0, 417.0, 421.0, 462.0, 479.0, 491.0, 538.0, 543.0, 544.0, 553.0, 559.0, 566.0, 604.0, 605.0, 662.0, 663.0, 670.0, 708.0, 729.0, 732.0, 738.0, 804.0, 809.0, 833.0, 838.0, 882.0, 898.0, 902.0, 913.0, 921.0, 936.0, 966.0, 984.0, 989.0, 990.0, 1002.0, 1012.0], + [22.0, 36.0, 52.0, 76.0, 77.0, 105.0, 114.0, 117.0, 118.0, 137.0, 160.0, 171.0, 175.0, 197.0, 202.0, 248.0, 284.0, 365.0, 392.0, 409.0, 453.0, 489.0, 493.0, 508.0, 551.0, 564.0, 571.0, 602.0, 615.0, 646.0, 647.0, 678.0, 686.0, 690.0, 696.0, 697.0, 739.0, 756.0, 781.0, 792.0, 793.0, 813.0, 896.0, 918.0, 931.0, 961.0, 962.0, 972.0, 981.0, 992.0, 1010.0], + [47.0, 100.0, 101.0, 130.0, 188.0, 200.0, 206.0, 229.0, 243.0, 255.0, 276.0, 296.0, 318.0, 326.0, 347.0, 433.0, 450.0, 453.0, 471.0, 475.0, 476.0, 483.0, 493.0, 494.0, 510.0, 533.0, 537.0, 562.0, 585.0, 617.0, 631.0, 657.0, 678.0, 709.0, 712.0, 745.0, 747.0, 755.0, 766.0, 771.0, 785.0, 792.0, 797.0, 815.0, 851.0, 886.0, 899.0, 999.0], + [3.0, 4.0, 15.0, 24.0, 50.0, 72.0, 98.0, 105.0, 108.0, 134.0, 157.0, 161.0, 194.0, 235.0, 295.0, 308.0, 316.0, 329.0, 393.0, 394.0, 452.0, 455.0, 515.0, 517.0, 536.0, 576.0, 584.0, 621.0, 627.0, 631.0, 676.0, 710.0, 719.0, 726.0, 727.0, 752.0, 788.0, 810.0, 826.0, 838.0, 839.0, 861.0, 862.0, 879.0, 886.0, 916.0, 980.0, 1020.0], + [31.0, 36.0, 46.0, 68.0, 72.0, 118.0, 123.0, 125.0, 160.0, 222.0, 223.0, 270.0, 293.0, 332.0, 348.0, 373.0, 380.0, 411.0, 413.0, 434.0, 469.0, 498.0, 507.0, 521.0, 566.0, 571.0, 601.0, 611.0, 619.0, 647.0, 696.0, 705.0, 711.0, 755.0, 760.0, 772.0, 774.0, 788.0, 796.0, 820.0, 849.0, 862.0, 866.0, 878.0, 898.0, 973.0, 1023.0], + [15.0, 24.0, 34.0, 41.0, 42.0, 63.0, 67.0, 100.0, 127.0, 182.0, 200.0, 237.0, 247.0, 249.0, 290.0, 323.0, 333.0, 342.0, 368.0, 387.0, 412.0, 424.0, 427.0, 440.0, 442.0, 487.0, 533.0, 548.0, 590.0, 607.0, 639.0, 651.0, 659.0, 714.0, 716.0, 738.0, 756.0, 782.0, 794.0, 802.0, 810.0, 820.0, 824.0, 854.0, 874.0, 876.0, 877.0, 912.0, 932.0, 945.0, 976.0, 987.0, 1005.0, 1022.0], + [14.0, 17.0, 71.0, 78.0, 100.0, 118.0, 132.0, 143.0, 162.0, 170.0, 176.0, 177.0, 195.0, 201.0, 219.0, 256.0, 261.0, 264.0, 279.0, 281.0, 288.0, 357.0, 406.0, 409.0, 412.0, 442.0, 445.0, 471.0, 488.0, 516.0, 529.0, 550.0, 557.0, 559.0, 563.0, 580.0, 591.0, 599.0, 675.0, 691.0, 736.0, 738.0, 749.0, 764.0, 765.0, 776.0, 780.0, 785.0, 806.0, 823.0, 825.0, 830.0, 837.0, 843.0, 864.0, 878.0, 921.0, 930.0, 932.0, 934.0, 937.0, 959.0], + [13.0, 19.0, 35.0, 85.0, 122.0, 128.0, 135.0, 136.0, 161.0, 165.0, 166.0, 203.0, 223.0, 236.0, 241.0, 242.0, 339.0, 353.0, 370.0, 381.0, 387.0, 390.0, 400.0, 407.0, 415.0, 421.0, 454.0, 464.0, 470.0, 471.0, 496.0, 504.0, 511.0, 520.0, 560.0, 565.0, 567.0, 601.0, 635.0, 655.0, 668.0, 705.0, 768.0, 787.0, 799.0, 806.0, 814.0, 835.0, 836.0, 857.0, 862.0, 872.0, 884.0, 888.0, 951.0, 984.0, 1021.0], + [24.0, 53.0, 54.0, 79.0, 89.0, 121.0, 134.0, 155.0, 164.0, 166.0, 205.0, 221.0, 222.0, 231.0, 291.0, 302.0, 334.0, 352.0, 369.0, 387.0, 437.0, 447.0, 451.0, 594.0, 609.0, 646.0, 652.0, 662.0, 681.0, 710.0, 787.0, 829.0, 848.0, 899.0, 912.0, 926.0, 997.0, 1006.0, 1022.0], + [14.0, 20.0, 29.0, 47.0, 52.0, 69.0, 75.0, 117.0, 120.0, 127.0, 146.0, 153.0, 175.0, 181.0, 237.0, 272.0, 287.0, 301.0, 316.0, 343.0, 347.0, 349.0, 395.0, 414.0, 425.0, 487.0, 526.0, 528.0, 538.0, 546.0, 548.0, 558.0, 581.0, 593.0, 630.0, 632.0, 636.0, 642.0, 651.0, 719.0, 726.0, 836.0, 968.0, 998.0, 1006.0], + [6.0, 23.0, 55.0, 90.0, 111.0, 117.0, 118.0, 123.0, 130.0, 131.0, 160.0, 187.0, 196.0, 214.0, 247.0, 253.0, 272.0, 288.0, 292.0, 302.0, 303.0, 307.0, 310.0, 323.0, 334.0, 364.0, 382.0, 384.0, 406.0, 432.0, 433.0, 439.0, 471.0, 524.0, 530.0, 562.0, 683.0, 689.0, 755.0, 769.0, 807.0, 809.0, 813.0, 834.0, 837.0, 880.0, 900.0, 927.0, 930.0, 939.0, 940.0, 970.0, 993.0], + [41.0, 54.0, 82.0, 83.0, 99.0, 139.0, 143.0, 146.0, 150.0, 161.0, 194.0, 227.0, 287.0, 312.0, 313.0, 320.0, 324.0, 340.0, 376.0, 384.0, 393.0, 430.0, 434.0, 476.0, 512.0, 514.0, 536.0, 584.0, 599.0, 600.0, 606.0, 624.0, 708.0, 714.0, 758.0, 785.0, 824.0, 838.0, 849.0, 873.0, 877.0, 881.0, 966.0, 973.0, 997.0, 1016.0], + [14.0, 24.0, 30.0, 36.0, 50.0, 73.0, 78.0, 87.0, 89.0, 107.0, 113.0, 155.0, 165.0, 171.0, 189.0, 190.0, 193.0, 209.0, 218.0, 238.0, 244.0, 288.0, 291.0, 311.0, 318.0, 319.0, 320.0, 325.0, 338.0, 351.0, 353.0, 407.0, 429.0, 475.0, 523.0, 526.0, 530.0, 546.0, 597.0, 599.0, 600.0, 604.0, 628.0, 632.0, 656.0, 658.0, 674.0, 713.0, 726.0, 746.0, 755.0, 756.0, 833.0, 847.0, 848.0, 856.0, 896.0, 911.0, 971.0, 1005.0, 1006.0, 1009.0, 1010.0, 1012.0], + [12.0, 50.0, 121.0, 128.0, 135.0, 161.0, 191.0, 192.0, 207.0, 208.0, 231.0, 266.0, 268.0, 270.0, 298.0, 394.0, 413.0, 483.0, 487.0, 518.0, 523.0, 567.0, 601.0, 606.0, 610.0, 659.0, 660.0, 680.0, 755.0, 791.0, 797.0, 802.0, 816.0, 827.0, 945.0, 974.0, 987.0, 1023.0] + ] + + if not pop_size: + pop_size = len(pattern) + + spikes = [] + l=[] + for i in range(pop_size): + l = [] + for j in range(len(pattern[i])): + if pattern[i][j] < cycle_time: + l.append(pattern[i][j]) + else: + break + spikes.append(l) + + speed_up_offset = cycle_time / split + split_spikes = [[] for i in range(pop_size)] + for neuron in range(len(spikes)): + for spike in range(len(spikes[neuron])): + split_spikes[neuron].append((spikes[neuron][spike] / speed_up) + (speed_up_offset * int(neuron / (pop_size / split)))) + + cycled_spikes = [[] for i in range(pop_size)] + for r in range(0, num_repeats): + for p in range(pop_size): + new_iter = [i + r * cycle_time for i in split_spikes[p]] + cycled_spikes[p].extend(new_iter) + + return cycled_spikes \ No newline at end of file diff --git a/eprop_testing/learn_sinusoid_from_frozen_poisson.py b/eprop_testing/learn_sinusoid_from_frozen_poisson.py index e956a92b..c547e550 100644 --- a/eprop_testing/learn_sinusoid_from_frozen_poisson.py +++ b/eprop_testing/learn_sinusoid_from_frozen_poisson.py @@ -1,7 +1,7 @@ import spynnaker8 as pynn import numpy as np import matplotlib.pyplot as plt -from frozen_poisson import build_input_spike_train +from frozen_poisson import build_input_spike_train, frozen_poisson_variable_hz from pyNN.random import NumpyRNG, RandomDistribution from pyNN.utility.plotting import Figure, Panel @@ -39,7 +39,15 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): + 2 * np.sin((4 * i * 2* np.pi / 1024)) ) -synapse_eta = 0.01 + +reg_rate = 0.0001 +p_connect_in = 1. +p_connect_rec = 1. +p_connect_out = 1. +recurrent_connections = False +synapse_eta = 0.2 +input_split = 20. + readout_neuron_params = { "v": 0, @@ -53,7 +61,8 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): input_size = 100 input_pop = pynn.Population(input_size, pynn.SpikeSourceArray, - {'spike_times': build_input_spike_train(num_repeats, cycle_time, input_size)}, + # {'spike_times': build_input_spike_train(num_repeats, cycle_time, input_size)}, + {'spike_times': frozen_poisson_variable_hz(num_repeats, cycle_time, input_split, input_split, input_size)}, label='input_pop') neuron_pop_size = 100 @@ -61,10 +70,12 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): "v": 0, "i_offset": 0, "v_rest": 0, - "w_fb": [(np.random.random() / 2) + 0.5 for i in range(neuron_pop_size)], + "w_fb": [np.random.random() for i in range(neuron_pop_size)], # best it seems + # "w_fb": [(np.random.random() * 2) - 1. for i in range(neuron_pop_size)], # "B": 0.0, "beta": 0.0, - "eta": 0#synapse_eta / 4. + "target_rate": 10, + "eta": synapse_eta + 0.2 #/ 4. } neuron = pynn.Population(neuron_pop_size, pynn.extra_models.EPropAdaptive(**neuron_params), @@ -78,14 +89,13 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): label="readout_pop" ) -reg_rate = 3 start_w = [weight_distribution(neuron_pop_size*input_size) for i in range(input_size)] eprop_learning_neuron = pynn.STDPMechanism( timing_dependence=pynn.extra_models.TimingDependenceEprop(), weight_dependence=pynn.extra_models.WeightDependenceEpropReg( w_min=-2.0, w_max=2.0, reg_rate=reg_rate)) -from_list_in, max_syn_per_input = probability_connector(input_size, neuron_pop_size, 1.) +from_list_in, max_syn_per_input = probability_connector(input_size, neuron_pop_size, p_connect_in) if max_syn_per_input > 100: Exception else: @@ -102,7 +112,12 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): weight_dependence=pynn.extra_models.WeightDependenceEpropReg( w_min=-2, w_max=2, reg_rate=0.0)) -from_list_out = [[i, 0, weight_distribution(input_size), i] for i in range(input_size)] +# from_list_out = [[i, 0, weight_distribution(input_size), i] for i in range(input_size)] +from_list_out, max_syn_per_output = probability_connector(neuron_pop_size, 1, p_connect_out) +if max_syn_per_output > 100: + Exception +else: + print "max number of synapses per readout:", max_syn_per_output out_proj = pynn.Projection(neuron, readout_pop, # pynn.OneToOneConnector(), @@ -117,29 +132,31 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): pynn.StaticSynapse(weight=[0.5], delay=[0]), receptor_type='learning_signal') -# eprop_learning_recurrent = pynn.STDPMechanism( -# timing_dependence=pynn.extra_models.TimingDependenceEprop(), -# weight_dependence=pynn.extra_models.WeightDependenceEpropReg( -# w_min=-2, w_max=2, reg_rate=reg_rate)) -# -# from_list_rec, max_syn_per_rec = probability_connector(neuron_pop_size, neuron_pop_size, 0.4, offset=100) -# if max_syn_per_rec > 150: -# Exception -# else: -# print "max number of synapses per neuron:", max_syn_per_rec -# recurrent_proj = pynn.Projection(neuron, -# neuron, -# pynn.FromListConnector(from_list_rec), -# synapse_type=eprop_learning_recurrent, -# label='recurrent_connections', -# receptor_type='recurrent_connections') +if recurrent_connections: + eprop_learning_recurrent = pynn.STDPMechanism( + timing_dependence=pynn.extra_models.TimingDependenceEprop(), + weight_dependence=pynn.extra_models.WeightDependenceEpropReg( + w_min=-2, w_max=2, reg_rate=reg_rate)) + + from_list_rec, max_syn_per_rec = probability_connector(neuron_pop_size, neuron_pop_size, p_connect_rec, offset=0) + if max_syn_per_rec > 150: + Exception + else: + print "max number of synapses per neuron:", max_syn_per_rec + recurrent_proj = pynn.Projection(neuron, + neuron, + pynn.FromListConnector(from_list_rec), + synapse_type=eprop_learning_recurrent, + label='recurrent_connections', + receptor_type='recurrent_connections') # input_pop.record('spikes') neuron.record('spikes') neuron.record(['gsyn_exc', 'v', 'gsyn_inh'], indexes=[0, 1, 2, 3]) readout_pop.record('all') -experiment_label = "eta:{}/{} - in size:{} - reg_rate: {}".format(readout_neuron_params["eta"], neuron_params["eta"], input_size, reg_rate) +experiment_label = "eta:{}/{} - size:{}/{} - reg_rate:{} - p_conn:{}/{}/{} - rec:{} - 100/{}hz old reg".format( + readout_neuron_params["eta"], neuron_params["eta"], input_size, neuron_pop_size, reg_rate, p_connect_in, p_connect_rec, p_connect_out, recurrent_connections, input_split) print "\n", experiment_label, "\n" runtime = cycle_time * num_repeats @@ -182,9 +199,28 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): print "Output connections\noriginal\n", np.array(from_list_out) print "new\n", np.array(new_connections_out) print "diff\n", np.array(connection_diff_out) + +if recurrent_connections: + new_connections_rec = []#out_proj.get('weight', 'delay').connections[0]#[] + for partition in recurrent_proj.get('weight', 'delay').connections: + for conn in partition: + new_connections_rec.append(conn) + new_connections_rec.sort(key=lambda x:x[1]) + from_list_rec.sort(key=lambda x:x[1]) + connection_diff_rec = [] + for i in range(len(from_list_out)): + connection_diff_rec.append(new_connections_rec[i][2] - from_list_rec[i][2]) + print "Recurrent connections\noriginal\n", np.array(from_list_out) + print "new\n", np.array(new_connections_out) + print "diff\n", np.array(connection_diff_out) + print experiment_label print "cycle_error =", cycle_error print "total error =", total_error +print "average error = ", np.average(cycle_error) +print "weighted average", np.average(cycle_error, weights=[i for i in range(num_repeats)]) +print "minimum error = ", np.min(cycle_error) +print "minimum iteration = ", cycle_error.index(np.min(cycle_error)) plt.figure() Figure( diff --git a/eprop_testing/learn_sinusoid_only_readout.py b/eprop_testing/learn_sinusoid_only_readout.py index 469c8c47..4f4a7733 100644 --- a/eprop_testing/learn_sinusoid_only_readout.py +++ b/eprop_testing/learn_sinusoid_only_readout.py @@ -1,7 +1,7 @@ import spynnaker8 as pynn import numpy as np import matplotlib.pyplot as plt -from frozen_poisson import build_input_spike_train +from frozen_poisson import build_input_spike_train, frozen_poisson_variable_hz from pyNN.random import NumpyRNG, RandomDistribution from pyNN.utility.plotting import Figure, Panel @@ -53,7 +53,8 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): input_size = 100 input_pop = pynn.Population(input_size, pynn.SpikeSourceArray, - {'spike_times': build_input_spike_train(num_repeats, cycle_time, input_size)}, + # {'spike_times': build_input_spike_train(num_repeats, cycle_time, input_size)}, + {'spike_times': frozen_poisson_variable_hz(num_repeats, cycle_time, 7., 7., input_size)}, label='input_pop') # Output population @@ -102,6 +103,7 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): readout_res.segments[0].filter(name='v')[0][time_index+(cycle*1024)][0]) - target_data[time_index]) cycle_error[cycle] += instantaneous_error total_error += instantaneous_error + new_connections_in = []#in_proj.get('weight', 'delay').connections[0]#[] for partition in in_proj.get('weight', 'delay').connections: for conn in partition: @@ -117,6 +119,10 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): print experiment_label print "cycle_error =", cycle_error print "total error =", total_error +print "average error = ", np.average(cycle_error) +print "weighted average", np.average(cycle_error, weights=[i for i in range(num_repeats)]) +print "minimum error = ", np.min(cycle_error) +print "minimum iteration = ", cycle_error.index(np.min(cycle_error)) plt.figure() Figure( @@ -131,7 +137,11 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): title="neuron data for {}".format(experiment_label) ) +plt.show() +plt.figure() +plt.scatter([i for i in range(num_repeats)], cycle_error) +plt.title(experiment_label) plt.show() pynn.end() From a621ba62169ef1f36980491bd822fbd1cec8ab05 Mon Sep 17 00:00:00 2001 From: Andrew Gait Date: Mon, 6 Apr 2020 11:44:43 +0100 Subject: [PATCH 34/68] Test pause-and-resume for eprop neurons; update scripts for Python 3 --- .../learn_sinusoid_from_frozen_poisson.py | 44 +++++++++---------- eprop_testing/learn_sinusoid_only_readout.py | 26 +++++------ eprop_testing/test_sinusoid_learning.py | 4 +- 3 files changed, 37 insertions(+), 37 deletions(-) diff --git a/eprop_testing/learn_sinusoid_from_frozen_poisson.py b/eprop_testing/learn_sinusoid_from_frozen_poisson.py index c547e550..8f476690 100644 --- a/eprop_testing/learn_sinusoid_from_frozen_poisson.py +++ b/eprop_testing/learn_sinusoid_from_frozen_poisson.py @@ -29,7 +29,7 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): np.random.seed(272727) cycle_time = 1024 -num_repeats = 300 +num_repeats = 600 pynn.setup(1.0) target_data = [] @@ -99,7 +99,7 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): if max_syn_per_input > 100: Exception else: - print "max number of synapses per neuron:", max_syn_per_input + print("max number of synapses per neuron:", max_syn_per_input) in_proj = pynn.Projection(input_pop, neuron, pynn.FromListConnector(from_list_in), @@ -117,7 +117,7 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): if max_syn_per_output > 100: Exception else: - print "max number of synapses per readout:", max_syn_per_output + print("max number of synapses per readout:", max_syn_per_output) out_proj = pynn.Projection(neuron, readout_pop, # pynn.OneToOneConnector(), @@ -142,7 +142,7 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): if max_syn_per_rec > 150: Exception else: - print "max number of synapses per neuron:", max_syn_per_rec + print("max number of synapses per neuron:", max_syn_per_rec) recurrent_proj = pynn.Projection(neuron, neuron, pynn.FromListConnector(from_list_rec), @@ -157,7 +157,7 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): experiment_label = "eta:{}/{} - size:{}/{} - reg_rate:{} - p_conn:{}/{}/{} - rec:{} - 100/{}hz old reg".format( readout_neuron_params["eta"], neuron_params["eta"], input_size, neuron_pop_size, reg_rate, p_connect_in, p_connect_rec, p_connect_out, recurrent_connections, input_split) -print "\n", experiment_label, "\n" +print("\n", experiment_label, "\n") runtime = cycle_time * num_repeats pynn.run(runtime) @@ -183,9 +183,9 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): connection_diff_in = [] for i in range(len(from_list_in)): connection_diff_in.append(new_connections_in[i][2] - from_list_in[i][2]) -print "Input connections\noriginal\n", np.array(from_list_in) -print "new\n", np.array(new_connections_in) -print "diff\n", np.array(connection_diff_in) +print("Input connections\noriginal\n", np.array(from_list_in)) +print("new\n", np.array(new_connections_in)) +print("diff\n", np.array(connection_diff_in)) new_connections_out = []#out_proj.get('weight', 'delay').connections[0]#[] for partition in out_proj.get('weight', 'delay').connections: @@ -196,9 +196,9 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): connection_diff_out = [] for i in range(len(from_list_out)): connection_diff_out.append(new_connections_out[i][2] - from_list_out[i][2]) -print "Output connections\noriginal\n", np.array(from_list_out) -print "new\n", np.array(new_connections_out) -print "diff\n", np.array(connection_diff_out) +print("Output connections\noriginal\n", np.array(from_list_out)) +print("new\n", np.array(new_connections_out)) +print("diff\n", np.array(connection_diff_out)) if recurrent_connections: new_connections_rec = []#out_proj.get('weight', 'delay').connections[0]#[] @@ -210,17 +210,17 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): connection_diff_rec = [] for i in range(len(from_list_out)): connection_diff_rec.append(new_connections_rec[i][2] - from_list_rec[i][2]) - print "Recurrent connections\noriginal\n", np.array(from_list_out) - print "new\n", np.array(new_connections_out) - print "diff\n", np.array(connection_diff_out) - -print experiment_label -print "cycle_error =", cycle_error -print "total error =", total_error -print "average error = ", np.average(cycle_error) -print "weighted average", np.average(cycle_error, weights=[i for i in range(num_repeats)]) -print "minimum error = ", np.min(cycle_error) -print "minimum iteration = ", cycle_error.index(np.min(cycle_error)) + print("Recurrent connections\noriginal\n", np.array(from_list_out)) + print("new\n", np.array(new_connections_out)) + print("diff\n", np.array(connection_diff_out)) + +print(experiment_label) +print("cycle_error =", cycle_error) +print("total error =", total_error) +print("average error = ", np.average(cycle_error)) +print("weighted average", np.average(cycle_error, weights=[i for i in range(num_repeats)])) +print("minimum error = ", np.min(cycle_error)) +print("minimum iteration = ", cycle_error.index(np.min(cycle_error))) plt.figure() Figure( diff --git a/eprop_testing/learn_sinusoid_only_readout.py b/eprop_testing/learn_sinusoid_only_readout.py index 4f4a7733..04f5b18b 100644 --- a/eprop_testing/learn_sinusoid_only_readout.py +++ b/eprop_testing/learn_sinusoid_only_readout.py @@ -29,7 +29,7 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): np.random.seed(272727) cycle_time = 1024 -num_repeats = 200 +num_repeats = 800 # 200 pynn.setup(1.0) target_data = [] @@ -75,7 +75,7 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): if max_syn_per_neuron > 250: Exception else: - print "max number fo synapses per neuron:", max_syn_per_neuron + print("max number fo synapses per neuron:", max_syn_per_neuron) in_proj = pynn.Projection(input_pop, readout_pop, pynn.FromListConnector(from_list_in), @@ -88,7 +88,7 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): readout_pop.record('all') experiment_label = "eta:{} - in size:{} - reg_rate: {}".format(readout_neuron_params["eta"], input_size, reg_rate) -print "\n", experiment_label, "\n" +print("\n", experiment_label, "\n") runtime = cycle_time * num_repeats pynn.run(runtime) @@ -113,16 +113,16 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): connection_diff_in = [] for i in range(len(from_list_in)): connection_diff_in.append(new_connections_in[i][2] - from_list_in[i][2]) -print "Input connections\noriginal\n", np.array(from_list_in) -print "new\n", np.array(new_connections_in) -print "diff\n", np.array(connection_diff_in) -print experiment_label -print "cycle_error =", cycle_error -print "total error =", total_error -print "average error = ", np.average(cycle_error) -print "weighted average", np.average(cycle_error, weights=[i for i in range(num_repeats)]) -print "minimum error = ", np.min(cycle_error) -print "minimum iteration = ", cycle_error.index(np.min(cycle_error)) +print("Input connections\noriginal\n", np.array(from_list_in)) +print("new\n", np.array(new_connections_in)) +print("diff\n", np.array(connection_diff_in)) +print(experiment_label) +print("cycle_error =", cycle_error) +print("total error =", total_error) +print("average error = ", np.average(cycle_error)) +print("weighted average", np.average(cycle_error, weights=[i for i in range(num_repeats)])) +print("minimum error = ", np.min(cycle_error)) +print("minimum iteration = ", cycle_error.index(np.min(cycle_error))) plt.figure() Figure( diff --git a/eprop_testing/test_sinusoid_learning.py b/eprop_testing/test_sinusoid_learning.py index faa90f17..488cf488 100644 --- a/eprop_testing/test_sinusoid_learning.py +++ b/eprop_testing/test_sinusoid_learning.py @@ -4,8 +4,8 @@ from pyNN.random import NumpyRNG, RandomDistribution from pyNN.utility.plotting import Figure, Panel - -runtime = 1024 +runtime_factor = 1000 +runtime = 1024 * runtime_factor pynn.setup(1.0) neuron_params = { From e77d1c2f456614de0ff15256b79e332069051235 Mon Sep 17 00:00:00 2001 From: Andrew Gait Date: Mon, 6 Apr 2020 11:47:46 +0100 Subject: [PATCH 35/68] Revert "Test pause-and-resume for eprop neurons; update scripts for Python 2" This reverts commit a620ba62169ef1f36980491bd822fbd1cec8ab05. --- .../learn_sinusoid_from_frozen_poisson.py | 44 +++++++++---------- eprop_testing/learn_sinusoid_only_readout.py | 26 +++++------ eprop_testing/test_sinusoid_learning.py | 4 +- 3 files changed, 37 insertions(+), 37 deletions(-) diff --git a/eprop_testing/learn_sinusoid_from_frozen_poisson.py b/eprop_testing/learn_sinusoid_from_frozen_poisson.py index 8f476690..c547e550 100644 --- a/eprop_testing/learn_sinusoid_from_frozen_poisson.py +++ b/eprop_testing/learn_sinusoid_from_frozen_poisson.py @@ -29,7 +29,7 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): np.random.seed(272727) cycle_time = 1024 -num_repeats = 600 +num_repeats = 300 pynn.setup(1.0) target_data = [] @@ -99,7 +99,7 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): if max_syn_per_input > 100: Exception else: - print("max number of synapses per neuron:", max_syn_per_input) + print "max number of synapses per neuron:", max_syn_per_input in_proj = pynn.Projection(input_pop, neuron, pynn.FromListConnector(from_list_in), @@ -117,7 +117,7 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): if max_syn_per_output > 100: Exception else: - print("max number of synapses per readout:", max_syn_per_output) + print "max number of synapses per readout:", max_syn_per_output out_proj = pynn.Projection(neuron, readout_pop, # pynn.OneToOneConnector(), @@ -142,7 +142,7 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): if max_syn_per_rec > 150: Exception else: - print("max number of synapses per neuron:", max_syn_per_rec) + print "max number of synapses per neuron:", max_syn_per_rec recurrent_proj = pynn.Projection(neuron, neuron, pynn.FromListConnector(from_list_rec), @@ -157,7 +157,7 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): experiment_label = "eta:{}/{} - size:{}/{} - reg_rate:{} - p_conn:{}/{}/{} - rec:{} - 100/{}hz old reg".format( readout_neuron_params["eta"], neuron_params["eta"], input_size, neuron_pop_size, reg_rate, p_connect_in, p_connect_rec, p_connect_out, recurrent_connections, input_split) -print("\n", experiment_label, "\n") +print "\n", experiment_label, "\n" runtime = cycle_time * num_repeats pynn.run(runtime) @@ -183,9 +183,9 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): connection_diff_in = [] for i in range(len(from_list_in)): connection_diff_in.append(new_connections_in[i][2] - from_list_in[i][2]) -print("Input connections\noriginal\n", np.array(from_list_in)) -print("new\n", np.array(new_connections_in)) -print("diff\n", np.array(connection_diff_in)) +print "Input connections\noriginal\n", np.array(from_list_in) +print "new\n", np.array(new_connections_in) +print "diff\n", np.array(connection_diff_in) new_connections_out = []#out_proj.get('weight', 'delay').connections[0]#[] for partition in out_proj.get('weight', 'delay').connections: @@ -196,9 +196,9 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): connection_diff_out = [] for i in range(len(from_list_out)): connection_diff_out.append(new_connections_out[i][2] - from_list_out[i][2]) -print("Output connections\noriginal\n", np.array(from_list_out)) -print("new\n", np.array(new_connections_out)) -print("diff\n", np.array(connection_diff_out)) +print "Output connections\noriginal\n", np.array(from_list_out) +print "new\n", np.array(new_connections_out) +print "diff\n", np.array(connection_diff_out) if recurrent_connections: new_connections_rec = []#out_proj.get('weight', 'delay').connections[0]#[] @@ -210,17 +210,17 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): connection_diff_rec = [] for i in range(len(from_list_out)): connection_diff_rec.append(new_connections_rec[i][2] - from_list_rec[i][2]) - print("Recurrent connections\noriginal\n", np.array(from_list_out)) - print("new\n", np.array(new_connections_out)) - print("diff\n", np.array(connection_diff_out)) - -print(experiment_label) -print("cycle_error =", cycle_error) -print("total error =", total_error) -print("average error = ", np.average(cycle_error)) -print("weighted average", np.average(cycle_error, weights=[i for i in range(num_repeats)])) -print("minimum error = ", np.min(cycle_error)) -print("minimum iteration = ", cycle_error.index(np.min(cycle_error))) + print "Recurrent connections\noriginal\n", np.array(from_list_out) + print "new\n", np.array(new_connections_out) + print "diff\n", np.array(connection_diff_out) + +print experiment_label +print "cycle_error =", cycle_error +print "total error =", total_error +print "average error = ", np.average(cycle_error) +print "weighted average", np.average(cycle_error, weights=[i for i in range(num_repeats)]) +print "minimum error = ", np.min(cycle_error) +print "minimum iteration = ", cycle_error.index(np.min(cycle_error)) plt.figure() Figure( diff --git a/eprop_testing/learn_sinusoid_only_readout.py b/eprop_testing/learn_sinusoid_only_readout.py index 04f5b18b..4f4a7733 100644 --- a/eprop_testing/learn_sinusoid_only_readout.py +++ b/eprop_testing/learn_sinusoid_only_readout.py @@ -29,7 +29,7 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): np.random.seed(272727) cycle_time = 1024 -num_repeats = 800 # 200 +num_repeats = 200 pynn.setup(1.0) target_data = [] @@ -75,7 +75,7 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): if max_syn_per_neuron > 250: Exception else: - print("max number fo synapses per neuron:", max_syn_per_neuron) + print "max number fo synapses per neuron:", max_syn_per_neuron in_proj = pynn.Projection(input_pop, readout_pop, pynn.FromListConnector(from_list_in), @@ -88,7 +88,7 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): readout_pop.record('all') experiment_label = "eta:{} - in size:{} - reg_rate: {}".format(readout_neuron_params["eta"], input_size, reg_rate) -print("\n", experiment_label, "\n") +print "\n", experiment_label, "\n" runtime = cycle_time * num_repeats pynn.run(runtime) @@ -113,16 +113,16 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): connection_diff_in = [] for i in range(len(from_list_in)): connection_diff_in.append(new_connections_in[i][2] - from_list_in[i][2]) -print("Input connections\noriginal\n", np.array(from_list_in)) -print("new\n", np.array(new_connections_in)) -print("diff\n", np.array(connection_diff_in)) -print(experiment_label) -print("cycle_error =", cycle_error) -print("total error =", total_error) -print("average error = ", np.average(cycle_error)) -print("weighted average", np.average(cycle_error, weights=[i for i in range(num_repeats)])) -print("minimum error = ", np.min(cycle_error)) -print("minimum iteration = ", cycle_error.index(np.min(cycle_error))) +print "Input connections\noriginal\n", np.array(from_list_in) +print "new\n", np.array(new_connections_in) +print "diff\n", np.array(connection_diff_in) +print experiment_label +print "cycle_error =", cycle_error +print "total error =", total_error +print "average error = ", np.average(cycle_error) +print "weighted average", np.average(cycle_error, weights=[i for i in range(num_repeats)]) +print "minimum error = ", np.min(cycle_error) +print "minimum iteration = ", cycle_error.index(np.min(cycle_error)) plt.figure() Figure( diff --git a/eprop_testing/test_sinusoid_learning.py b/eprop_testing/test_sinusoid_learning.py index 488cf488..faa90f17 100644 --- a/eprop_testing/test_sinusoid_learning.py +++ b/eprop_testing/test_sinusoid_learning.py @@ -4,8 +4,8 @@ from pyNN.random import NumpyRNG, RandomDistribution from pyNN.utility.plotting import Figure, Panel -runtime_factor = 1000 -runtime = 1024 * runtime_factor + +runtime = 1024 pynn.setup(1.0) neuron_params = { From 10eb384ad89b4ba245e4762d395bbc4a98831060 Mon Sep 17 00:00:00 2001 From: Andrew Gait Date: Mon, 6 Apr 2020 11:52:31 +0100 Subject: [PATCH 36/68] Test pause-and-resume for eprop neurons, fix for Python 3 --- .../learn_sinusoid_from_frozen_poisson.py | 44 +++++++++---------- eprop_testing/learn_sinusoid_only_readout.py | 26 +++++------ eprop_testing/test_sinusoid_learning.py | 4 +- 3 files changed, 37 insertions(+), 37 deletions(-) diff --git a/eprop_testing/learn_sinusoid_from_frozen_poisson.py b/eprop_testing/learn_sinusoid_from_frozen_poisson.py index c547e550..8f476690 100644 --- a/eprop_testing/learn_sinusoid_from_frozen_poisson.py +++ b/eprop_testing/learn_sinusoid_from_frozen_poisson.py @@ -29,7 +29,7 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): np.random.seed(272727) cycle_time = 1024 -num_repeats = 300 +num_repeats = 600 pynn.setup(1.0) target_data = [] @@ -99,7 +99,7 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): if max_syn_per_input > 100: Exception else: - print "max number of synapses per neuron:", max_syn_per_input + print("max number of synapses per neuron:", max_syn_per_input) in_proj = pynn.Projection(input_pop, neuron, pynn.FromListConnector(from_list_in), @@ -117,7 +117,7 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): if max_syn_per_output > 100: Exception else: - print "max number of synapses per readout:", max_syn_per_output + print("max number of synapses per readout:", max_syn_per_output) out_proj = pynn.Projection(neuron, readout_pop, # pynn.OneToOneConnector(), @@ -142,7 +142,7 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): if max_syn_per_rec > 150: Exception else: - print "max number of synapses per neuron:", max_syn_per_rec + print("max number of synapses per neuron:", max_syn_per_rec) recurrent_proj = pynn.Projection(neuron, neuron, pynn.FromListConnector(from_list_rec), @@ -157,7 +157,7 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): experiment_label = "eta:{}/{} - size:{}/{} - reg_rate:{} - p_conn:{}/{}/{} - rec:{} - 100/{}hz old reg".format( readout_neuron_params["eta"], neuron_params["eta"], input_size, neuron_pop_size, reg_rate, p_connect_in, p_connect_rec, p_connect_out, recurrent_connections, input_split) -print "\n", experiment_label, "\n" +print("\n", experiment_label, "\n") runtime = cycle_time * num_repeats pynn.run(runtime) @@ -183,9 +183,9 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): connection_diff_in = [] for i in range(len(from_list_in)): connection_diff_in.append(new_connections_in[i][2] - from_list_in[i][2]) -print "Input connections\noriginal\n", np.array(from_list_in) -print "new\n", np.array(new_connections_in) -print "diff\n", np.array(connection_diff_in) +print("Input connections\noriginal\n", np.array(from_list_in)) +print("new\n", np.array(new_connections_in)) +print("diff\n", np.array(connection_diff_in)) new_connections_out = []#out_proj.get('weight', 'delay').connections[0]#[] for partition in out_proj.get('weight', 'delay').connections: @@ -196,9 +196,9 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): connection_diff_out = [] for i in range(len(from_list_out)): connection_diff_out.append(new_connections_out[i][2] - from_list_out[i][2]) -print "Output connections\noriginal\n", np.array(from_list_out) -print "new\n", np.array(new_connections_out) -print "diff\n", np.array(connection_diff_out) +print("Output connections\noriginal\n", np.array(from_list_out)) +print("new\n", np.array(new_connections_out)) +print("diff\n", np.array(connection_diff_out)) if recurrent_connections: new_connections_rec = []#out_proj.get('weight', 'delay').connections[0]#[] @@ -210,17 +210,17 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): connection_diff_rec = [] for i in range(len(from_list_out)): connection_diff_rec.append(new_connections_rec[i][2] - from_list_rec[i][2]) - print "Recurrent connections\noriginal\n", np.array(from_list_out) - print "new\n", np.array(new_connections_out) - print "diff\n", np.array(connection_diff_out) - -print experiment_label -print "cycle_error =", cycle_error -print "total error =", total_error -print "average error = ", np.average(cycle_error) -print "weighted average", np.average(cycle_error, weights=[i for i in range(num_repeats)]) -print "minimum error = ", np.min(cycle_error) -print "minimum iteration = ", cycle_error.index(np.min(cycle_error)) + print("Recurrent connections\noriginal\n", np.array(from_list_out)) + print("new\n", np.array(new_connections_out)) + print("diff\n", np.array(connection_diff_out)) + +print(experiment_label) +print("cycle_error =", cycle_error) +print("total error =", total_error) +print("average error = ", np.average(cycle_error)) +print("weighted average", np.average(cycle_error, weights=[i for i in range(num_repeats)])) +print("minimum error = ", np.min(cycle_error)) +print("minimum iteration = ", cycle_error.index(np.min(cycle_error))) plt.figure() Figure( diff --git a/eprop_testing/learn_sinusoid_only_readout.py b/eprop_testing/learn_sinusoid_only_readout.py index 4f4a7733..04f5b18b 100644 --- a/eprop_testing/learn_sinusoid_only_readout.py +++ b/eprop_testing/learn_sinusoid_only_readout.py @@ -29,7 +29,7 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): np.random.seed(272727) cycle_time = 1024 -num_repeats = 200 +num_repeats = 800 # 200 pynn.setup(1.0) target_data = [] @@ -75,7 +75,7 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): if max_syn_per_neuron > 250: Exception else: - print "max number fo synapses per neuron:", max_syn_per_neuron + print("max number fo synapses per neuron:", max_syn_per_neuron) in_proj = pynn.Projection(input_pop, readout_pop, pynn.FromListConnector(from_list_in), @@ -88,7 +88,7 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): readout_pop.record('all') experiment_label = "eta:{} - in size:{} - reg_rate: {}".format(readout_neuron_params["eta"], input_size, reg_rate) -print "\n", experiment_label, "\n" +print("\n", experiment_label, "\n") runtime = cycle_time * num_repeats pynn.run(runtime) @@ -113,16 +113,16 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): connection_diff_in = [] for i in range(len(from_list_in)): connection_diff_in.append(new_connections_in[i][2] - from_list_in[i][2]) -print "Input connections\noriginal\n", np.array(from_list_in) -print "new\n", np.array(new_connections_in) -print "diff\n", np.array(connection_diff_in) -print experiment_label -print "cycle_error =", cycle_error -print "total error =", total_error -print "average error = ", np.average(cycle_error) -print "weighted average", np.average(cycle_error, weights=[i for i in range(num_repeats)]) -print "minimum error = ", np.min(cycle_error) -print "minimum iteration = ", cycle_error.index(np.min(cycle_error)) +print("Input connections\noriginal\n", np.array(from_list_in)) +print("new\n", np.array(new_connections_in)) +print("diff\n", np.array(connection_diff_in)) +print(experiment_label) +print("cycle_error =", cycle_error) +print("total error =", total_error) +print("average error = ", np.average(cycle_error)) +print("weighted average", np.average(cycle_error, weights=[i for i in range(num_repeats)])) +print("minimum error = ", np.min(cycle_error)) +print("minimum iteration = ", cycle_error.index(np.min(cycle_error))) plt.figure() Figure( diff --git a/eprop_testing/test_sinusoid_learning.py b/eprop_testing/test_sinusoid_learning.py index faa90f17..488cf488 100644 --- a/eprop_testing/test_sinusoid_learning.py +++ b/eprop_testing/test_sinusoid_learning.py @@ -4,8 +4,8 @@ from pyNN.random import NumpyRNG, RandomDistribution from pyNN.utility.plotting import Figure, Panel - -runtime = 1024 +runtime_factor = 1000 +runtime = 1024 * runtime_factor pynn.setup(1.0) neuron_params = { From 3ab9c6c6b67d77f5d501718df5b3c8d1c025093c Mon Sep 17 00:00:00 2001 From: oliverrhodes Date: Wed, 8 Apr 2020 17:30:56 +0100 Subject: [PATCH 37/68] Add configuration to test single input cycle per target cycle --- ...inusoid_only_readout_single_cycle_input.py | 158 ++++++++++++++++++ 1 file changed, 158 insertions(+) create mode 100644 eprop_testing/learn_sinusoid_only_readout_single_cycle_input.py diff --git a/eprop_testing/learn_sinusoid_only_readout_single_cycle_input.py b/eprop_testing/learn_sinusoid_only_readout_single_cycle_input.py new file mode 100644 index 00000000..5274f744 --- /dev/null +++ b/eprop_testing/learn_sinusoid_only_readout_single_cycle_input.py @@ -0,0 +1,158 @@ +import spynnaker8 as pynn +import numpy as np +import matplotlib.pyplot as plt +from frozen_poisson import build_input_spike_train, frozen_poisson_variable_hz +from pyNN.random import NumpyRNG, RandomDistribution +from pyNN.utility.plotting import Figure, Panel + +def weight_distribution(pop_size): + base_weight = np.random.randn() / np.sqrt(pop_size) + # base_weight = 0 + return base_weight + +def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): + connections = [] + max_syn_per_neuron = 0 + for j in range(post_pop_size): + neuron_syn_count = 0 + delay_count = offset + for i in range(pre_pop_size): + if np.random.random() < prob: + neuron_syn_count += 1 + conn = [i, j, weight_distribution(pre_pop_size), delay_count] + delay_count += 1 + connections.append(conn) + if neuron_syn_count > max_syn_per_neuron: + max_syn_per_neuron = neuron_syn_count + return connections, max_syn_per_neuron + +np.random.seed(272727) + +cycle_time = 1024 +num_repeats = 100 # 200 +pynn.setup(1.0) + +target_data = [] +for i in range(1024): + target_data.append(#1) + 0 + 2 * np.sin(2 * i * 2* np.pi / 1024) \ + + 2 * np.sin((4 * i * 2* np.pi / 1024)) + ) + +synapse_eta = 100 + +readout_neuron_params = { + "v": 0, + "v_thresh": 30, # controls firing rate of error neurons + "target_data": target_data, + "eta": synapse_eta + } + +pynn.setup(timestep=1) + +input_size = 100 +input_pop = pynn.Population(input_size, + pynn.SpikeSourceArray, + {'spike_times': build_input_spike_train(num_repeats, cycle_time, input_size)}, + label='input_pop') + +# Output population +readout_pop = pynn.Population(3, # HARDCODED 1 + pynn.extra_models.SinusoidReadout( + **readout_neuron_params + ), + label="readout_pop" + ) + +reg_rate = 0.00 +eprop_learning_neuron = pynn.STDPMechanism( + timing_dependence=pynn.extra_models.TimingDependenceEprop(), + weight_dependence=pynn.extra_models.WeightDependenceEpropReg( + w_min=-2.0, w_max=2.0, reg_rate=reg_rate)) + +from_list_in, max_syn_per_neuron = probability_connector(input_size, 1, 1.) +if max_syn_per_neuron > 250: + Exception +else: + print("max number fo synapses per neuron:", max_syn_per_neuron) +in_proj = pynn.Projection(input_pop, + readout_pop, + pynn.FromListConnector(from_list_in), + # pynn.AllToAllConnector(), + synapse_type=eprop_learning_neuron, + label='input_connections', + receptor_type='input_connections') + +input_pop.record('spikes') +readout_pop.record('all') + +experiment_label = "eta:{} - in size:{} - reg_rate: {}".format(readout_neuron_params["eta"], input_size, reg_rate) +print("\n", experiment_label, "\n") + +runtime = cycle_time * num_repeats + +for i in range(num_repeats): + pynn.run(cycle_time) + +in_spikes = input_pop.get_data('spikes') +readout_res = readout_pop.get_data('all') + +total_error = 0.0 +cycle_error = [0.0 for i in range(num_repeats)] +for cycle in range(num_repeats): + for time_index in range(1024): + instantaneous_error = np.abs(float( + readout_res.segments[0].filter(name='v')[0][time_index+(cycle*1024)][0]) - target_data[time_index]) + cycle_error[cycle] += instantaneous_error + total_error += instantaneous_error + +new_connections_in = []#in_proj.get('weight', 'delay').connections[0]#[] +for partition in in_proj.get('weight', 'delay').connections: + for conn in partition: + new_connections_in.append(conn) +new_connections_in.sort(key=lambda x:x[1]) +from_list_in.sort(key=lambda x:x[1]) +connection_diff_in = [] +for i in range(len(from_list_in)): + connection_diff_in.append(new_connections_in[i][2] - from_list_in[i][2]) + +print("Input connections\noriginal\n", np.array(from_list_in)) +print("new\n", np.array(new_connections_in)) +print("diff\n", np.array(connection_diff_in)) +print(experiment_label) +print("cycle_error =", cycle_error) +print("total error =", total_error) +print("average error = ", np.average(cycle_error)) +print("weighted average", np.average(cycle_error, weights=[i for i in range(num_repeats)])) +print("minimum error = ", np.min(cycle_error)) +print("minimum iteration = ", cycle_error.index(np.min(cycle_error))) + +plt.figure() +Figure( + + Panel(in_spikes.segments[0].spiketrains, ylabel='in_spikes', xlabel='in_spikes', yticks=True, xticks=True, xlim=(0, runtime)), + + Panel(readout_res.segments[0].filter(name='v')[0], ylabel='Membrane potential (mV)', yticks=True, xticks=True, xlim=(0, runtime)), + + Panel(readout_res.segments[0].filter(name='gsyn_exc')[0], ylabel='gsyn_exc', yticks=True, xticks=True, xlim=(0, runtime)), + + Panel(readout_res.segments[0].filter(name='gsyn_inh')[0], ylabel='gsyn_inh', yticks=True, xticks=True, xlim=(0, runtime)), + + title="neuron data for {}".format(experiment_label) +) +plt.show() + +plt.figure() +plt.scatter([i for i in range(num_repeats)], cycle_error) +plt.title(experiment_label) +plt.show() + +pynn.end() +print("job done") + +''' +plt.figure() +plt.scatter([i for i in range(num_repeats)], cycle_error) +plt.title(experiment_label) +plt.show() +''' \ No newline at end of file From 0d1501e1fab96473b16c87b248b2a2c4d53ba49f Mon Sep 17 00:00:00 2001 From: such-a-git Date: Tue, 21 Apr 2020 16:32:45 +0100 Subject: [PATCH 38/68] 'best' learning with only readout, spike pattern now creates actual 10Hz signal and for large population size and duration, slight changes to scripts for ease of testing, beginnings of test left right --- .../1000 neurons - 10Hz - 100*1024s.npy | Bin 0 -> 3817244 bytes eprop_testing/frozen_poisson.py | 286 ++++++++--------- .../learn_sinusoid_from_frozen_poisson.py | 213 ++++++++----- eprop_testing/learn_sinusoid_only_readout.py | 8 +- eprop_testing/test_left_right_readout.py | 290 ++++++++++++++++++ 5 files changed, 580 insertions(+), 217 deletions(-) create mode 100644 eprop_testing/1000 neurons - 10Hz - 100*1024s.npy create mode 100644 eprop_testing/test_left_right_readout.py diff --git a/eprop_testing/1000 neurons - 10Hz - 100*1024s.npy b/eprop_testing/1000 neurons - 10Hz - 100*1024s.npy new file mode 100644 index 0000000000000000000000000000000000000000..4f2337b4213b4ebf9473303786606268b0b465c5 GIT binary patch literal 3817244 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%0D6C>NQIz2$hKUE_ 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 ?h3=k941hseG6#M*L~y5sn?< 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

HcE&xLph-oZy_{S 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

^YZMgzqPf^B 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

g^8rQ%6lbKiOnM%R7RT$my{}b1^ax$ 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

r*I0Xv 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

>_86`y}!(ItTDo+)A#R)NSxKVP1(LoFq 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�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%0A_TVocs%R!7ne#i6dSPFYk>*jQgE+(6i%7+0{{ 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

p)knNyuJ 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 z z&aaM34MJ*As3zVu38_hFO$OGaw7L4Tq8913^iu7L+7z!t>pFzhVPzfu)WKe|q3YsS zm$P+AcA|Pc7T3e4K1=G8(13dlaCBy2dzB_^I)6@8$3AZ!83E9HVW>6ix$HqGZsGB_>kKNM;}T^ zps_Crz9jmR=1Ybz@#aA7>n>PzrI5K%o3|U?dQij<2S2*|>1)>vKZ=;AuFHBNo3!aY zso+mBvqqcN3;zHj1E|`YoN|S>4>SAV7Ra1HE(YQngnJMZf|wn|?jSOPINq1y!Q2m~ zUI=|cSRTUO5Kf0Mz8{JGnA;DFP~jU(IJd& zVH6#}&H?Nmz~2E_g;ObH636#AoX60A zEQ80gWE{uGX`|h50^KK4F`lZEXgP`blPH{kT>|wI*q=cC$uyYEzAxqPQhFxwH;GlrJWHlb3Jp{6 zPvL$FFH*FpZn=!qWmvADbuDRY zsl1L!>)2$%pjxk|_j-cYGh{uvH!yPpt2VG^1A{kWvx(wcC?l=(78-1&$5w7_CEGS) zwiCadrQ6wPqMvf_V8{-7?d07~a_l0fyj$JH?OnXw#kXC0nzpzJLvFAKw>^06q0=4? z@1fXU68ExdFE{s+zLy{SsI;HR{Y35O!+y#hp!7ld9^}*^(hpJNFfNCAbeKv<=ya5) zNBMD-vd1WQjId)wALGg~S{|q0ab6xL*9j_|!15#)PLg_x%BS^A(dyGYJB`g5uAE`q zSq`5i(>XevBjp_T&++9P70=V{JSpcXa)C1!sC|*Ri+sI^#U)x@BIpv)mpFfkc9)5} zOtmYtHGxqMS7~>R^Vj%!jbGQuxW@SFl)i!YEe72p_%=sxv-S?%@3Q(tno3kE?<5cEG2xFH^_cySS@(p4Pw;rE zo%Q;sJblWjXCytt>-OgdxInUv0)bl#kurJBoX5VV!bCX_{9^RbDGY^9f%R`~3PlWljO%mol%Q;8aNPQhF#Olum_( zg~}bJPZ8moa;vCdr)}+Md*PMhU0m3%^0ca87JI{LNM&N2Zfj*zQ!tI|zFPV(ly6FCZ6QTzQ%CSrQk3d-g_DYvlQ2;+ zK~2@`N%c+%tuIVg_A1d0gfB`?XQ8grL&>X+YgNU(KaJGtr&7I<&`9a5m|6wU1!b74Fjg7WOvv9{c%Ya8>^wKAin|Nz6

powtuxCb#L6R=HXVofRL& zu9Xm{tWnk}ClnLobgZ>h)@_9B%6R2J<*!oHL#VF|R#KFoN*_-_-fhW$LrQ0*pE65X ztK3n_dkK{kXT{cA=&j6A8nzPxl(9;d_QEdZx6-GBa7t;_Q5dT<=p=;s2uaF*C7Z9% zUrAC{C|i`{O5rX-6UCgm?a@`Lze@LR!dm5xaznj?G!1JKE(I?>>qo)^@U1bCs>i z&w)btAYr^>uH2RxEY&_Gdz9d)_$mFAbmfOqI$Cg7W-En<2xg3XTdVmo!i=H+1jfwGG0ki(gf*BJ8M@;Rdd)jATzTv^D8r+77VZ;*@Dd$yt1H@C5&Ga=l-g&5%mzH@cn~xRwSd*W>`6*-~m|heh z)$9!~EX2=3lqyW?!lV>tb72k?=0{;F6v4L$dyBBsj%Gy}RFpYIDPD{|CT*#>J+15s zuxF$_`|UYkk8N?POZbwk6qn#d38G3eq7+G`I8_RF2Z9~A?to=!s+mu+kL#DAbs0{S z;Z_*}%hJV>d5-LINwS)X$`_^5Lc6xHK|^U&{`zc;(9H1 z)@E;Qme(P?E)nJ(sf!bxod|SdtxR^Ec;>_hCo;)~aebE7XPfyNJLBohU}u&%bHtf$ z4H?;xsSR1*kkj(Mv=PaTxZa4rjcCxAosBu(7>g!!Hm^y~HNm1OGWy-+!aWzBx?tgo zw=11oiE*WIGyIxyxEXoeaB^dh8<*U;Wmb^uyVJ>?S>`nETX$SqFxi~OtBruz6qVV-lbCdrJ4sU~}5%B*^FG#aOeQ+}fL1Z*1B!s4aimQllMh z+R>pMYdX-PBmFzFq9g5PLhM7J52bynW>$?Gbm3$d3UsANSITx}Yd1!8XG(VtNg8qw zW=aUMA9wwz+mqm)nsglN&qja#_~X?}N590o zG!JA;AU6WJ8OY=yo(GYuFAjYP4d#6?8NvJrp+Y}4gmNa72mNsiqfHp$X6N{L7En9p|*a|dyJ5Fvxf8Lhd-52I;qqK)Nv&!{2X z8$#z8LSu-D;a?1Oh7vlIheP#*kMyY3hLbp)VIxQ%!Os!+#Ih-t)3Mx))UGGn%ub`EG{6OXIj2$HOtaG8xD9#^ODem*$fvqe~}HWFp>j(I=i}lNdaS zg_Br4iIoZ1PbOiq<`*BF!o_J6oleu~jG0cyL=GqNB#~t^=rxnTnUtADso5mV=J{;e z%%PLH&@*}t-^>_z(_DVfV~ljC3wXDH4-4qGkj0DHy_nZaSewM#B$_1?pUk9WN~PeF z!rW!7SjNL;+*?kX`FgG-Y9-xPQD!xNR%5q@BWoD9mIZ66y^am*IJ!<}w|?sxw4R~s z8E)pdW7qS1J@y+Izk#0{_`Z>kn<%}R24WOyeUwJVN%Pj6O>8QCb{h>M^#TVCM-^PvCrtpQk8#n#9wrJ^np5 zvv{4Q&^flAW6pU-T;R(E4qoK-MFw1A)FqNH(c&_lFSGG7moBr^%xnK#Ve3_L$UgCP zN=nmsorTv)y3Vib)W5;B8>HOe`VHJ~5`B|3H_37f$6M^aMZ4P!xy|_7B;4ltZMxkd z_zuVKQ1>o1?{VNBpYGv&AOHLGzE92vw12>!htz+>>qpq7;+;zWREDH7EftH$SUjQh z6C$4S`YDT^vE~_vpHb{N=bjVsg3&KH@`5gD^h;xP8mVbiGc9GrOYXd+-YZ(ZV#O=& zyyDv{EMIGMQnoi_H^*))v&E#(j9{b2PE zcKpEqC#!x^;1`{LQSUd6f7AXq;lEk>o7cZ-_=jJA=$S#U3`S+J^DkNcwXw=9f3mwM zOO;)UgN3lkQaGF$dv=QoOX_Sw>i+oK(Il z1Ir3Sl^=?EmAb-Fs&`7Zazbt;PFbNGQcRZ8u?kYPM{#R1&%?nJNp{ zlm=CVZpsiPPMN42R4P;zDk|%hR@H~7)5H2XaTM9!IGw9vgN~$rfg-^;)Wq2Fm zozmGu2vbZV(@jsQhIk2a%4B7glGR&itOP2R+6t|dj>?JlLX!@{LFK%%ucPo+$=6Bf zs_ax8Itykw`JPs<6h|Lno?;IBEbAiGMx|I+q1pd2RI3@v)NaBP<+)huxnDlSSZB}}=Z+*S$) z3jWF-<$`iosTCv??JIOp{FG>=O|Z~eiBbym6ILo6LxugyZRL~FqQCG^xf>?j9v~D8 z7n&=*lzU3)2%*{kk)c&4izRTf0R4Jgo-1C60t&gWt;L_={r)0R3<1Nm4@2xepL>P78=J1A<7Qr zuF_|WU?#Ta#O*2l@rxjLgR+d1+Czy}UMe-m3mHn#1fk+Yp}TTVxfL&zOAvgNLyFU6 z!ChIa^q(T!P|Tg5dQ+uJR|-rM%!u}aR{qn4amr+6p&-q$j~UUn_2|T;%p_)JZe~4e zd(MIf7WA?t)RII?I-B0NXBG}-;d&OzTQkI3kN(WbN+uf)+VCqI1+r@z@#Gxb&cO#6 z%jV#xElxSIXL6B|i&nY$oSWadNzJ35gb+8)i+4Uo=3{C;mgHl3K1$}N zdVWe3pmhNf3(%?{<;{FHx-b_Dv%Uyf?8sD3e>N_qzc?NDM^0j*UfQtqlX)jZftj>oI648M7qt#NM6gw}L!Ly&ATx8bk{sUFny)HAg~o`iWa z+>=C4ws>;QlMkMJ_oR{ZwdQthRWDk~4InQDc`?dlD8+bl)SCuviE2x7TQ0QaOP#b3M7(lb1a?;!oCIIP_vjFFXU7 z9>B`pZ0XIe-g>Y0VIS;+*cQa6AeQyzQeS47$F^UB=^etc5YG3*J{0dz`iC+$lq;d! z4&^|9vWBrFjDiD*9YDqa@`Mu@PTojbMiLlFcqEaLT#ID&KrRmC%|I*$QF0KW@|@P( zu8om!;wbV)(=wW|(aewLWHdE~5HLhTlLBL?GL#WRDLV{?5jBjB!x%rDJ;Ql8oGK%@ zID+P}95=o1qgYZ#a$qEpqxcku^%&ZZVbT~jjbZ6np2#(yar_y_F0=DoVgk++h@8Nv z3HVK9;zaVrQ$C)$@obIfbv*AUk(R*y$&{GF->EoF=k#=5Os8!k%M-~qgSImmJA>{s zSvixtGwC&pNwct)>$G!-nS->v%jV!em!)&bn9KTkY?+7UeCo_+;(VsfCuKg_7f@pX zAqyC{fO`v=ypUZB`L&R;i}ZX?{>AiP%!|czSi+qpd|#s3!-tphXek|%*p)OO^n6`}d%h)YB#LL;ff?X@vy@Goyuvy7~Rcuf*8*SC3bhx&KvdzX6mcy*s;5BTwb9CGF7A*~;> z;USsLNVh;LrBg{sCH^sIAJgLrbDvQ7DXvf1{*>!xQ@Z0b3YwF(8=rIcIVE3E?*%tr zusMwrX*@}z#7mrBvg##r;%Comyx!pSmTqq;`Hn&FDEpov?>X|Goawlyb19u$=@k5c z`v+EjAp1vLKa%p1^&gr2iLRfK4%_1kDPK78h2CGaz25wlC*SDsoo?Sr{f_kyX8xej zPrCoq3qCQwSo{mC-<180({FPA;maS^WYFd>ll~I=kInzun9*%~X8G%XQ)y@+Y*VZ) zg$Bwi<%*TCJBwgrEtJSA_$k*FlPUbvMyi_Ggz<`FcHyLQLwTq?R;+ReuM`_wp}NvR znXjzKDO^@efRov4o}Np7ESyKEt8`MLl?lppB~dw}bjvIBP@X7>`Gf`eg_BB?0>V$F zX+hzeGNX_%rLgc$F|*pY+A0^b6B;Sql_APmB}Y-Aq|!ohDE2?h&DtOOqrJUQMlpAM zo@-?mnWq<*YIF(VmeN=I<^PnJQo=Z8zG5!=L^?<{Td7uB2vls#2z3-^Wxq17tnk!P zSWr&5pfo8jq*M^HR21eZW{8`uvQ#;h=T(GaRfU>LscJ&7a!r|5U9hYn*eKPMHZ_Iz z$_V9za;=tNQAa4Lv{Dk3r^+|wLtUYRlh8>Cs3(}?vuCtwqs{9?C3^#5g>qOa;4GN1 z;drfb0L$PFiM%KY*MZ(+1!Piij#6qxvZ3LA(-%| z^j1<;Z!K(8Xd^69%6JG-%4X%bvc^*=if~qWtz;;TyoJX~zV-pmJ2{ z)=_w&1auN+D)W{4ods{DuCH)LvF##!Q5tj=#wah8-Q9#Eic5E4M-SnUViuGq`$?6k z>{K2pxq1psm0!wuf1yz?VYFg~xFrLmDy582;*=ESnqtPexq3@gTk%#pDCd;seT2h` zU7+wt2@eu3DU13FSC!hq!bl}eX%ix32^E|aFJ-6FroRv$ChSsH4-nQVsY<$HvV!wQ zNcB8Ym^e^)p_nJPnFdScteDrfoui~O8_5f_I;@;g?4t#f5Zp(rXl0^uM)|EQ8Y1ja zE-4u?Lex+pRr#q{4ihFRFO_`5g#t=@<+<`l88kwu6f2knsFhlo9cGgroH9y&^cXD+ zQ#L61;sh6^{TN}%SmD01WSnVj2aK0GW`giSsXtNZq6}A#E1#5g@xtBzqw*yAv6a$6 zS*(~RxlEDDSDC5ISFS5-rwXr>V$*~H%0}hAa&@}!|7{=pn%1_B$8?YR9@`j~naP>u zf0cEa8Dv2|OJXb;XV#CiWg*0xf!6fON?cYZWaWBRf@~OQ!)6=$X5(-++_Dp&gQYpB zVT)%@mgQuliT2Htn+mxJ&cpgV*yp8QUV7$bYF^UwvLZjJ`I%6Fiv_SZ&ur@yq<%pf zm}Yigu-@Qu;ZH@hl&zkj5Wn@wr9OP5A4ZToGQi1 zTY_dK$yAEmrD#}+F{Q}tfQ0F*=<*}|n-wO1vfK5f(R-||(DpsOJC5BgGawX%8Ijyj5O>}FfwC1d&{19ktv{pvS?JGefAaOBR4=~wA~b+W z0lW*~ZvaJm1qlL+d{D>%;3lR1G31h<|;l9gIsbf#$}}gJ5!p5Ea6d z5Y~mTq92PxIbpJVgZq=*pWb0?594tqqq`{?GQQ)VZ#t2VmKQ^ib?c+J&cTDWFA4w5mbq# zYb;A+*&55a{Rp~e`NjA71L_KxN9SRRk%_gKDM(tSUra_bEz^Hm$@vT%Z<4dn@6*G zT$@Mn`E;JohWTup&z1SuE}+^1S}dUN0#+~J<^rBB;O7ELF66H~1YU&OVv-kgL!zaY zAX&k!l4zZTO)@!?sh-S%WR|5MPkrw#l*JVeMAqwwg7oIkcLlYY1P%$Tcip zgY{Zs*Ya>Juh){XmJ#dNyN+J#iCIr^)4&eiK+*=bZQ#oW3T&k2MqX{C;3k|lVJ+8b zH&c8w)iyI^GdH&ox0RJ!xx1AQTk+aXgjr6WW1jln*};TeY&6~L>)p)V!@)h+?4`k8 zn(fy_sj&S_-Oq0G+V|3a79Ak;AkK&IK1A0;%sE7f!^9mW@hGd0l73W=>U=wf-Ek(E zUiI5?EKX4K1Y_lq?+Koq;MEBY2TnZ2?o&9Q=8`<@J;&E`Sf8i;1&UoH<|6AZ(&7@i zFH`F>p_h4gna6TD=PC!UGVU5XuaQss%^P$#2WQi6(Bvk*H|cqkr8n`r#p7FK+~Ud| zKHQgv>E(5-Y4*XtHn+aY4(utheSOj(<3m8#7iIZ{V|qLNP0r?ryPFD$!FYr zM)Y&4zhKu3uDzgo8qLxel*W-Xy1eAzOOC%J{~KDo!SfCOkEpv2>T=)SK5i?Zh=F1^ zb_Zgh7#R4r6$J$Y#V%BA?84l3cXxMpcXxMpKkK?@&hMGI=e4h|=dUw!X58zn^;v81 zOP;f8U8TJLD~j-l_^_>Oq*N%o$t?|JZ^C+|sUr(-|pHLlwy@_nMnC-}s6 z=lYGyXDWVX(Puor5b>3p&JEeB-^wr_c{N{ou+^KK>;BFM9l9^e=p!D>pU% zF#HeW|FH27TmKOLm;Qf=`ODP5H2+sUVJ!R0xu%#I+i=fueFkqn#KbMvLBw{zq;XOOwTEkw_(}mk1FD#XFJI&B!b|imk#u zv2jFv69tnP>%}Qi+ufKgPKpd3#`a{!QE^$^6#0`I4Mit$NW2kyRH2>}u~Qm}#CDO* z(g+~k;fyy2=CIUPTo50GGv3_D+fsY+NPHA^avIk};#@{eF-(5Mt~|~X99YR(mL^4d=|+I8#zQP(OrBMUPX)* z!dY#+qNt_g#f;L$jm5%wx?8P;rS2kHj2COfd6CuUe-u|LD|(9YVwxCG(zq;Y_!Y`QA@NHCq(AbMr~0?EGT1a7ym@4pK($YDQA=yRfV(2>PmS_>HUp(6^u^ey=Yp| z=q8?vZ{mk|UFm<^s%*)bo?aGUX}dTi%2qKNiy`8s7*NefUEN40zKW!QM)?{>q}VUY zVIZ0c=j!byrTrpNO~X0JvrFlkaIW&?sB5W!h^xxjQ=}CY#AGo|?5%G+5QTz_O=64q zD1M9DjSQd0#ys&`xCI+8#itM>OA}+fI3)TvHBJdy%8+7iznibi0WV@ z=x7w`WE2w}MNe^5JQTj2jYx4=xO6d!h?!!(=+({WEp~}RVt=IJ-rYzcYKjQ4Ms)09 zJQU7Gs!dUrvh*?{#R1W#xA9MS^)bA~OOdXx;Y=}4?QiLlI61&5KhUTox`}z>i%2!d z7%MIcXBn0A=yv;H`#E`tu|QlB--XLiBU1DbW5ry<`n?T?S*|+VxGG+W&=JO3u|=dB zsXr4dg!?EXyBIIti2S3CZ864K;S|MZ$5;v)Ym63?MXGT|E-^}c5pl*FD-CP)Hg@Xa ze1TJJHPt_o$0k*562>7-9O}d&I1WSOa5xTs;&3G{H{$X#9wXzEJOS$x;GK}W3AvY$ z6p46}2!9t<#q(WQ>wRhFcO6Cn3?+EIqQojj(qbep zMyg_DFUJ02JSxVm;-o5pe+kBvU~UNt`Ov|K9zLx0VTTV7eW-0^c1aHUlCKp0rTDKD z&r9*o`5KkxZfWeMPL(orDZ{KXTr7h}SyGgxe_8&P<(~yVmiuwBJcaxT^k=R=Pb*NT zA{XtNP9+*vB1L7qDwClyl`0b%K*}n#sKU)E{H;R!s+6ck8K=NLUXAP3NL(G4KpF)y ztp>Ad@TLawp*3uD`o808v8@)xYjeIfg>9<24tML2x-O;b(yA_BovS(B>anFBiR)9e zKI`gp(w1S_$($h4HKJD|#x`QM^QO0LW6B2O7fi=s_5~9=ghC;V2_denS8k$ZSPPoq z(v;*)8QK)vpWi2xkM`ErIgr!28Lyksw>hJlv#U9ATX4ArC0Y{Jk~1y&-jd?sbPXqK zE4sHLpf&GX6FY(g5j2iqe*}*rsMUr8ZOGh~fVQk_i)%X?wBuDfCbegovvc`qdw#a( zcYEq}U}*<3ccfrP=*X0gEOBny9_h%@j;!m%yH51#%>B+}>_S8rj&xC)uV5 zbqYpOs5}1M>DirxJ;>RE6SfJfCjmXF+mj|enb?zqJ;@VA-YA+yF)xbkQJjh5breZ@ zF|Zej`_QZpF?~qim+5^;?$qR6`|+ors__r~b;tI}09@>RZ8Sd7Y=~xiGBEw)h59Wat;X_#Je0PUXWhjY-}fh$<_li{!gWyPHwF`Oi67+hPxs_ON&l ztM{;F4;S_jzLz0;dA^sZeJtEZF>4I(r}qJt9^mHzG9IMYK|-A}JGoP17dcG5!}K`J z#={glLh7S5I!cS9bU#YeQDTm=>?lu;5`2u?#|S-6*m1rd=ht!Wp5W^V#+>BbN!(B2 zcACi3j5^J_vm|rM?|}2PJN0$n_Q9 zuN?Zy)322K#@}zG_)c28RQsLAKj{2}-9Je2lk7j~@l!Q?qhECSMWWx@sMYf~qkc2t zHy3{s{D*&kNbEF^{r*)S6wCfS!XvhkP2>>~;+^v|j->)3O3V={;~FK!XHhPmaa(vK zFtUp>qJo$poDI;|5?cBw{!3)^cQs35kvU;<$J&K8b`$jO=2iI4$mo z_u{g)x{3_RjP@c=a$|+qDsGCOA~J=sQB+E4oE4WvQ%|Fx_$$VyGMoy% zWNJ%(qOg~-Oq5DvToc}DjYu(8Occ4&89^dcv=Z$_$N%H7Qi}A3zi28RicA@d2BM|d zDLQ5{)@3#}h+iTwi_t;+5P7p2PQ!VblGAlAna$D#ks!MfB@*T^8i_8Vo7g2TiR+@d zw-G<5;XF3Zl*>|8F;=`3P9dH%x20h5IFIo`l*((g5${FX{6;VFUBoG1lo7u~>w?B& z;S6YZC}hd0ygRDicD8A4QCeTbNM6+NE@t?N7UGY{SKR0$4u}M*vfGHHK1SJ+Mne%S z28k-ZMx0Vc($YqHkxdL2gUT3f${KE}loyIuB2{@~hIlQK`5Vqu^;e}i6^)JJLnY&I zWg}655hYqxF}hbZdWaEXmbfieRx^%@xYZ5UKqH5!Ck~6|HHsvxb&Y1Cg%}|E)-#rgF7=HmVySrE!1ykHiyRG&-eS7A zDjteBK}I4mLEI5P8X4sp8#989Bf@DtX9=<7OjSQoa%*B-5rIvOCStf)C*rE2b`k%7 zeO6QbTq*vDm@p$#Go!M2DxNhr(zh_ih&kevxFoW+{2w=z5{4Vi#4xc)jBRZk7T-mp z2&0XdAl8b?ZH>;NQhTGFsNBJ*E7piD;-2^*vUfCUb~5UVATds?5`RSB&c;}=N5t)7 zjOc327W2C~)#)SqNA)<}jm%=ONZP~5-qXl0)``DjUzAa{m(f}@>21sx`$VTc#%M84 z>=15!4R0}8wCZP!7wg4a@x8y{Oju7HU}>T7k2W?9GOmdDgN+13i~!L zNHffc6jMd%;s0Z#(rM9Ygi&gw(L>A-3&k1Hc9gMB+!K#S8*VX1N-I6B?T~u^Ahi1+lphhYfML9hXG$aF0jwcw~sj z>G(8CK#re@{kTXUdus>QKK-ft%Bz{+p7to;33$ zUMe!CqFO5MrRIwl8Pkw0E!ES}A|12Rvp+qr(o-%2!5J8n0Z(TaR=bQm%SfY449J8} zW=3TueHJ!lA!}BOXXR}+`q`=3>|DrB3tRr2gONFSm4imkL83}IX_S*KIf;{t?z#9c z7cFx$J~ykJ`?JmRFg7oK`Ph(;?fKY~k9GMeUyy}`I8&J7ML1W4_eF?Tl!`^!S(L2B zXkLu)VoWc_^I}viu5VFs?3J*u52bu~LDtJ{@L2O@>>NE%>tOh%4aH0muUiCiOSZYaUIgtrFmUe*5!6xTfFg7(K zM{^D|Cs_;1wjiJd4O@`AB_&%@I-E4E=-G;kt+?Nc(yf`;no$v)Y(u`b^lr<>cBE@h zV0&71q<=^5cO+FO(sg2C7jAZ;U{_jpWk^?cbme1L`gP-BH)cd~qdNgT7}kT%JsH-M z_)!E$(J6{{&V%6oy|~$njlEgdhtqw?(2xE7_}GuU{n^-`Q~gOefGGobIe=c#j2TG! zK?Dt=|6ry%E1=H}=H?J~4yEZZ9uFgUIAOzy9M1OPoN~(9*tQ6I1kFY;dIWPuaB2kc zMiM@fh>>&}$&k@J7)_EGJYz@`!@3xD#js-x_s5cO98}Vb7MRK6NsL`i3yx_ z=B0B@Wb%J}{tvH7^qEBS$@*$f;p`MjPo=WcJ|5`YmVG;&STiUx1OFMEnn669h@MH` znYhiuZx+dB<2{?e+0>fN(%EdB&Fk5em_yY$Fo(5sX)}+*^SJ8ljxIZ&s`E*;fLROp zzCZ)gjTh2uAtM&DXCa3da(f})>_pKbk}W23F;A9IW+^Vq$hnN!%ZR_6Ov@>`oR2H` zyMo}Av|dS;RV-dbtktwx&3dPUoO=ynYZ$nONzNhKE^8ULmO|?&v5sr&DZT;!4Y+UQ z!$$6G(wAy8r8d)VGv~IDcPkOjGOI^hX}paw+nBbU)7#0jgUB7k>|ojse(oUFP8#jx zxg9FnMfY8#*-f$CtlrJ}-Td55#Xb1%rRH7+>}B#^QtxBnJ{>KZy`QQFaCL6ZPCQ7< z!wfylpTpEW!t|p&K1%6hR6Iu4W1Kst!RB$tS$cxXCka2r@>5(o#e~x|IK!4R9CaGX zY0lBs8C_m}j_uBN=#J;6fTI z*4Jr&ot4-5a-9-4=y`(~H`sN9GB=5RORK9g+~&w_9^U5PZMZ|GyX0_IK>xd|C&h!U zioLI0RRiy{?mo#MQ0W0}A28qnOCNCm0e>G*>>&dlvf&{fkI3|hI**8W!ssWQdqTQr zOm^DMzn)>A=L=@NAookUz2wYGe!L>%YX-ex@Ehj5A@H5nQcZtHg7eZT<-=F}zcKt9iNCYrJ25}l@`F!5;3xBb za_}cde$ww3`+hOtH_v|K@rRf{-202yKg#{1`adrIs~#E4{uW*$PKrXYjcjoYKk-q7 z#x*tzr#xL2&(gd2hEtg~PGIRjv0l6p&XuA(i7a&%L&OQu+{H-dYGe`lh0|Wnpu`z#8Xi}iP2C*ilxGthc4l6siasXY9}>zi|#5^ABe=sjOXG;awCC?(onHZ z+!l|;R}r1k*y(BP73otMexkJ)E}n_sB4=u&peQCjh#g+Wd+}MMNMjTdlf_c8CavKV zuO-r1S|yyv#?{kXswMV{;u(w$;)?huoP}6k87;LCkHzv#MwiTn(^RgR#nK*eP+Sr( zMT)FOh=>vkMZ#=G4$(m@6xYS+?1oduI{Tm-cqwR)qT)y+qxT#wGDwd==?^jS6CADI;-dW1gUl@mV-8 zgzJ^HG*T=Sm&9#R+|Te4EyM!hu9~-7d81ebqn$V*l2fS(o)l>4S)^!uOj;#@m_3ES)8qzv0M~sZVVPFS{h@;Qc)`0$lJ$a(Js$ zrnM0yoL$m`mHtNP&)OJwMZ2~}2Qgn96PHA}cE)URLOA=SJ9V(svZJv~Y!IHEj1Unf zV#HzbKve8vJQWGL8m=O_3gA2jOk_Kiu``kF z)yw{DjBxHG%~QH0-imaT`Ig6qv46&bWhdL#HNBc+h&7$WpBi(SLsc1367%s+% zZDNP0H`2H*;*T==ig=@qG%-dUv2={#GS&zYbHsUZL8KmM)Dg`^H^XY<5T`aC6Sy(( z4c%kYFb>gi*cFGrakv_n%<=SPb+$tPbM7QI8cBn3ZH@XszJrKCqn7N_JyN-n14O-lZyq@E{xJ$dMKr7NUjRw|CCqC;v{c=6eb zBWY-omT758n2wNiY);3ubd*R>?et{GK(&m7W@JMqc4y*mCVVr~DKi@~6DtdGvJgKD z6|&GR3*ECYBMZ5+5|EX!tQ54$IUBiiP&x-Ya_}n$e{)dSo8sR1dK2T^^!3llq@1M6 zMd@7B%|%o$uH?ceH+^#RG7ly5QXwzR^Kv&YF8T1tr?b96`Ph<=t@*f|k5~C_zlEq)m<@$lP?VKL$y1D?#h6=+bHx}_oGHa=Qi5A0NaRBnA0nM+$!VN& zI;JFBOY*EF9=_!AC66!7e7WR{XDQM+edmg$m{|&!(&R18n$qkp&9%}*mSJca#+6}X z8Mc)nRaq*OrF&T>m*qfNu9U^s5BG8uEJtNqKV6RbE;Sqy4E- zfrb@`seoHW(p4mnGX;LIB4;Xcp)$8B^P)0k0;n25hX6WOrE^slRMpt`i)y%5r%H7_ zU2a#M7u9tnI3SS5fh-B6ehn(aRM@HsNov)kb4_~HWGt;pYsm#z5Sis`NC z9YN~0WNOR)cI0hO<@Q9kr+5eIbYNEp_I1FPca3&h)z3Q;zY{4saj_GHZ7#es+dC7| z1)r{5?MmBjB#9(tBtDS@N76Tv4Uue&q)T^Rcc*C&F7@DXPoDJTPft?V@~$YhMDZ?) z%)PkNi+R1d+?zMOiQfm`K5Xwp+P-A(OQpUH?n_Kxn)jn^KX&#bpg&vslYRiR2T(Yg z+D?c1S~U3wa%vzq22x`XJqIyx5DNy8cL>df(0m93hce9`HV-9i7?*~TZa5`}Gj%wt zhLd;%bw}{YdEVT3B=twpb`--$(S8gW$5LY~bH~zmJT4O`J%Nx344T0F2^5-0uZf(T z$eD?h`;Vu#dwLRgCvkoK{93D8|&$%R-N9lQVn8(g}oSMhwdGubuNaqdn{Dqua$mT^nSVZZ? zv|P-|#XMik_r)Ar!r3J>S<3096j@Hda=I+1&vK@%VEzi8tsw47Vrpp>>3`fA;DTQuBG<|CT?Q$Ch~5^e=}XS@M;T7x3Y8_MYmID2kmw+eFt-Q zuxAH}cG7ewt9O!R7sYnbcNcSasqo%lP3JxA+=JI%n(brTKAP;u>j2&dC~|mcn9a`qsv4^sUQ`wvml8R%_xTSv)wjFQJ_ zc8tEqIDZVE<8(Ss_v3h;py3JHoZ#~bs-I-(NyeOF#VJmm;^}GroM!YH#+}it<6UPc zf0nLi8FQ8&XE}0?kLSsFfr%GLeUai9X?l@17ukN1%$J#Bz2?i@zRXt}3b+3Q?<$?I za^x!SuHtr$iq{CW>fL#e?0ubz*XezoS~u8xgU2^Wd6NRpRj1+3DdH=)Nq3i!yG*&u zlY3OYPwo5KF+Jrz8}1Y5A+8Up@{ltRdHIlbkGS=S;K$5c|z-FOnb)iXEbW zm)=qAJ@GzJ;{$t~m0!s|lKLaLK2r6Qt~agv%$Cnw{7n8Y^!&oJFJ%6T&sREqrQkQl zePii&K7FU|503mG&QIe0B$Ly3UhB)_b*G_m1~kMB=n>7ej%H&O`a zsk66-rH$gOXqe3KORhf?*G29WMoHmpq%NA$QVX$P_<0%!#UGI6Qa78 zF;;vRz0(-0M8&j5oODKD24kk!D(;E68I3}st_T)i#1An&ld(x05kEzo%*F&UI*SpV z)$q(_R1u5C3UN@lWj9(2=P`3)Z%Y?)8Zo(y$>Nu&liS!JoaJ9XloI4IoC5rgQnkEB zt$fDQ{6?h$MiJG|%?cR@#TQYlu;Ek0C@;>5KO$LCK@mmm*aqBb_KC%86y-prEqxS=0$I){CQ}WEG>D_#_fkHL?jm(Natl&RXiDN?%0h zYKGHWKB@Fb*ncq_0ualEPvHOfsZ_d#@m_SoxGkOvU)9v*MIDj1wsBQ_6s~oQGIfob zB1t{NshXYl$q^0gr$Q$z~?AR}iZW1`q8_J~BPknf4eU}K>8B-}%czT%nKuL}9P zaA|7ziAd2`%nCJ}DeMhlmWnkqf<+%uuDO1SW+GhFZDAyBY19+XM3!*F*}9dlm8Bx0 ziP$ZiUhw<~ORq%!HpU(CR#a(c>}_wP>|hKOD@5{+#%A$XxOFnFimaWDYQov8RjG@m zXmLoq5r2h?%HJI#V>hF=SS89v8b8Hv@kbQsZj2Gr#T_xOhp|>TJEwhmT52pJql`gf zwAdlOh*G@_X9-t7rBlM$KHaa6rI5bHG?B2MQ>l*cZ~3NpD{4g>1H?RWNyHgw^c8D` z#~@?aVB@2RHPrAEoyAD;OC%m<^bnK8QgK8?3^%%tFt&{}0!JCeMjO3ij6UM9I3eDM z1Y?XH;*=OR)_5-xk28El6){{?9dE1__YA9nn>aOa)4+*=XElxe)wzr`BMx`t@Fou5 z;t(E}GVy31kMZ%?9*=$Tcp8s}@o5#GdGT2lpDppZ5TAt3_25$p=$Vig2?d>mxiG|%vywa;d9zb6 zI~|;v?3>xS?UcSz-n{k3JtqTlkv=!`bMr1Y6Y?-M4~v~b*F7JZ^HDt?-STnLxuIme z;ywBKo1dZu=we&A3UI#w&kA6}*3ku7RFDG&xm%EYg_vJRrSFeI1Qe!vVWJANuP}*< z@VW@Oi*mM@zGTIDQ=B;^*yn8ITJ6J0AAbALz9d^p(#V%^UzYijs5C80GrlyRN|UE7 z-OA$OM@K(~__4%~O@7?+BUw3ql%r^QN|&cac{-P8Q+X2mGs2&V{%r9lq5=~uFsA~8 zDzd&JKPr->5?d>Ayb?(R$Wn!nDzvS_v?^?>g00|MQ;ova*;*a98Z52BpBl`Db+8Gp zq1{?dYSN`9>1*LviypPuSc{vrm~Q>#I`pVRuR0vBL)E%Wt;_a$xYcKZQ;Uvmz|4k} z4dO`LWJu1D}Z0?#&NZ%dK3gtaBK9ZTD>w;k8)yl@A;bs%>~CORY3Ydi9|BS|_j-ulL! zS=yQNotf5!nO%6^g~44(*NvgwxYUhKk$7|`We+m-;9d{DJHyjedNQjg2YTWgMWAif zilR*vr=sZDi!Z%M*&F}fbne5VKHTm@cwhQClhd2}aU8b^pDnF;9;ORt7XQH!$%U&cWo5}o{e3(hvSu~x6*K7vPX80VA%^~$%#?RB1>XY-x zGM^L+7_>kOx0)=X*&^mIqPGoFFXqc);w`1>QdTcx-!fiXCwVz5R*-fjYgX}g70Fj~ zW;Kb|&~OdC*3fqiZEb{lJzdr_c|8x;^JD|vHWGUicK9gUX4-FN=4S3~=KW?|w@`8m zL$|Pa3yrtZz{aDu@n9RxwzGE!=bc7z(w$V@$-!M5vSM{NtDG+Jiaq4mOX0n^?<3Vd zTJNKcGYma`Kkf&Z?aV`uI>@+#G(W_|!<;%yDmy8Bgq=s2ca)7z2^xN!g~wTaoOQ=J zah#1O$bXXa&N1Psr-^fh?`QBk%kZ;&K1;Q8+&f3#^GrX_4V!zu$jXbXzo=zb+3msc zWd>d5#ATjeCesyst}y+Ijv9Tqit9B3ukqs=g|AcR2G?%z{RS0pGUFyqZ*k=o*Kgr| zn+k#6Z1~CBpX~m{zhAmpRPhh5|KRnP;(yuj7tenL|0DFDmS9

2y!!;i({g5Vk2G>qn79``nwy>)gq6imO6>K;)REiKDkj*I18_4Dg6*Z zDU2y%uGlS-rZm!u?4qW4E=qVBT~ZliQyW)AIWMEG7$Vk-lfs!;zM+!wu^5onm?P#3 zXRowdI!iIa>HH?jV98Bn6iXabH|`X-#aHp||5%dAel8O!GaFe%WpPPt&tjCwYD9?L zB2zYFs+cDJh@9DtqN2FCnZp?3Z7dM4M75kogxDcGavN@Wj6$NCxFT+eh`fe#1?g-) zO9S&8c?%dt!~l`Ips`7mE@U__gj*;LQ@OcPY!m;A7^#XHVWPX(Ud*Ui+z1ee1SO2} zB0#Ja`$Zfdqla+zK$j?Ksl2Et=J*(KO5D8V0b`?$wH@BaqFQRBUW2!h( z-k9xgl&WCd6CZ_7MWdP+D8`GGVwLzPW>(Tqaaep8ohln^MBxCVs3;{`itkknr`-Ho z)l%+iMiFsQq^fRg2{Zy~80SS&jARZqEu|37t>4B<6U9!^t(LJ`91zZN-)6Nfy%TZj z7`a4o;Y>C=2arnCwV!?>NQ8)CV!2o={)r6rj39BXzA>(W(J;uEDmIARjf^YevG^tm zH#UxmV!_5r(K^JKC0>c&BDX5i5~8a}+|55B z-_~#@o9iisi`n9^cq3?M%oPdS8`Z>8v04OmFr2f&b30lp+R2C%3&aOevWwADoDmPi zFHx(Tv0AuB8jZxc?na>=Mm^C*RO$IYVwA>+T)m7&!s+AAQrabo^fqGkF?>V~aZqIK zYh)AoMWpcRXB-vN`x|RT&;X;USSviEjrwA+_#jrQg54_)3(vvEL@`yw8)D=a#YC-P z#so1-EEXMy8yCbMk!XZ5Q*0M8BaKO7l{h8NiR7bW%($QpJw?r~zqe`r; zq%r47mHAs4w*X28@FIX%RS2%as4A?fLc*$KtjfTu%yO>&7ILc8i0X_Aq<0N|*1#Q- z*W^b{d}=Yj7Kdtax)up*)3Y|iYxA@=-gP)%hp%<$P?vXgDOI2T^_fCuok4T%WiSCAe6Uv0$j#@uR5|6t;V&^ZM6CWJS|Efl{{dW3R2l;&YC3;qWa-Bn=W0=d z0X!W*iD;TfGclSk(excinn4sDM2*3m9L(Rr^c}(yXP5KSA$%Bu-%$Dw<=Rkw4W-~P zLWi?{IN>8`GlHWdI53jKBl%*J%cD3lio2s2H=1}c^oU`745wmv97Ccp^c};|G5i?A z)Uli&tNTV-#*=3}#l};2JR_W{^Wp@4OD`!(}4pDQsGl$Z189bLcbGbg3mviYo zj~(;rw16H97_xvX&dhR|g{)l2`h`qc#Jxp$E$04W;w&NU66P;q+Y-$zms?8EQsyjW z$x^m1<j2vh5bq$V4&rx^MhBU7 zkl*GZW*=s;v+3&JVNxH#?+A^KFyIKkj}Yf5RgY5tC^wIh_BgYSv*|cDPw@T(A5XC3 zB<)U7-+6pH?KIC$bNvkNc2oB(=bUQvzO!^W>O7U4_qX=)wyho1y~t#Hf_sUxmq>n@ zu*;lunxLg@e)$Spukh^(nVoLv{;OQLN~LQYy+-cql)X-$>&&^%{p&ox&fn`~zCoN@ zl)OcSTTHmcTHU1zr&Hg2)&A zdV%jtB3?4@B`sd*i+;u0S3G`2{MQtIO=oA9vvp4|zb3tHbbiaSw|suf?{_49kJo!f zy=VS=JU=k?12aAl?;}G#YQ5IvPZa-5$}ifgHR%g;zwrJGIlglFEAzkc=^Ihs>Gz%W z-?{ajl0TUEgV;ZD`^n0m6#K<+=PUf1UB4;#hfja_@`rkV>HL=-e;M(Y&3}3Imv;Y{ z@sFGTs&9*Be@7RNZFF>qV`-FdnxpOFTG}9f#51PHH`a>I35{uDyI7pa_$$I)jCLYM zI6cs9N>{}+S7WZI>}E7bVvH8E#bbA)U{d`QXB<2%WlLtX6eC2*i<}$JCCaBU{KY=u?03GR)H$tjK@?4AloEAC z2XQpLQ6Ym7AhwGiB56jWj)=}|Oc9Sn#Vp1|Q6rntQN+n^xaKfYivZC;oEBHaU2#t& z^EO6`S)x`>BUEe@dqu|FMi=o!Jji1_6czItwME=~Mouw9Y!sdH8&P7DXj8zLEK(LU z>i-{O3fa#W;-_$~{1z;1X|MPpeu-Q~j9}4R6fbJj5iLYv)wfr~sp5w7w02YpOJ~Jp z@lDk7G5UyWB7I4tzL+BRh=#t#BC$&x5N%2skHi<@Tmw#9+EQcDv5YZKtPq>TG4Vir z7n92x&&4b8M`ZOg3X0nzMLA=cI4@%P8ym$N(X4{eL97+eRQS49HX4bA!aKkyFIoua zNpJTmmUf9ERgJA;r#L6_RWtgE*}|!a?cef!^r za7yJ-H7ymYW%!9O5h>P)lcITTBU%g+IqMj{VxxF0n%6Z3iG$*|$XU;DuWyVLb4B3> zMtKn;S~WBlh{Ym(kkMQm7bzPVmBkcsTEuQ_Ock@mA>q9G-4J3ab`ztfNYd2EDV*a; zYeFqu79WL2Go!j_Bb?^#Ql&yIjBxQ&xVAKMiWcIFNUxeVT+9_0#E@3TYOztg63JQ{ zh#?WiFj2XU(NoM6VQr27+8Kw%SCPBDF-QCp7djX|9gTA0wn*2>Xe3&SpTe_?kx4WX zBg6|)yQ}d-cE9Q#|-HoNft%uQ73>MSHLh(vC{oS8Rem#vP;z5-0 zLL}*B6cs)qs<$y$%<1z#jwwABCHfhC#9FaQ>=w=Y8xKX<0mc>)Ulnm?kxTfB^#hHB zgN#sd)Uc8@<6z5$#TYS1tQN0C+#v?yw+J3;IIn}754SWxY!+KY*%5~ONTY&yC!$9g zPFdW4w58ZFhR+zInwTjzi(kTHtl=vPjWha+IU@6Tql4HW-imLA)zG0%A2@a3c8bL2 zNNldfW?o!=$EB8Yb+|-)D#Rx|K7-@)B|gU!up=Q=oC?E;+B0^C3A2?b=cbTBM+H zO4_F6XG;7%3G`%=CoeoT==?qvo~d#3Vyzd6(~vU_anf-zotnJ1Z);(C_NFJb70wy> zmVx*g3Cl>UjC9PzyiBCZOzq6<&&-v~e9BB%7G`H*VHUP#;Yt>^WFf9s7pZeoIuC>L za4QeL^JwUKNnUp6WnW%Sanvv{tbB2fbtCqZOE#Iqz$5O5S@aU9K_5Z zW(Dy&h<8B*Hl{&ihBRhuFg_vF3n4Oui6LZcf`1c6HzA@ay+fH4%7sv#h4L+kv2tob5=}PIR*IqRzDFOy|x-c4mENR(2&}H?Bky)SVsO zS<-`-J^0y!;XT>h6aOftMRBkf%X{;uH~IU}whw2V?rrYAoa@Vzz7+4rp#C%&K(%PX zqj?$4)Pd|6$iaccAB5*1nhe%LtMfyM8OmMfERxS~Y7S@Na6Fy2zb{9SY9u}*xi$*F z(R>@tlQAS3i_2KjkLAEvK8$7GINFbA-*_I4C-DSMJ2i6DMCMH-*?)NcM~DB2KZ(dm zY@3Al6r!iFbPBFhiJHpfsVtnzo2h)7O0j8ln#Pf79Gk|SX?%8uiEB^i`E<%UyP}uR zpvO$I&Z6}!+RS2ut-G4dve}fM!>&1;oWsjGyr09Vx$4Y5okyPe)R|9<`2;Q?bOB=) zuyg^HoU=&37m{ZY1s2hH5nC7WYZ2~?NxGOxi&?su&dzM{9jWrBj%bT^-T}Q||+OK2pIx?-N`FdKfXXSc6ujkta!ZtE+ zBZaJ!y9Mtp{MbT)t@v#v{x;mUk$*dlx08AY<#!OalcKvwwVR^5S-Km)J#=#RSe>yA zCwob>mz?{kxsM6^IJA$m`?$ED8~cfOfEEYncz~e?Sbcz-2k<}0n1d`k$l-&eJ*02w zA*LPTp>z1?%wY-~q2v(;9%0iFt{kDpQ5qa0#R;;WVB`sEoW$)E(@t^Z6rraHKTYr% z?w%p_S#q7F!&$nYWz<=woF&CMJkC?*Jj2dY%b6thzJ&iJ7F;61W%6Gp;T7^a7mZe2 zW%o7mT<7X_V%?z04W`{7>L%lEvgsy;ZjtD=jvDQ|&5PT*XjJhYRqyfo9$xopdY_f| zxqqKk57_enuZPrrNUw*?eaQQVk>N7Gv z$N#zJhOIzu_<}w!SpI^GmS2(XH4|TR?KNB9aPSS!-ca`~&E7KWEgRla;2mw>G2|Wh z-m&}xpFd#J!}UJW>0zNVP6Dytj!AC#w=@SJ$Q|~h?KJ)A|@xL(R3+3$I z(N}tXWzJXDer3luE`R66ciR16=no41qWv#s{UYcO-TpA-U-cxh?61|bVwrH(R0YPi z6eNO0cQI9b5=rA2ULvSmI%<5Eq2=$hTNBOUuL|ku$kbQ_K*H#C~x^+!akz z8oxwhPs3ZR5j9d755z0snfiY`R&q`v4fV40Q)EeF6cv7=yZ9>-q%{(X2P%)#r8jzH zG|q|JnT%JWT4rN`xGvgeF_wr!B6(ILy(pW_aBdsL&u%G+xG0>fz@@z{4b5rn5|wiq zbwpz^P<$7jxs4^_v~a568hI^^5VyrAktUzfMT`5lt&dw0OM6xnQ3XxGX5l*q|)U@gS?5Fb-H+DHoiN#~#R^IRu_xz2h3Pvw+ zRJ;@KD;mWs8Qa96%0|HeW2h)n#i$}`i&52#F=B>zCvI0af&z^`B1aA5mUt_oFr2#d zlhXK_hI6quX)R0DL@lvUG^uSwibiz|mwHBdu}M4?hw2+i8yMcAz8E83iw+HqWuktN zaY|el@5N7%ypiE0@`~M}bz@_S@C-H($wQ13BCT*1Otnza`C23iHFAh3;jESF9A;^d zaBF7d6Ng2X=0;T!C}xWDqIV0UuNWX=w=|lF6X8b5Rz}*+jNe+<-22=!*F0u@JpY|@ z_OREi^?ohow-VS_2vWK!;mSzmxYD?vFi%NQjw$bz&q~uU;iOVQ8_^NUam9Lo;HETC zS}WPgZ>7jUAy^qSNXQi-m?*wVOQqsqp}(?E2_GUnP)s5PZ)K{It=t9rgC_+@JjI< zBMes7D4oX&9mfgBl(R~R_N7ylLrS>`f{XH4sXbBfRhB5{qXmaag6(9Xj)CS*jTG+&eR*vY#oOQLZY_m6w9Frag?-w0%JPfR2>N&A{AL%fqrf?9PLC zUe@O2Q(nI2rH~0VOz3MuxN#!*w<#~oC}&PHb8PaFFF%g?iO$a&X;cePwIHn|C)$Fk zmgHEHWJNA(ipy$8Atn~$cOf0%c9kV$8}`_cX+yihR4u}7TYT+^v}0LO-0VrPXSqEm z?YU~tCwodc;4X{D4){9YRf6FqI9!4eB{^D>^pZ3x#m`cdE=|4CbTbCKWgLlhWR)W? z9kD4x*D}PG!K)lYEAXxY4oVQ>G&2D-u+ZsEXV+(yCUuu+fD` zSGKwm=*C_*Z8Ps1Pi@^Q5m$)~mFQlX-o_I0`O18+Op_{{HkOe6Jvi+_dR1msV`Vi> zdG1+*;WZdlL-U=d)+D(m?P}4bHp6POr8b>BIpE1CFP3<**Na`=?DeKsT{hI^R9#xt z!><7Y8j#R{@(o$skn0V}(};DAINXSHjmg`DJ5A`{lqx=S_F>+*+L)6*7YOWk2pUz`0>||9s$e@U~T|mEja?2U=m1J5L1Jx z+X|D`n6{>98>Y44MjI*_k6P!qWocW^wk5qSAKLQ0Ek)Zg&-iY)qpQ(@#S}SGZj|Xpw{G<9&ZO?F>5hF5LVFO`gB3kEEp-U< zLMYf%^P1)R-HUp?Y0{g?z4_LgaeY|PhogP?)Q9Gwtm(_TzFacC45RlP+mG@6*x8S> z{U{WMPZ)E;XdTX&{_O3K#Q-V|pwR%f4#0jOvj=i#5NQ#di(tuMWUBjP2>BxMiR5l1 z&O=!{RNuS4A4bkFEQd361ah|5GK!W_^oZiHq%)6X{78*po;`|kquDr`I%DWMhACrM zJcd(axI6~)vAB%o$T)6{!*)Ci$FqGrKgP3Q0t=1zu69Nuv;RZ_jQdE_CQ>w-UeUx) zB3}&t(yPXh6+>Vww`0kQKHo-`7wtdX zuhID$iPso%oz>Slc%97a6uW`_4W{2<*A4dE;OPzW8<&wnZ?fSgMQ=0iHfwKlkErsP8BbXIgo978 zcuJ|K^n1$6r@S*pz1uQ4o53YxGr6@f>iznHVwpV7wb(Dt|Kis#TIFy*hqpO2 z{Y}nqGX7BDFGK!v<}cU(lJ%EH{}}y`!~gtu=8`|Y?s)_crJv%PSBNnYjwvNfh3ZOI z<-O9zOcd{JSLsns2v?3NCzVm< zg*l2btu>faL4KZBz9?2sLX@+xNx7liRIDosyOq2yf`u|p`K%b-X)#x+1}poOk4g(S zVYo6$IiM7A7rrUQD+xw|)HJQ~RTf;T2-TE8WvXK7A&gesstT=@B;~1cyPB}Oy8c@Y zVYzZpxuh6r$Qx=()v1=SOZli&t}Pr?t|@nvx^;wJUcwxurMJ*t`J$AoD~wR0mB4yJ zxDutzQfAi|jIrxct+E;jzZK&`Z?}e0Su_&dl`N%7W8t$>y@?R2EKznSw-oQDLUU!G zazV-OBX}r%lt^WPvQD|I6!aBlD#^;YX2KuEzq!!2gB||ACcz%G*F;N04wnSlHW2II8?q z{{J=QwAS*|;I>vq7**dkQk7~eR91c~q3wiK$_M2_d*PO1Tr;}bQK|u*gsn%*>?omd~-INbH$wD`FNL)BKfIR zfVl-&P=N0Rv9}=Dg25JSvLLq=^{t4p;0wKhEwgP|X^U%7l8bVyD36Qst0*4DXjP0e#rRPS z-{SZcC%rh=i(_g}b$fc)GsB*(_GH>~tOTb@5KxkBCAm?OvZbh1is;hhcEs6{v5u^8 zD$=zg zV=Cg|!c7-qU0LSJC0E|MQpcSbcS=^GRwX|h4UVatjgl59IuLV zHJVo=q#DDjQKdSKtMi~bkE`>wI@UFCtbtukI@V;BajWQ5O(xZ%Ms2+Z9A6vPI{10= z%@a#6Y`qEd=8`wwb;(sv4-z@n<7GYU>r=Wu$Le#hKF{k@paIVs(5N9z8?s9>po~kv zeH#&fPx9PX*<$pv~-uMZRZu)!Fa77yiKUjq73Dh#JE zyuug~#>z1E$d%u428OdJoP*(H^e1E>4F?erK|%z#BX}BtjS<$=VK55@vu-dq2NN`e z`H}P*O7t+w4(ID|vWHW61c4*iJAx}C7!k#$DDFg2a3n=XQeq_GqbN2ShtW(QO@%R3 z9K+5rlp9OpI5Nl4O}fqDY$_)8@Ma2 z>PB{KbnWwO};%0+Qa-k+}(rSUUKcDgmFJ;{XTy0 z^ChX_HezN!Tdq4IEXncTv2bgFiEblzPnFG9%e>_O@gG3%=-$61Cl6{aN zhnRJUiifG2#*j4P)A*8x{}Fac+Ojc>-F%dDM@c`*)uVVFXXSBHj&t?|>rZm%B==5Y zbqe=Wls`@FGxRw_>>1{tq0m_>oMpgSmY?PDS&p9N=~;fCCGH$k&N2HOC(d*4JXxTJ&GLznq@nVMI~xPs|b zWZzj@-Wk{UaGgOnSbhWBn{2+xo|{NpwJfO`(+R5wNN927%_a`_$)qE${=X89o$xeTsW0rwu28T09 zc|qC>-exl4B}-nC^O8xgh<(MCI$+1ULg^e6tmi2g;|FB;@9ErEK!aq+e-?!O9_Qa3mcV9%5LSN66h!x1KBNQrRr2p z7^Q4i8deb6DPc-MC&5v1Qv8+6iZOxh;Ud*YS7DY?#7(HBj8Kf@x_RBDDpN`5rlcr; z71PQ>h_X~EQbic5tW&0X2r0@ZrA}3$qtZtis2FEADZl{LyCrEhIvzYyH|3~uRe7Ws^V!)xQaw|W zduVC)h<*DBCo2vOcCg#v{3O1YN8EF~;Z$Q>j!Rl=1X z!GaNi9NtPQqyHS+TB@3D1Yo}#iFNB zPwAmdRAQBQWp6LRtheBxxGVdWU&Dnhu!|E0Dd|eJcwvol zSV@>77^%hg6Qug2Y)urZB?8FfVtfmRk%BbnWbwO5(Q)WngPANT8 zD62#$3zh$GNZQlrMN0)VlS@C}$(sj@JQT}AqdauT%cH!!&r1~}!>N`jlgzki#w9Zz zn~`A7QFAVuQ$8PG@=-KD^YU{fKLZM|xge8dW7mRP7Cf`S)RG~V#8{GHMUE9!3$dUO z$K<+?4NYwDwV}5S{R{KgSmRw>gcG)4#}YeE*b!Qk)S}oHXPa>__i1s=?3rwImoM#k z<3NQHtS-Up5_Bj<*HY{+MXu76F}@L{8Cyob31x6D$JKH?EQeot+E!qjan7fS5l1}R znUXH}xiG+mu`X$LP6~e3FYv8o}A0&_|fwT^yV-UB3C>hM0U={?kJs9&=%xuLmW0uXgw7#M4Pj0QfjwE)ledz?)QdB{a4_DyF6zx? zA*&B>LirO)k-k*ui$`BF`%)l`zhPK~voD+z;k*f_cYntBM|O4h z3}nY34h-VSAW|aO9D(UzJ`E;(2oHuZC6ZZ@9E{{bB#$F`6-ln4j2X%r(MSniG7QJz z^c>Fk;Y=9L{Na=xL8B4e9>MbwLiZ@a89mU*Hc#h`XXjYG5ixCmrdn^OTGI1T%OcxJ~lFP_wRO=hxBARvLj1lA?;CXp|R6iuRI65&Z? zBr#|z$y3QYjqquloleGd-b||2GTZwam8mVe2MIq&>><7%qTXS49_H3z%BRs#&ex`~HH{N#i zvPCv|Z*x(`p+=uL@(vU4aQY6{?lAu@OYV~U9+U4e{~kr|6Lp`I`&_us#rya_;Kc)~ z%XIV+ryo)NG4mdi`j|yeNRZC)8DE}J;W=H6FZ($qGnk#hi40C=@IC{J7qobRO(r46 zdhh8>OkdLICGM{XlDDw0F?+-AH=KK;SxtA|P&td}ET(3$Ig49aSQ)QibKdgjEoSeu zql|b*&G!s?Pl*qBeW2$Dl0UHd1MlVMf8_i}m5)sSMAj!hf1>VZMjCx(l`q;+&iKac zZ{+(xem5~hmM6!Z&*qlSQgaiMf`ycN8!Tm4e{*vn-N&m?F z=YJrV{Q2#YTUeoNR&M7J^5qp06*ChdO8KtjHWfZ8!_0&=%00!*Tqvf5D2?+8NlKPd zBfn5vnXZHt5YiMQ$f(%${>mX`R59VP5?@^Su2gamIw&!UF<8yeYIF(V zvEp7*Sfu1CB?Kt#mC4F>C7aU5oGS~JmG#QN zD#9t{ky6@2sIB-Y)v5|cO4A~(ZYV3O37Lw~Q3hxq`BYg~L$IkSI4Cm|BcRDx=e4RM zKVK_nJ%y*rPo=h(U>t}IsVmiQrBXeioibT*sxRznAY4`K8wtOZT#bbgWsY)2Y2Q>Z z?&KILz}`Oc6J?l^uB`ACE-59N3B{WW>y$|?gpb2(M?#ctXA%J7d*7l+aDriD>+K8p2938Rk^7+_7N5+ zH7Ya@-~W#s zt%?m45|q$E!bIh?@?Hs#5c&-kjwy$S2=yX`1Z9g-a;Wf0$x(_86CNoqm6F2+`?YAFGdO7Mhl(B3RTAmcH;%(1!r%q<|y+O zV_nvIf>aBX)5=R_nRb9b6}w4-pJEIettLxVQwdaVD3&q*BSxz@#UWOxq#RMo#0j00 zIHgIvkgnWOG8D5Z|HED@cO@c07_At2Nbj{8m?$(&(*MC!Ax?>zCghqfR8?}%5Wdbd z#*n>?)-NI83x0X%m4}Pc{N*J*FTe6)V?r?#QcTD+p_(ZzOzCFI1T&VKkzvM3b3T~U zJ|FAzQ>Flo3(&fteiI53U6AyGSXt1^f*BT^vY?D5?v^yLB+!yhmV{dJ#FAWARI*~A z6@{&-W=-BgcoxFD5T6R+Zo@qrHW$XK2qTMdt_bIivo=+1u`J4%VyrI)_H?nQpK-Eg zu>+qS_~pQF2kc8QrvwK|@XmPK8CH@*C23Ap z*TA7B5jA;RlXo@AU5f&>=v9jswMeXua~;kbiM^HO{HqtUyx8W2sW-0P)RC#9H{sqa z_Qs+v)ueH($H{uMu1}}>)NVlQ2CQg+bwho+*{7kljJ+F?(+HEs_%&upV-4!P-GoO? z$Y{dqrW|d`1>?(U%5fhy`;w~}mU02M87rER+zgxMRB2B67PM`_l@?g~(b12c#w{9& z@pWuT`fP;ugsMK>UJ84d!|<4}5W|cmeJUiCak5MHE_0qs4mT_32`=7UN|MA(M@xG3{1p^Ov@gXDg|)N*{BEuj1+| zo~)wNYT{N?eT}~1?7f!wwfwi1&g+=Co<-}KzJZ?`sJoHl8+o{q*BkLmCQweqBy%pA z3n@fyV!b$Ux7uzVkosZio zu!D&^SY&*McJOJ3_I!(X@o*QWyBWWm%e!&jORK%C-%H9~_Uxm=e%|cIT+YZGApQVb z5AgZ`0}is_AU_Y{bcpeXIDH7O!xT%S!4cXV;kpsgTkaT7j#2M8iN`s5f_o3jZ9v7w|VRgRnAiLEZxqs%eW6S@Erc<>2{v}=NWMxs|$3$z>o{%PN!r#P15mC zr&~I&(+R)G;ESv`hKEHiG42x4m$-L{*O&BAOo=PZxWeWu+`hu6E3Cgt=2dd8VRN01 zH#u;NySI3D3ya&7yUo(u{JD**9C*FUt-E}+V#hKKJ_@IG_ybK*Yd@3ZtF z$qz|1;*bhIX5wSkKIVWC;Jf(=H=c0s3G1G6^(oz+vGo}zpK;(hx1QsdLBkg`c|nzz zc)sN2OU4-~y{}(U_%(B0^W`-S->~fsXWnq}4Yjjqp2g8Do@6ohEs1Z*ddvQIe0)dX zds078;Xelc$NK+x_8&k0BljoDerDTeZhyw?3s!O*<_por%51Bz4Ed(tf$tRi!KNRi z{@~INzWty=HbL36%hvat4S#a-CpCT%`HQu`IQI+B9GV$l$=?M2X4-F#{>J?eo`0D6 zhuwdu{FnUyX!_6JC71j$uB0qgJaP*m$|A)vk1$x7s4U1Un41d5=IlVNMwpH$qvgTvm*sV2K)1)lh0HU6n~n@tQ*4TEev2!Uv^X9ih5{GE`Zs98x-K zZ#P`osTkA3d|pzGQ_d@Y6+3UiOSz`_X#3Yisi2*os}iRasxR0oZ53ls_)V)x4TMe& zh3iVi#zKANsIsz&V9``?P~4SvN*y1;xDL}&tNzOFX2O8xLjD%QbtO|7>?fosCzWeT zroZrBxfdWjRT{JuvXo*7@?Wszf6sx!80ABd;2bRMSI#KeO6gWYU&Tld`mI%kHo`z< zXj{R^464*ls{ZW-79foodsWIt76_&@KRbUV-&M)LU+ZayU<4& zraV`^D}R)eJ%me2Mu`5KV$xICr@U1DD7ktGEtIaxPNh(9VX?AL$xxQ{5q2y4l$)VK zma?a>{#3g469y@fVZwAJOR3pk7@`y&AOtHLlr94W*FnNEWsUMz@rn?-DZP~0gN4P) zI^~{X9D%7iM5=gYpJLoVO^=l7mr_F;#&W}iI!gF(VS(~RDWc8cdu4i*a9^<-DKs1< z7_TbtY4u#mHCia8d{SzS5$Y=)v{xLhTvN`E6aFdrCI~2P6z7S;c;%#0C0ZD+7`Z=Z zwKBqg{3l7ZQaPl&P%I}4MV0Ex8fBxhIactF6Y48o@xmeHv65$sP(ZO#f|M!Bs|4Yz zQZ7+&QQ9fb74NCSL&aj6P(xXuY*mblFmBVOI;#9t%FhrIl~00fu=X}u$5{by0{&r^ zTmEd2V;q1PDHl-lusAQT@>19Y6I1FK(Ld`O$WJMlUq?`)@F4S^mk}F-^SnS3NH~zTus1hcX8CRL7 zmC02FlPcV=!iy?Y@SvUtT|D^X!NRJfR@G(Ichv~2&VuTEs!oL(G^)YY8l0^`LQV44 zqEap9)Z$t#{;NezV^ei`ZC=#Itq!4esOZUWPuhBM#!EZLY2GaIW~(<>ym{k|TU~ZZ z2yZ=(*5htH-qk0M+%IiFm4>`&h-oAJq8f3$5p5f@s4>?YbGtF`8#B2HKblapDfxUf z_b1#3Q(xZu64*??56$@846EjNG^b7rQd_XA1#|p(=|}khf&ysSl5H(@P4zpx55y^m z7C{6A(JzRJLCg!{SP*8x1PAjon2D`e*@_LVNNL5X??iahee@03FT#|o_h)EOZk4h?8k;MGQ(KipRN5V zI)Hiu=stk)1DGRcNCy%ob1vVSCXN6~T=_eRluG!dg2GMcla=`w~pV+a{b>R8Oj zV>6zh@pK%|rtxG<;KxK7MdKgM#b|t_XPk^#3?pOM8pEj=dc_hI%cEF+7{Ne)Vks9# zi#X=RaVd_n2`o>*E0N}jq$E-ziLfLVCh=C9$Eh%tp;MVLmG0BXn#PnFte?rrnWWC5 z>1;xb#<12LhRwldF4pt#p2yI6w42YH`P5uMsIjjqv%%_%@LWXHBGxRzaxv!@bA2(L zm#}LIua{7JDXo^$U>Qx8F=ZKrm(zF!ZC2261rt_azLKu1*|VAxtI1l;_torQORsh8 zTgR1kc&=xH5u5vWJ;@t5wE>TfWGAyJg>OdIPmN8y*o5z9{I(Fhg)hdXmYS(dNM%JT zwp-b@RZkKHZDYnZYHufPJBd43wL`DAT-?c(opdlJfg5)5TiV0Dxb4?(+ESBBw-;aODVZjxgpZ=Eo>}jPAz>IY!gt>^;tt;~JHl zc7kIkxN?FvC%JeMn^V+3#n@9MoT7%z{m$Tbh8|}qa2A`hc%7xoSq7gaMZR;qKBqxH zWzIA5Jg?7l@&fNKP#_(PbXKKP?4mA~HowT|i=#o!C1|~OYdlPvoIr1j4^4(^E@mli3ZL)9Ua7Vv?cd)rjySsF~OS}=4JNzE$ z_o#lK0r$CdpMDRR{eWc;c=Uk54{?1&`$rsjMCN0DJ;wS80Z*9ugv_UWeaeq#SUo4> zIc^zT%)s&mwO`Qp1yf&e@&yGliOFPFCRQ&g{*v0SSoezJubKOrhp(COhB(3PWOt;Uh{!H)}Ouo|kE3$C<_#2zPbLcytzvJ_R|9)^en_Jm>@kP4DmOnZ3 zlSe<9{EPL!c=QW9x%-ks!yLkL7@9+L4vTZxltabeEdGt0;Y5d)!s#=`cDZeCLA-cm+Gj4a8A=oKN%4+4h z@LwX2FA%fAt zmgp(fX2qnJut3RFoO=sPl&i{fC0iNPN7$lVP$u^kEc*$@V@e~^c8mT@Q;ZNH>oBP@ zl!DPbkB}-nO4zR)94XvU@@Z>Z zNU5R>8Z8*_Ef0**e;X@IQc{&;%1fozIH89!Pca!UG*LzDTtc|8!WhH z!DkC1E!k$tOH0aH(bbCWR#dm9fi*3ynP-i2A^dF^XTu8{uw}I^S8U0!Wvv|_>?mK9 zHpNJg6Eem0vF3Pt=Gb$?feZ&qm*ja#97+*dij$=%TN>xmq?G1UX=XVx&yj_Wq&t%B zh+P>9m!(u$)|I7cIs7F9R}P(4z{!~z&OCMIwKIMdiLb~57v{UN%awz!+;e5A8&%w? z=gu5=4jExXAKY10iP2T~Q-v@OE>$J28fB`ptU4d6le-3%wP;Wao7(iN&Ar;>u0y{% z_;}L86CZD#b#AN2>v|NGnA-Y`tB*+o@;BgM1M)RwUPD$i#I+H18u6tOKN{({GrKW4 zjWKIN;U<(Ywq;$K(y1w9n=;r3bK}kBd|x&+qfm2Pn$xv82b*)WIk{Wl=Fd!jmiv<; zf5`)A6~MLtb_H-JfQ$e-wj>zhU?<#w2Qb-Ko8217{Xo745@ei*i8eN8F9-7{n4nhN zYQ>vYc~64#dawxqV@Q(HE*<3T&}x7Tpnx*eI)kqsSj>BNCfJnh8m zPWY<(NcR3Z)lSe&y-IJJJEbfheANCvH~h2ztoNk)p$ngPTPWdA_Y2hwa1F@yLy zh+GkDkKk1V-y)bgm~Df(Jea*h=p0E;S(qKh%3-+5VASYvXOAFF4#pTqNn=KmG7^_j z)ELEtQLHdxgEGd@cr4e(a&IiQ*Cdmtz)8WQnm4 zd)3Gf@`z?lG_59aWDLxHHffEV5OdvdwWr?gvWP2jF67fzVNd~4>^$+V%%b; zFD7F#KNs`MI3&|+3Fnqjeko6ua&;MRmQjB>b&Sg~^H(x*6|YwFXEjyV&~^>0*HCjU zGuJX|9ktf8aXk;#^JqPrHt=Hufg7osOlUHblbM~&&SZ`yb2piFDO^n9)h5h0Q+qQL zH?wUs_he6Y3m>=ebqgg^DV2(UDqT|9l*++WKBcm1E9k!_DaZ9678jI7om&Ug=Iv-)w5fYCu=Lk!Vkozb;$5?iZ2gf*goV&*< zZ~|B3z>Mz+h8Zn$u~RHM#U>+WsQPL8o@VE1-k!$d3?0w#`V1Y;vh*xL=SVn5x?Gnz zN6qt$KF_N2tUr%aI$`O2y2y-6e7S`6Wo?k#UuNZHvM-bC3f-?TZjyDA!ne3^n`(C$bw_W>w7ARoyPUX7mwObxPlNk(ywBJNJbu8~ zhonE$`!TkUDfxs=Pw;(8zGv7x!$&5h&-nEW_vbWw&cNr)%iux=#b40u1!G=dmq}12 zDVcP6$=8=yzoO(Ts=cDeD-vHZ>y@Sp6?={QYl2=g`ZbqcGx7~@-cUb_ms#XwQNuVJ zv-};G-tqn&p6~Jaz?%>J_klqlG5v&_aUsUyGj5+b_=Qtn$p4LiZ?yZyNaIe7WZ-&# zXV`bnedqpnqJA*`2Y%U%&&KvAPDUfV{}KOFxk;rq%1#WuGPri@osD)*Ivd4(m)XQifz&{jF3JTw#XnF~hJka734n*Mai zCoEQeEB*2d>y-8dgu}`i28XF4aXPQ}MJH zj5DZFT4gH64AnRjlU720hLse?D~lClnwqDSR7I8G(n5P>mST)ly|h;zrj#!uv{N=H zPG$9{a#AT@PH3ZaRc0$u<%M)5Uj?DE(ovb9gg6QLoQ0*zCuKrK;ka@|xvC_(2qj#F zL2klc<*QQ9U1+H6RDLSgD+%9~;3~okrILqmL9x{yxTeaotXMS=A{8S@*S?`t!OBu)m-12R*GPzHEZ8;??3AKP zSEZznP*I6eY<-1AN~LCk(J-fKm9D&19GeT#N{o`Cv}hq1t@9PF9xJAPf{U`zU-+q9 zYbi8Es23PMrQ%)*H#|jISHA?$& z`ctVpUg)KGP7r2A3xg*KW0W}Mo3d`QuwMD2^p6pC#R}PRLO{GQYKkyH$x-qo2=x+$ zB}%0vAxMc<7AoVX3V)UN(}ZlL&kP|)sWH>&7ekGHaS8cyb0#+f@{pc~ig~G&m$D|f zn$XddF{V5<<+&;5X2hGb#hm}lxs?yM{FE-hm;#h4NKiq#6eOb{Wh_{0ftMu-mP|9w zi0-uHj3v*kaIhiA28+VHDNJ@@S`{Is2=#55Z_83!p4(E*jy865v*WuRLy8htl=($j zRg`DN$Sy{g;yf$PyW&)`r@8UM@`F8X9k}Yij1sgg$>@?iEJ?0Xv@FHlQWPvrOle#k z+2}}`BPGl5xC|f5(5Nhf$`W0c$z`!FN6&KHDo5E0)Tw}-k>a!8iK9+ja^jN{f1DWQ zOtv#FvPtVggbSNpIOakfnT@(q$&Gbxe0QUgs{g3H4}GpAPkjsL!1G zEUC}w`c!JbkOrJ-!21S#ZotrntZ9T*V-_^#S7S^i#I`B5nlhj%)qL3E!zmx$`*6~i zE52m-Qph-zlGu!8&4_5OsXvRGFMij~{;6`qRjtCbDVbPj7$1 z0~j7aMJQl&nyZ4?8-z(PO@i4LOja=V#^&v~R-9}_Xlu^5#;y(iZ8QX^cUu;>Wq(^v zwB=!2^0vdJ9jn@LsvSPYjnc3VWOv|0M;tm)z7wxH=`6Ky7wo&xv z+I44;5pJ8W2Q7MF7Q%=S7KQLRgd#oJ-;;|yx!;rEUV61uCaQOP(X}@tdb7MY8+z;2 z()@jB-v_Hu3WYK&l#+dU(w9d4IMa_6VN47sHJm-+MD!=FKU4d2v_HrD<1&DNfm9kq z#$f&oX4DY=8iBU$BK2Nro1r8OrNJ=iw|J!OPK1A4AEp^pLRH zv6zk{$Y?eT%RQCx+?v4C36z>hg^2_kw^g=IP%4pOiCj+PRU%PIEKg!p z66=!ioyw1?m`~%#G=><-wwtG8K7;8qNS(p98CXbAkQ`!>l%Uy6Hx_YC=FoQzd*|?c z&i^CoF1Wh*e!PJ+1Gu} z{LfnVdd>B99sslFvxEJ!`8b={a|oKlh&k+>!?8J}pGUrVq@7Q<`JA0k#{~>t!14ve zTZrF6!WZ&)A@M^Qw}|{+BOT)da-pkv)B;2Rb%uD+iv!6Hn`M95k2bgkz zItS@{kbwu;d61=HTngiM7{w0JIl7W$oi)4Hx(;}G}$?`~CZ*l7u zziyG}HrZ~g6n%J`Qg^s~hf{ay9>ta@c0_R@ihEHsyT`G6B)Lx$=dx+=eU9Jf(tUp4 zXW|1*b}o6yn}@`WCMa4Xo-xtvctnTC^nJ|o$832_ohJl6A@NgcKV|4sT0UdgGd4Wq z%5yTlAomMOyr9nuHalNa=XT4;mmGP;U1#;J_iGxz))CW$@9=-eoOe`t&!qQkdC%qd ze0b0P7*59UDu&Aco8TP%k!v4${1MMj_Qyc$8T-B#dL?>}w^h|4P5*gDOqr?{BJl@95V5y++6(@vqw&h_)OA9g?Lo*x8 z#DpxyI&nj#sWaGFFq@^`*$v+uhO;jyOesP{iiA0h_u{h{?ry9T&MB90rF-I$aMlMo z8*>llv7e8{6XBKD=qwWFGkin`F$wsl0kGDaWqO|&m-lqhG+6)xV!5#d_i z$RYL#7Zs$Z#c>}aN+hmi6c_D8e-R}92Y*$(ENvF?YZ@tpyI3JA*D}0n8;!*yQLT>AR4fsfM1=Sy`d|zb zQ^nDGMy>kBJh57=7eyKvO~o0Jv!O9uI45M%H?ovhJQZ)nFF#{ZW200PV`)=kfGXNi zV!rq-(lj#)31>xa+UAx<38%`f-onyEaa1^qi3+x~R9s9KyTx^pzLk+rc!>C|ja;Ik zaQc#yw6(NA%x|aE-nb{6okWE@SQ;!&i`gCZU#P%MAWDdF;+c~=TiPz(h%H?W=b?6W zH%oWKp6T1g=qQGZwPLIIF8+wR{SBuZd7o0n0meWvT$~clcA`InEIBR7`+_Vz6y<{rXHU@! zr5uBe+J?Py`YX2(4@JQtMhy`m3Jx>ehZ_UMaq*wHA=ZpAl8n^9i4CKSjiZfg!g+`7 zGR9Jhu|`I*S=%JN0#|+Aj!-&DGd^j!mvOREG-9%(h%&NrfPfSKP7Q3;+jdgBpa>iTBCt+$*wj?D(G8!ghK{C!KBS8v^ zq@Z>R#-}7CB@6zyV|Q9Ao~NQjYO16rA`My6awaX;(vmwJrPI+N9f#9#D;)*X6P%t; z>G_qO3>i3@fgBkL&dAJ+G|9x{Of1XHr_5B%!rCnC%tG<3*utZv*~pNMve}uHosHSa zkptfx)W}I=8*g>zxI1^<$&ia&xoDb;3AwnFo1}T@mxncZ`IDFQ&Nb3J9(dUDBM)5j zlPW)L^D`trYw{Dn0Cfw{vH<-HkghN_i!iGQpNf#jlM!BY$yr73V~8LP}81i;rITl*F$jA*EPXif^U(R|>Dvv@cDU(!4EA zjxzKw!;mrrl;v4DT6wd`nQiqbPoeVoJ4d+=AaN@NLPgmg+%X*OJt&@M=ZnR@7=upVlmHO`J9i zZ^QUDtZ74VTW+>xc{@tBXJ31cwr73^?scG3M^1F4K_}LC;%a9;ccyO_ZgrtTR~|TB z$##mgT{oV0BgT2lZQY&F?iA`l&mMg3LH%Ad??sDVOz6eDUgQs;WB{cCSQWtD0L}&Q z*Zw6C|3Fp-@;Z>%y~*C2t-aabo14AK=PW`B@5|r5RO&}ie@YCX!2k`yE*-$h0X!c- z-hmVx$e@8N8_3ClqzWQwFzJKo70mWvk`7i0zGN_429tOQZbN7=gvUb|GmQAd88)01 z!$~!Q+#{$kg7%|0I*Lo9h(DIaW7#*BCu3fq*kZhs! z2qh$x{)=!~OoqjjSnXB<3L9v!0ly8T-$>?- z%-%@5O+;?u%_cr?;=*Q{ZsFb*o^0Xm7T#~+-xgf9l4C0sx6*ej@0}6Y*4uf$ou)f@ zvV#;m*}aoEyKvt{$z4?3&92>ia#r#7-@}wWJlaE-y=2=*?tQe~$NYWTy&JZlfd`oC ztlZsmfL{m67)FCI)`hVxjK+5P)VX;Y>j=R|IDLeFN4S5KS4W9+jMT?yb&NH~X!aj9 zPtf25_fOF9B)v}Icba9VX?uqC;dq>-*I81W!|xpa=V)<`0q2ffc~UCKof9mT?XRJf0iQzhTH&)o+E zKV<$xGDnl>5#Eou^N72TsPdQwkLmfC)lbO$l<7}7^^_-1dGnO-Pg(kmq|eFsoCeS7 z`3bR(=*e$BhrbbLef8=kx&?_0*a z<G_o@U&;QBLf^Dkx8*k;eVGHa4_f{p*-rv~67-V}zv%pnYj)@KHwS-n z`Zvq}vg0oY|5EZ_tyZz@Z}~FeY(9#PYbm{p5i6ciR5TPBT@9xqUZYeYfiYdo5;+nY zMMN_(P23Yd#MDH_NfF1*a1n*XHsLfZH%ek@ka#JoBv%p{QWzb@7O_plOKB7mh+!f^ zG)rZ47o)^7;g{MNEW*& zQBl+ugG8*%Mjnw@ycC~=vmq&87E299SJlS3vm52bD-k172p=(0>=S3i8}TZivCP9bAWjOO{6@S2#%ys}{1HxL zvvc8eZXx?wq_FW!q$px!5|>0qPveY8U(9GLLd0hgT-9a+)<(F95Z^_W zHvc24ttDq)uk+*^*xr5yiQ!_TSR)>a=i-ZK+QA4GL&bIRPn76rv=XDmVUezraa+6* zal06$Mf0wP)93s|DOWe6cz45@*=?mXUMv>rdKkld8q>rn@vWEP8eohU&3YS)#iTw) z{JzE%Fe{1ekg8A-<&Q^iH`Mtl{{_0%!rEUgl5;|*u^(^I8^ zA;t)iZGzEV3>Wjn4dFl0m@RIKxRZ>gVvlf{YB&T+K#;>{QFn!0f!w&X4Sj$iciEyv#xToYc+9`J5DSr?@-A-0{jqXQ#G4 zoQn*(nUb3cd03r?oq5>p+^@0r=x)wD@U^^@bgrv!e*%MYvgn9G*Pz#IG3riZQ1cw~Dc{IERa~w*)!7 z*yP0nFFZ;zza%S5^2H{B%P_bM*~;?1EV;^2qa1^Am zszAPqgj8gIMc!0maAh7==2K-ts*t!EUN!hvgX%T;QWLjY&&Vylu(g*LpRB^uS{q*qM zx*x;(k*q&k`g5;86$UV60PX|nI*@(?IWmx3LDUPPeGqek=oifUV8#z7*APO7@MVY| zr2h;h)-d7>W5+Od4d>W!{6?^H1dJrzD9()H$0!Porv7NAjb`>}c8t~m)j4BWJBGqz z89J8NW3kEJ665%99H+;Te>~;K6Fr{gAuOK2mkA`8M8e4=olNj#GEKq$pX!5CX)=wT z)2KL|I5S8wgLJn0X$DniP;UnQGgvr-W;1ysGL*BSoLa=SMdWs_)x=#w+a)7BHZp113HwSjaS3EaqlO&r+7-%aG$OyFkhG5gRK&TZks z7CLQZ#8zr-W0_46Z)f9nerzZH4)X2b`wp(`!pI|>IYO4BxF5y;DC3S2aTM=k_#G$WIA4wv@E;ePQhV45Zk!9_zMZCJI0KzN>8xj|f0o8)8FiNR&QaFO=XiIHwC5>!9#3cURNwO)Igi%` zVlI&L5}udnL@Zq@ga)j_eggS&wFIQ&!_u% zK47SA9)7@|hXh1Z^$`yq@#zs>k7;ft_!Iuv%k)z=K4Zdj^1Ptr3tGQm*-H+-BHm?TA36Jxn2&t6Mu2y7gc}L<~QSibMH5C|B(0({?10? z34i$bhwpzF^_RzgDfo}F|Cs)dgZ~KoSF1-X``-Yo#ZhrvI8WS#Vq5YNPS5oerKxcY z|G36zvERjr6y4()Lqv?o8Q+*ElDiu2qL?@!u8C)&XaZxjm?371vm#bPqvih*naFEnK+ru_$dk}H(HC5s_Jj0G%}|$s*B{QjT)k_SR>wu zKcZ<`iTe4BK4Pu7EGBv=iNW~|XV5rQ zX?X!-kBC*!h!V{T868B4B1SdQOtcsC#V_HUx|!!`sdP~zS|loFEEgX{<>E#ku}$PC zVe}9yL_IHKjW{bRmNY^|x>80Hu|OOWPee#*A>U#A5M7jKByHKSaX1MltcP zo>8{G(Nqi*Yem+EMgx(pkug%-7EvOhpRrMV7L^+t=foxPO8getn;5gi260l{7P*=l z&QNh?e@iRH4pBfA_c@WOxlvJ!5Oah_3&Trv5l$(ducf7CVwG^_j$gI1^jcJFZFCZo z#AoqSBvDbGv#rru^b{dtzu4W*NZH<~BAj~Mzk{Xe;ih(nIk_ zRPStb6ZyLs^~3CWWUdB9;Ccvm5dWn*O#t`AG z&l=j>(sxlrmHAK+Eu8ZFSYJyC`Wa+t*h3#4K$%a+I%d+tz z8=bOqI6G-_kUt0EIhd0ZA9w2I;%P1t#QwuH(Tf4=#C7IX@lp zvm-xY`RQDMxz5CIp+amfM2Es0C``X13@t)pPg;5s;K@o)$`)lwQBD*kq8N#a)3P`# ziW5P2TS_IuH!6sbxRus?GD-=jnJ1oP|nt38>4mx@@aU{Cc#g zN4t9TtjDW*w64$a`h?UctUg^DGNK_74SCj(cMZAhM~%ibZ%n)+@|pkfPpw;*;)jRBW##TFX_Zq0<&%xO(bYs$CbVjG^f z;bR*Xwxv=#TDE6#d%AYuRR>abBO5(l<7?M&Lr(Zt}Z&yn!)a|cBM*JK6Yhe zH+FR6cQ?*;*SqoV9{lP-+MW#V#mru;=*6yHGzp}4Z_f0lY+qvaBXd8dI;*T+*!df0 zgH_c*Gz}toFuQ^&GFXd`-wtNj5H<|apzoNW93QIPRe{5>LEo&yDKnhLglDX2E1KPNCHlMoi)56lP83*i_D}WhOVUCD(=MDz$AaVy;b~0iob9b_NC;NA5CD#3&9N5LtU6k9+>fPMlO`$!+ z+soX&{M$>h{ao2k%LA-BK-2+V9$?u)7KgDUjHobt4l(Z#EuCj!mm@4b!p|f8IYRcM zoIJ{0_KZMwR2tIL^iYi2jeZCkQ#g{u3NK!RHfXIZ4Trv^z<;Q~G>P6MCBO zr>S~|E@$X_hUhcAvZ3E_Zie$MoQ-FBe4e%!2z6E@$Gu33i)6S+hl_N*$P(w>IN>E~ zU!uEnYxT(`+%NOyGCwZ!^D?eisC<=LS9x}oM%OrWjYJV-j9_#G;Sv0dAp3QKuJiOd z&#sf>2EI2KeS`5gSa5@MH(7F%G?C1TWMd?Lx9E3^QMZ_Ri}bf?f17~Y#JWR^J50U9 zv^&hbLx(7u-sAQ?p4{W}J>uLakF{Ulr_lpCJmAa&o;+aSLxLVMClq-?@DutyP{)Mw&xbTGtXHK~NS8g~9vxaKGXf#M<_>0!!lz1cRBsNxv-y*Y{;VftN zR9Y^a4b88W$|NybiVsPREXj<9$&JBcmKc)4$e+>(O=UPQ&&yL=N|eSZEcS|$X$^0Y zKb=uVyiafB&R`r7uSJcFMq@Gg|2VA_E0ghF6wPeJ%VIPTGsTFk#!7KFoAF&V%x;8; zfE-4qoJMvrPpoh^&WRf$Q!b;AD4E-6Egp**c?`dN#t<<~l=d+0ilF?)bi&h|y6b^E3j*TH(AXdlt1cr=*u3j2$9Ud=ihV8ec`8YQ~G|#yjCv)95Kah}gA^#A1oKB|Zpe zKDT6TOZ~-H@mH*^V;mCKF-F!kCW_egjXGkKI4+VmFrEr$Gga|Mmimh|VwazBPTUl? zM5@L{n5gY<>=H5JPBY_|$k*H`B7(&`@m;vIFj}cX93-6f85M=U7$ioEVLgmyJ&g_`OuQ7;dKrDhWHDWA61&A=F($xxD*lK(fkr7oZ)2;t zFS7M9Mv5t7u~;U;MM@QsOT-1?+0XD6V?@IKMlw-fBp+ZL5Md&jYRWQVi1;8Hs>Ez7 zMu{pxMpw~Wj1m6{XD@S5u%$WTf_N)34mPHUbwiBxVyD<8#tu~yv4&J%Zj zxlOBFn;Xvny86|Ono zuPV4zB}-MtRb_ou!m4tkD($N=q#EO@F|`_z)yP|&7S-ukogUQ*bdLPAt-+ca{HQ_P znmnz^cc)qUOf8<(qF`-&Yg4T@*KHM69TwH$VI2-Smwz6^)Vi#!%c{Ekt4q>)caOfOzX-_=V931hNHXU z){R2lh<0k=N!{7rowMC}(Vc=lso0BIy$I_?R4V}|X@TELYB zlncctl$xP*52d^_rd)I}9hdNS3H_Gxcq!h?n7@o`%Sf?;J1cm&f|wO}ucYTnmaU}7 zDvqw=|yp=-RD6*ZZ+jTN_e&Mpe>rtoeO?;*<`s_Z54e%c=(_yETa;BgSogRBf=eHif$>C1bFa)Wuv5;m*trW^{T%Dhaq}Dr&vW@aH7}6hB7HA%_!8GIk?b=6F2faCUg1CI$+pEc zjU8`}ps=&l>f?3V-K5`5*52grP2xmyERySyIt>*6Hj8hQ`VM98Q0*>j?h<~N0#Ve8 zqD>UnqPQDH+WRcMPoyLN;SsMM;rp1gj~VlX z*iXsultNGOe#VYxRC~dr7o>SfvzG+CBc3 z-r@0%STQ7y!9NC{j}-nytXuJL}d_9wr8;`IxkUmX5L zx!-j9O~@ZE{~_LAt!lpUm!ALF_pesDSoSwLPaLC`I33s6<6@MGXZ$Ceo30t+TUsKn zimtB46XBb{=pyEc1LB}ame6P~j)C1ON8H{-j=n#9N}I*T(RTBJy7 z3=vL|IWU=}v7$?IW2x9Kc8ZiKjEurhG#A0*SxTd2Dr1&7Bxa{Ju8I0-i~(YVm?`cE z_q0Y|u|Z5$S-L_vM`0_bw{%lDGraE|}1&TeU!c$&kAlhbf^R>dfN7xmnYablnNA^wWOxr{%eL~g@d1d2K0 zym%@K-8d+mCC`~^T5?*R|J1V7rM3|t z!&j^nXGD#4S*dz?dWcicSrUJ)&VFW19FNR{0s@8XLz% z&L&1h(NN42Ps9(Ap{d~^o`{?NM#^T!XA#ld_$GdcoGpybqLs>A=jQCm)|Q;d(ZOvj zJrw^$x3536Zs<(O)>nXu~>N>e0n0(9I|)8jC(X zjEQ1lPh*8xDV%DyelJUFM7X#i+ye|RaazO+G!lsdB3SGbH$=1;(A#i|+fzyx#b1%W zkCD2s(LzLuR{f0I;M|uv0|!NCtQXbGsJ5VI>J~Y4vSNw%1EP*=qxsfo}-L|qW)+jK!l3| zV~l8VXsnTXypdjX6rLeQNzqb-inrpoC_TZ*J<)LP2o+XZAl`{XlZ=O=-DD%#6eGb@ zqk>`G)6RqGb^XH+k$ReuR?HA5#3{qxPrEy1t9R{TwU03&Hs@pG5eMS1FD|Fz@;EN- zUFhS&G8b;g<4ZgW$0yX4Ev`IpB_shK60q92BNQt!i4(IfF~1U%&y7-UOm|~}8{6Cn zvWhhcbCR$*2@8^{X!UXyC;KELNpdnIr(JT*?IudW;1tYH!Oau|r^GcCzNtBxn(ApZ zv70MHJDh}4B?P?)KOnOuahB6xUG#gpcqtnnn=lLkfURg{@Ui7ZO# zVl*knrebs}PSO$-_2RY{X-bi=6dy~`u{6P@IaiuTrCC&l`(>zJmR4oiRF1RdNa{^q zyG-j%GjHB|lcYTD%k#B76`U)zWhzpqB4HKzuOdl&DCteXBF7I%BJIp*p>4Fr)_KYOtavpKDUM z7Sv)XW`c~8SkR1?Ex6EvqAe-blEy7*-HME@Db|Kw zZCKidK5gmSmK$yP(3X7dINXjp?fKiD*3NMuw@zg0#N*|~;;Ysk5lGHdz0mYVD6v5v&+ z>9B#x8&pxwa3*uZoF~|6n_04%t6PY(m2+Fk;>_MA-NCgT#Mw!go$T4k@tq9c#dK%< z)^!hwY`fJS%IqO*4`=t_u@5ij?og`(3_U<4XQS1LgSdoIA&k0V%nV~+7~jHpd5ATK zsd$9(N4Ri=n@4ze1g~QhJWj3Sv^viD;3i$nLEuf_?2PB7BBK6Ld22~LvrB#%#0 z>J&3ivFa4pPZ52Js;BAheEm<8`3%L*u;2_^&v57rH_i}shUDR-52sZ)LE(%K$LB2V z&a&k!-Oe%f9M{kB`5dp#^Zh)jZQb$(PF>*Z1&Usx<|T$-BI{+^+xn}^+_}v2%VfWT z`xU&e@Zbt%uCnAR?XS_yd2k(hom1Dje4Si3$aj-ur+UCI4N@+xn}!%)85>yZnpd!9Bj*quYIY-{;f=-aX*U z14ce1bu?+Cb-i|NG*NcL)@dxx_L!E=m+L9To>Jy1d+kWkGm65IT5|5w9#`^DXFL+IRHCL5 zjWZZC#BLEKoY&OknJu*z14WRSD>jQqB1X7mF$#z>qHtDYidZYo2xrmN>TH(2iXPdG zQ1ME*=P)|C8v$azcr1R3oVko4VuLs*#^yHC8Y4jKY-uxKHAh{n~7 zaPdQouWrPMw>69+HH~m_N=5R6+Qw(`ppH=#qoz10y4N+j)H8;PY7LD14UI2idL!ec zIP7PXRNY%u>=RMKuZb~6Wc4>Dh)LqR2ybS5X>K@$ZlP9|8i{UVf;cLYwl)R{=X7q7 zww8*CPNGpeW4u@{{)&M1##)iKgV9_J5+UNGaGHV}cC_?F6zpW|5$}b2XQOIYW0IKH z&A2SCcQ?B9F#Z$wL`D_Ap1q9LB5{DRTucZw?u&B0jb&oBsNGjd6z^v=5mQBk$f}Ap zr)VoWii6^e_$a=J!UK$n!Z{<9aG<3IqN$iDPKY^!jNRgdC>>;Y1RMKB+QG(9aa_C+ z$yE1N8ET9cPRZM7n57P)lUO0{i?HE_v#;ubQnV;F!WbyZk2J=Jonp5rHOlB9Zi;kc z45!fTuQXDGi)X@btT9E@8)pQGvEz-YqHBoZjM>hxWM%7V{li7!EQ2mP!O}1>RivC~ zIEC;vrD7_7ovz|~lP$Tb26nbsJyE(m)hIRHsd0NaHExUAi)+6oeQdm9(?2$2V>2!` zdt-AX4pDK)AD7;7ndE${;?mBA9WESnAxk`h;xRWK8=aFv2jkJpl?Yd2Tv?NVcM0g3 zh~9~albEN8+2KaYB=k%|R1z8_Wk^zHC&kSvc1I$zMWDme#ni{)itUgGCtz6aYp_~SwP`~>7@UI7jk zU{XPj7UX(Cq6+f35Dg1c-ILj#WGza`qD(JJU@?M=v7;ETiV?RsHEqzfIH!x_R)RDo z$XJ5HC2;eim=}pllEt|jRJIfiN~u+NKq)emrc4P$gbf;!7pmeJSfpV_!D< zvdx#QRj5{lUR4-cg+x`UR+WiP3vom>zE`7kbrx4ATMhhbu(k$CYx1KeUbU!Q3)kAz ztxe%N^sB?DI_#}OW9SZ(ob6NLb%|F`uc_3dUp6x6RyN{&BjWfG?njBn_}Nfx6C#_Crzv;+x#=_#7i_L0xP@9WyCpkp6IE*} zwP9czy0@iVJ36*ZoE^hiGJ>BYh(D4F zqo^~AmZNAenpMuZ-11`y8q3tNG#p0}d-EL6it!v8&%5!=31L+T+d`-{ft3>|Fp(0I z=roD<>_pId@^7Hh20Csa*+%V@D!dWjjr`b1<;@)0OtCGDcPiIJTS>f?x?35! zm6==Fx0S$cT-?ULZ6w-`+YVaoVAu|(I-SGTFnn|;opv#97t3}raW}quNVk{b`)II_ zJo_oWpLYA{v7ZVeTv(s@H$Pq(@a0j z(bLpB!_hPRJ42FiLc)0x&hK#Yoz;Dy!sqC8j%w#=ex8u?RJ*{D3zWD>wTrC2Na{;` zy@cCk5?vwd6^dTr@KqjP<@Z$vUSrNRDn+m%f^!k%xK7A*e4S0rGj1{|k|&Y$xJ3zP z7jvaM47QG6D?sm(H;UQLBIb$rSay#q_jr7dD)-?5sUA_{5&fLCQY9ag@Cm1%knSn7 zpW*SG0?$eHg5obI|AKZeIQ5d!uNd%(cCYFFhCgrce#iWGoN<;Zmy6+H46!~i<|Au9 zlJ^t2KU4NIp`Y3Eg`lsT{>q21Wcr5ZH(b8c{X21g5bp>1e~{`Yd4AFK7wvyB{}+pY zan0;{gOOs@O>M09G@gm9X^e_#jp1I#>Hm>Foqg686T~TT zPfSm5>=Mqa)SMYC)fY>|MG-ALGa6aN6>(kk%VbOz)5H$(KztA(-o`L7OI#5TMYQOe z+2||gi`Alf79&iY7s<04DMdN)NCamy!o?JEO~i<@*^T)kP7cE z3L2F(qXvlvqO~|I-iq%cldo}H#DMvSj)91}^a7{x_-aZ4nqYP1u#s~Kgh8~ufQfN@L&2O86aZw;fCSR#62 zRIF)~sckq7$|sbri!^nN40VmqB5#nH!aSfoKMYgU+pco{Ibu+Gtk0Q9cQLl&5P&fl#br^xzfoD#7i+{_;f$Eh`Rc?0_IX59A82G7Vl)uD z#a~f$s1YcfN%FkXBM~&rXd|ABFT&X!6hFe!Ao2ev$x0*a^P|W$(ikh8SEr>%S(+z) zibbOhuQ5iJvBpYqL}VRjT| z+Qnl;JjTZ3Ks=7dqj>@jB;aHM?kC_`0EUpw!PH=MWCdbX0IQO`5!i~|+@#_2(d`W?eJ9FIG>CP2*e!G(+CDT%IDitMD z(>yhEQZp|#MLnqP!8%XUI}J}u)A02FN}fulWqVpWdNJCImtJH}M_H?PN=Kh`yiP}~ z^t?$=lMHmrz^e?T%t-l+1Y}~4^Q852Cdzv=-J6Zx-1DYrW^QEG(xR(bc##FKth~-j zf^0m`#;a^3&Q7W9e9KPS9CXP+L=OCN@-inaaxo$oi*l*MiQM$e&0V`doQD*7X=P7c z^KvpTkMdF>AJO^fou5*v)$>Wl|D@m?W)GtL`f7<)=&!3E? znNpf~Whh*R8D)r9mI~zvD$fUdGFySZ6-Zf;d=)uSk?fUNQ;GeRbiH_OWhz$TaTU^4 zrDj#GROL%mbuRl?r%83jSLa%FJ(;xU~ywQIyRm{^0X@CcgL#H|+5wU}I+OSQGD zXm4H82T?VM;2;_XaWIJULA0w!vHHBJ&$$NNYrv{tRtIw~m=D3cX+-SCgf=F?*-W&d z30ds?HH6tAEC^vtQ*JaRPcu?9$2y`Kv}A2dF1O@hPR#Dal1?0OPG=K^;}%Xv zyZ#%_yl^IWp>$U|bR}PRCU>Vw50>^|a}VzK;DNJ~C}U5W_T*zvGCS?by?f!_TfdaO z>D-&xeaO>?s6H&{L+-vDw1v6-@ahl!+1H=41Nbt4bOV_(kkCOy4&wYEUJW92Fv|wB zd@$>r0_9Od@E=CwVfaQ6Xm4kSGhsMWM$maA(?;^l*@_!vbx@;OHkwjn@gGaOvGf|t znz1C0)ZW{Mkt~YjMUW z8gF9KCLV60`WBLICEZqPZPjV+^R1NJ#*}TO+|K&#Y~4;ir}?Sc4(9A&`3}zRAm2{> zcM`FaDLdJ|lXgy@^4#6z-9zTRel8ru;}9DT z@$3+f4%7SybB?g?C|i%Q=NK1`(f2s_j`Q+3;U}AaL}c9H=nxqp&s&XKLh zX^Na?-D&EcVeDC!pQX`%^!Sg(|FQEw3ZG-cIi1wbu#%?>^t-^M3skwNT}Aya5@|#5 zB~D+$>oUbJQ|mIloF%#au8{01m9H}UDp6OtbCm+lyV%LsaJ$Zq>lD9%>rFCS;nPh9 z-em4gKHlW-O&U7yVyoX~-fb4xqN3Z}y3Lc@WOFK@uHRw7UCP{}+&zZflFF<~`-yQ?fpz@iV$VW1a0PdQRwb z20UlNb51_z+zSpyt9;q-C1qc-{w14Ua`Po#ubBIaRj=4$70j=+r6}kvv);1xEg#>K z`#p=^v-LfX-m~EY-XH1okrd7f-QHg~`-R?L+4hxk-{}6GuisUvY*Tf=pM3mD#b0!G zZXTEUL)Aab{KMG4EcnZgza09@nZH!~NArKQ{zr#@%=!m0G>u_lOn^%)`^Ugk7h|sI z5Xaao&WY=B4bOPSATe8Hj&FpB*5ZbEErusBG9)x|it?hj*d`JrGW>+UXe648MH{+x5Okt!EWyMet*WD;BDvI{v zuK4&r!c*!~d=ke~89&AD)W&}CNo@Bp{)!`>#$65BrP3O;L}4$ZxNyeppGw)&84JV- zab8>ymxN1tqr7M?oOQcdG-OZBWMs^2)D@AUL>6O}xF~*!_*spTqP_SezKU|$jLBk= zI3bc`|36YGWzJ!Y6u(8UoW=p+G&6rt`X$ojGJJ9y)5Xy|#$Vx)*O((*^BJDvx44zx znCN4C7F`M`6*LkQG7=Xyt_bI)Z119$Dit$ch-l%bf%UqGU&2T)GLw$2chB)iu0DfY>jJ2N{(_u;?sqi#qj;^WvE}T;KR48a6Pd ziwVI--G)ZExFg&e8Kp&M(OpD|W5Ttu;V){4%OYinkw{apQ=+_G$*E4Bsi8P&bK`)B z-@+Ky(x}$TsNdRHCJMGO%8FHDw{Z3Yy=rUevltR;3>DELPuTxaUTK7g-_A%Ooc5)b zN@Ik3dm~;4!$TAjr9>4GCH9IKF}Tz)>YEycTM83d zyBKrCQ!!k#^mvh~oAFvWv-Ftmmd=aU;-mN};`T5WiQVFyaPBYvQR>vwcqCkU84X0T z-bN}hLNx7TToHNu8YM+}QPZ$P(3{G>{q(1zmgpy{_BW!$HsPH3o>cna{D%RS$__N{ zil-vhAj4VKJ5;ISV58j-V~&VD)Ho#XuEJlsD0MXV8q zhd3mjiFqT9pQ7q0qrZp}=fo`$G1{0a4vV>Cj3uJVSfi=fCVq&wj;8)LISHY;6pBJ3H5 zUe1!Dgz?E0pTF^mNWj(v#7an|giKDz)r8DTM5HY#N))@9&r1}bG_Sw?ncBvvLm+0k$&YI(E3n^u`w zo0;$|T*^XdR`xqrn9pYAhBIBeWT$I(j%Mdhb{gm4Kn@P)HUwjawNql%Zl7`j%l$8P=C2T{$wBqeM9xmLpwxE|uqIdB#`ZLW=wTASvz8Ce^9Xq&4JrRuQCX_tCm zmoN25Sf8@>nb3gb!75eW5=?TZPC29zOB-?5?k_hcV-tEcVQLfhH{o*=>VyyyLjMrv zhp;1r`yr%gN~WePYRamnWN3!Bofp0(ym8%npuB^3Wq%7(Hily9NKP^u$wJF%@3Gdq(joG#(q3#U*Q7IkHNSE9QT(2eMBcz0)q^U(Ho zcXIV$bPrPYq;*do^rUMqe)S?vvfF{hT}Stej~X&Qb)-pN7HpQ+eVXQ45`PEehkybaBqwj1Fs#6%Qz~IqvkkP zjAQFKu8h+(p3a%ZUqw4YaNx>@oF8p){}cZHP#cdo_6bb zu%1Wj8MJ|)8}Q%AjEzKXWXVPjZsf^EMr>lDQ?T52GvS;0wwdx>X^_L4}>P+)0O>e6;;VyU4hkCc8Pfo2+{X-NURsI%{sQ zkBR%3w~wd$h_jzJ`}t^Br|qEmAZZVg{SZeFapn-o4ikBpHO|A_R!8V~gkDD&c!bwS zm~xcwM|p6JZ^x*7ob|`~?L5-me}cCsXmXNeCwYI8->0~6njUB9bC$kNi}H)JB>9h= z&b2B>p8}q)5tydJa^A??*g6|$#aqE7uj}^7Z*u<3C~Nkxx}bT%(=wcOT4~B z(aV&&tYhfgmx;N|b=!Azl~Pxkc$Jq{QFV=DH&}U-$+!4%i>kNTe49(R`F30Hcin9V z@LfLNrT9G}?=j;ZweK_cK5y>R>H$L@F!BL&AMoJ;zaJ3(kZg~*`iOduY4MoBkD2$F zt&d6igr-l}{*;4Hnf{Dx&v^fg-_MA7M$YGydd{=w?0iA%XxcH`fuHuk_am`B z(b2XWeImtYwtVL7XWYJ!{tF+zkmxJ3zLNGE^}gZtog3e&^MjE;*ztp_Klt^7Q$KlR zcc_1H;}?m4u{LSRqozHQI?);<1PpapM`uL~2n_Jc@7BOkjKxe?|3##%gg(^iO2u zNo-sdnUWZt#CS1Nyb_s`8g>$I|Kb%+qq1|d?VZd%Z;9cq#vo1JV}x_H+B=1%$0FF> zNSM-iDx9D4o%0CRzw*6H=ormeOW3!m=Ch#OWM{Gbw+{X{l^3 zqnQX3H$;QnMu?arrspx<3TIqyme*1{aZX$j-SZhU#pnFSPm$8cST1&o3*xruT);Ri ziWW3Ri(TTJcq1PB8kq_kzQUQZJ^U=~Dq;*TY8(;A#7p5;%y5S8T*WOF6%|B?h!Imu z8V5wuQiiMOCT@s_!kNaW`CAGsZPXF##Pl-860uZV5%tO%Peg@shO_4Ar&4rzKJE4g1SaYQATtV{YCtGMq9B;w5V@5 zk9?OYtrW={7^#Ja@DnYCGlRcXx)N;M7WYK7crRi#G$x6MqFE!OU}Ga#%oEQK6~$Hv=*#x4wTVU-K6 zamW^j@^NSuhaPcw6Nis+cpi_I@fi@G{qZ>vpB@S5lYspRXp~SltLG-By0gzHG6_qP zus;c(k}xGHiIOol89uJma;2lIo)pIS% z{a&2*;;I*a(vd7Z!_qS{J^Ryh%Bjoxn4X>)7?^=$8TgQaF3x`7Q5m_Ik*gW`osra; zD3FOVnb?+zXPM~W%_whTyy=#iOPP6;ncr6RoP`Hj2+qoZtX$0o*(sKT`Z@TPgJwB7 zlauE;DVz(xT%5?I&gb2^IhUJ^d1+x=g7dL2KgaVE+lNperu(qohZ8=`F2K?P>@L8M z0+cDp{er|QM1n%>w%gsl?C_;zRcQiC zt0Q_*X*QImcNq?r;c*#~mt}l8?%N<=o|@%ZUIDj?%&N$Wid?A3ql#3jMD5C~ugsCk z)UQJCDpagW9cQa>oocMC#))bqu1@yq%&gAK>inusPG@G{6u`FtZU*uukPmkFU4z;+ zxK@L1wOCk-JGF>an{2fyT$_@$*;bp!wF#)hi8_?5OWC>%t;^fG6bPbZ5Tk=w8bsQ9 zl&{B-daSF*t9n|NRH{Dx>$9)E+OskTQzTg9{MJT9HzrdP!kVzI3BQ`)8A34|=bN&> zDfyZ)s~PK>ai$qJnn80yn-kWY=}wJSwif(oL6CDm{;?%LTdG6rc`M$vB0+0Xw(olG?Mwn^5%H=nROm*dZnWt}L^tMk<6Spgoa(HP z-HG3WialuVoTiWK3B737i!QxL?F{u+mlfHElYO|;hxdIL*q3d6+1;0p{W#x`3jOKT zpK<+h8$gNyWEnun06YgW!5%jcB-8sXBy}L)kTy{KJSF zL9z%6Mi3mq)(CD#5Hy^|!^ts%A|p63g194TF^W#3h#Jj{(c~CIu`!$*%V(!9%iq~f z95Id&<9IcW>X9stq|JEFkH>QY9Vd`@B3UPrb0W>`#q&hcPol&mhD>6@Bo-Orqmt7TBJqDWsl8AzQ#SjkVM0FrD)=h@OG(Od8H4#Vq`0(R&uRX0c^9=Vmiu z4jbnXg-NhwwRZTskeklOE_wMT1)A%lr2kXvy67j zSiOvO%lK~@DV9@tIR}=LY6XRz#Yq!aaBBrID@bp{zEiSQZ8Z;9^L#b#Ybdscb!$ky zj-l&Www_Jvb#Hvy24-wv!3OeJnbtpc7Gi)K#R{d6P<=!@)ZRfR9 zF`Z`z19nnn7Xx;&#VOM&x`!5f2;aliJ$UY=igR83&psOLXUKkT@29J?8fnb|ejFgx zLDn8*-9a`TB;O(OA0pro9S*5yE5@e#Bji7V&k=eb;o}iH9A(QndK9oW63#I+Bkon!WXD~ zf$SGaafz1Bo93mLSapdMR~UAM&ewQyoocoP=>|z|lJzEYZsKu^oVRFqi}AOZb&G|! zSaXZZx5##zI=7i}n}4^-aEH)4?72huU0&biyY+9~!|y(O?`tDcT$|G$68wxO_ z5KWJ0YP{slD=NGuA7XY>@C#X}Jp-?0A&-u}fT?uecVjrroJxGdr)HY$ob zNsK7rmedFphr|=H%GIct+!!O4i!I{4c-><~XiF)w46IGfIho!%HOmWul#QwAfym?%z& z%o&ZA;;C4Z$=DL&!r2i#tehq1c>9RbD>19Q;cN>oR>4xnibf|9T*)X< z+4%n*&}pjJXGSqeWUp%M6lcXNQLLKrK=@WSI*2p@#(eQelnykeh&keh=upF$EmC5n zu4$AL!$tO5#v|cX+ih`wUBxG1iP2f`VTLpxdO(Ag**ZY&qsyBJ>tU5(D-a5v+T z_$Oj_HzGuE4`ZM>BR+_%J&nI2S1;qOSlZjTCZ36)K1MUqSqv1D#Xr%iuQ5&h5Xt)) z%=qpBwArZ!t;fC|D*lmQR++wtF2IZwr8fl+r#dlG1lo2gl#~2kwFR@ru z9czpc&OPyCO3qF2lM^jXm}E@(KkU4?i!<1swF}(^W79b{7h-cIHf}Bqc44~I4^VavNs=B^6@nv1@f~X zKR2A6yUBg%Q-GlbREK4U%5@7dxDa~_QP7tNUq(4~SOJ9@S(x;GRJH9yesuI>wjb$= zkfjLyi!i?k&x`P_2nC8#u^6q2(X$v4#Yt3x3?;Z!f)phQE6MayoVNpJ=h}6?(o8GO z{?a@y&9E|DEJNk8JSt06IX0AIYdH>;BeXmn%5%Lu_sa9LJip3Qs{*bSd0CN-l}J&U znw9BXnSPZSP?;1}pem!QGNURds*+quvE_I2ni(e4Mf>=?H$MvY$ zfTayM(17y|7#GaMV0H#`sUeRV@}wa@8WOh=)f=(F&Yl}{zA?`l^Sv>boA9Fvznf5^ zDMOkvqbYNna;PaUnlZFFk$F_FtX~)L)EbYLd4qWNLvkn?TJ9eaXC)Rc5TxTwHWPFG$SSjXFt!J-J;~pbVLchylYKo2>cx#-c=e`3Z^rdzR3EnYp+H|w^yO<` zy7VJyf6nyh%>a4~BzzDT2l09kbBFML2xW#+V<>foa&IV!hmmF&Rfkb~81W;h5W(IE zzDH1eIIo8jZv+kPn)V0=j3CQM>N)e|lu@J{jjz2r9!&%1@c8CvUXG!{Sf-C9Fp`6j z9E;>^ByS_B=X7Vi8c&-ET$w=eiBy?L+)1>XMAONPpUi)gc{G`_Q>ZY7np3DVg(P-b zJdL2~^q;}38T6aUpP3Y$MYh=l%%=7nCe7jY9D?UEV;<+{@nRkY=5u&Hu2D3I;#m~A z7Eovb?H4d}0c#gf!)ee;zKEuaXtjud#f)D})g@G0!n-9DTFS|#EM7*?a-x^R3W8VA zc?EY@@Ny;bS8;C@)mKwvHS1Ti->J{CwYv+~@NNyi*Qkp5+FJbA(PkYN*YRK-vDcGe zJwEFhyPkC$_`E^Q%yvlZzKPzOc(REMUr(_ABwTY9}ENm`TCc_|5*5s@BgR~!@d}9#02z=Wq(aah>N0fY@>zn zaxq$qC1RO4BYudHag39qTwEheB#md}70xEz8A`i^Z+xS;_%50xFiwe`35|2YIpZa< zr3m4X#KuTH=*^(QjL=(|fj2Fj6jEL=K#1#{Sa{;?l z3QOI@YOzC{76sf5XV0#40oy;Nea1^|G!RZP^f9Hk;)#dh;%ST%P95|wrLJj=@#2oC zp4M0{?ufizhO?@ud^$_DL@RMwyb_Jm8^^?f48}X*47Q;eEp-xKM7&H!uxKpy3qNmT zlz1-sWj6L?FY@?F-?3GF`{x= zV^BF`vbZjqS1>w=J>r)5Dvnk({)!kerjoHxILFkvDqBJf5%a_Y;a$ZzF3MIl`iRBi zx;RzMNLthj3|ac#2UXejB5Qm@XEG z8f}e>;=1@KQiU3)Mb|JRQaG2vecM^;AjXQn?TzdmjC`V=SRy)fG}ef9;*E&Y$=D!5 zI~&fnr6u8(c8JenTo>b)h~L$yAwoo3@lKrWX510`yBp4CrF}gteHGq44d)tnl3tbq z#A~15aXJNHPlETGKof_u}D13C@lg-+X&-?C^Fpe9bt?SQR1fv9%)<| zW!w~bMjPivw=qV@Si^gqu}CZzFNANT5h@0Y$)fUjqnQ{gh6`tV(h8-l6O3gd!9>Hk zt?jS0L6n?iTrq6i?&^%&=>xYA#|3{E4!Q8eMHO9J;;=Uk=k4S;4smSDQd~yIhKY9f4-P(BHEa{M+4u1UF*l($KVNeamro{T)Mgu2q+mCLToO3uRM zTuILLh)xZ*{Dbl9tt7U{X1o?RJuodM5` zjL68*jKs-=e%axN>WvJsM< zOWCQCgK;@Xkdrk|6LpPTkc+9g_>hZSxe0deb1%rlnmqi;gS+!!x_Wiyf9-5v%4@k{AlCHTR%LDP_+oXim&%WocQ1!x}K60jC;pFqotb@oC7zhRkV1SYviIrcM*Wo6w^P z7n%?p!psoPh7jZYb~I&YQ<65LZZj4%V}En5H0MckQnsK;3-+}jNlWIp#H$q*ThXl* z<6CjC6%E?r9m<(dZin(Nl#ijL4#TG%XWMbV9WB}u+>uiqnb?WO;WP_pe>jK3iQSbR zT}j`K8{H`1ou=LC*qzzkx!Rp_JviS3tMGW-lLWn}(u=jd*x!rmy?Eb?uDu!5hjGq} z=jMI+uP?XzlA<4*`w_Q41^ZL2KLP#eKS0Za%MW7kApThs^l94x!i(_7CCp z5WWnd;802orRq=`4yDCVvRWT?1Rb1WuUx}9Je;G$Niu?NBUm$n<0E)Ff=?sx9!Z5! zj2OkJQA{1hf>Bf)&9u=R8?A2Yr(<|KhQebxF_v=9!ENG5vPaStEHkxne!gfAy zr_T;P@1Xil0(O#qmwqL7QE3;6cavl{8FsUNH-~qVW)JzC#Yr3YV7*|k_Ts*ear-#B zk16|ExSxmnNpX;z2WfmzW!Dc6k@7HU4ij;hLpFvV;n@-L9A(8(_8ld~G1?y|`UGE2 zaN{H|PU3lr6{k3Sif5-td2Oo=fib8Zm{bHdv7rNCZBGS^cKl(;dP4|w}^e4l+JN)kJ}8s!-l)uxJ!zA1l{BL zJ+j|dO_^bW80WPDGt_q2YG=LcTes^E`2|H#r$Jp9D4&z$~D?JxBD!sai$`9jE7 zmO016X}(eN8xOxR_&ZVGN&ABeKWOlSgFm?RgU`-^alKzO`bDQ-%=<;x->m-4kKZ)> zL+?Kv`$Oly1pEuA7t8*3A0sx2r=nnNqpcV!61W)S#r8Nx^0>xTaaV-KGbV|u@r`^5 z4EKb_8j&rLF_T}VxySiX1o^8D`#h* zp5|_!3x(5Loi?SV&cb=yoIjPN4dTAYmf8pqHN|RiR6G=oJq+imb7PIxgVGwy#9mF+ zk?D*zB2IcEv3Mu^GZ=rwy^KbIOh#YP$J&bIgA=2Oe_;;#dq;Kr}0~O<}&<5-P}f$Xp+}Rp3i6_qDAlghO;fnDeY?M zW1p+Uc~P-|u~$^r++5sONemNf#InLh13%-L_#&zlF(!$)8inf=Gm>iJ4HErDG%AT^B26hHKsYOduPP1jH!_tma*8~{zpOD!925h~8Gl5D@|u|;@lF5N6H3ui~LZ(U0x>KUVib7^{NeM=cMgO(DN#U1fd zd=dwOjk}^#L!*aqE=ZqLy4A?|CK5I_dW#9dd8zE$M1LlRh*{#Qm=j{m7YD^FF}bO+ zMqCsPni(U7OABL&cr2Q?G-9l#rIw=|)K_BA$(HvNoq;-5&; z-&imF2N+Jn*CwT81C2bQy_i49cq`frHUftj9mIHXMGPNm>=B2B^SF4%FiUGi?+9b2 zh&$Yn|G>VTh{)n%m4W|{l(ilsZM7gm>m>41a#~H`PUC}+#I4y37$>WVZ zhKQgNvemo{-J5|7jIxDpTF_|%Ng^!N-(z}p0*PNboi-JWocTD`#CvmRu9*{Ny}L&gbMh-wk);pBp<nz|rze{|8J~uEX}F$-YiWt_;-MFf)3HAtEz>hKJ!jMNCp~#H&@}^VGtfLE zJ2LVmBe^pX&zp{!nU$G?nK_f0=*;BGLLcYRaGPv+XD2c{E3y+O2i0>BHz(Rois;!i+1-JU^NgVMP%R6=6(K(iY=$F}@b3 zP6;NKP^)xADK?g(g+Cko2`x>DG7K!k>M~q%R`y1fWm8$)%aN-bt;#X393RTjxI9hE zv$Z^ztyQ`Lbt(~FN&9+>+kT^}1XiVGRa#YLU{z9AV^KBsRO4nf-dCeyb?Q`SSare! zco0DQKz;;Lw+2gVaJ&YOZRoB^{+a~UWKd0Z)ud7__SB+Y9YX5Rw+`FtaJ>##r&bVN z^{8Ku-Sr5luit2A&RkQUI1L!ufEB@P2&P;^E;giRBN8+rRTI)SQMuNp5RQlNFoYvb z@oh%oW&|~3Y%|6;=UsEswjg5*9=BjYOOCaqSu47>B5rG{wWfR<_O{_k8)~;@Xj_sw zbz4Qlm>I^LFy@DGGK?2t{Ibt>)M?M#_LS;CgN`ii$ofuf?nKhg3=QXWIRC=&>cYY< zyzD}uu2k#F-mcW^M(1wq>xNf%dUoe%cVhRTY!6oU;Ajut^k7O)a`nQe7qfd2)r+OQ zINyu#-VE-|PUju))ILn>%Z|Rh?n}IWWbVg=e$4F0)_&aX$G?6Q?a#gb>={7Lfz%$z z_JKSf$iIO^4dUJ)8V;u4VAc#KdN6)N=skosKJ2^q<#k*plam{H6fMTOBM9>bL}l42TfZ2#_bip;>@Iq2Oy zgHAIkHj8qz=rD_(vxuC3ef{G=~p!XgZhf^H@5MFY|~u zpPuu%GM|6*DHz3oDDp4RYTn}u_~bNCr&@@|LN#%PE@at4o-E|zB3u?zcQJlTXupI( zOZdD5kEQr6CBZW0EMv)X)-LD5a_X$0)e2g#VAu-At>F3!yjOB~B^Ot6ZzTzxmA#&8 zsIrC>>sh{@73oMb!6w^MpM zjkmLOI|sIN)|o#8cJO-#sdrLyC+l}|WEWp|5ojB#o0gL9CF5So z?WOi!j_$>EA1(G#XFuWlS-+q32dH|01qXO>fN!?S_YemT;d_MoM@e~%`p4LCjLXLu zeVob1d2FkdPSE)zeNGZ~ij$}CK27LpCOcP&pPXjH8DgDf!&%NbTYGE&$K?Mgc#bjW z_;ij$=k?2Ro-`L&dl4>C=Muj!QSdTBmuY#K&(_3sMGKP#T_MX=vR|diRa#u-(^Z~c z6;EDK z`ZZ@>bM-ad-!S+Mk#D&6hBaN%2lc!Zuafh2rt=G)#7XPfmN|`+?0LIP`&( zABp)$!B2Gk#QsnG{X~3w?E9IzpV|4DGGFNUh43#7`@*g-eEY({Z|bqG@>A2}@n0lz z9{3jf%{k}i@`vVssQH&se_8RDD*xE>j|4He$1pU8tuY*p;do3yXe|3HJ6wzqYs4v$ zI=0bTGwC zlr4>sUGx%BVvTqvN~ASD@msih z8zn?5ku0+@RD@?SBE)AgB&*>}wXPay*NchSjqEv$NRd0IQC3_OiE>8Hh3xBakq`}A} ztU1K~x70M8X0J0!&U52EwJaSM^J^RF>KZYkOpsCMe~eH%E^^j0x{7V0bbVuV17nd` zCtiuZ8jFXC4dRk`BW5%-E{fufi~!M6cr-T3h(=<7xF~9AEG`#fR1)3Ac=7*uy6>=_ z`~Uy{MiP=yC|Qw^va)4VgmRUUWE7HYDm#=YqZCS3wq$Q-_MX{$uk6h1&F_AHet)0$ zaXgR9`}R7||K7*(emn2y<35%v-2;RKWv9|MP%!Qcr}mQM)>{~;d{(~q5heu*+xiOq zgN0Gb0%f;yQ*rJmG*k8}l|qD8N(beV5;#D(tSlNRtX66c5}GU9l&HbNqM<^%vR?U5 zF&`$3SJo-1p+ccB!5I4;rpf4f-XAXM&Rs|4jsBL4&5XiZrgyln`y;erhbrTJKz&!rh|%N$#d*y_x#jWMk|wJaCQ zaGoLS_|f*P!?LGzkCuF0pG1lA(F7I|yqQJayqiLH%u9lFX5;5v-0LslI| zxNyaVw=NW}%bB{`^!%V6@9QzSJ}n#2);I~AzY$d$lhK&sO(@+2hbH(mpDJd zKCY~F<*Y0AO=;bf?oG+tj8n}>Y)*?7>}85?mQWPKQ z&KY@p?a8#Bln5X)fHwhH1Y#dZW#fwvq)9J)deKojn0v9M7X^AVus3dfi0wnoAlCNf zg;5u;4Q6sb_V;5{2#Z6IqPS~+M)v1&e;N*?+dvi!V#gqU4D4C(yhSAn2jn9OU6~?S^@{PcE1j9yPGLp$7 z=`xC2qi8;w*2ZS6@X?$dtqZ7Yj-lrmK91qb7%GgV_gL19W&JpE#!)ze#0Zv07(=uZ zs5t?@2@IM**aU5T9x{=U6ZtX`*GO(gGBAoFlL(tc!X!3M;!8A(CbMa>9tr+xe6cZX zjp4n#yiQ}~H11C0+cey!Q)326GZ-0%ytdlMGbo;+@yv+lMLauaGB<&f2^31Ca3cK@ znVZOFd3;Tz-YooP;Xh071W%Za^&Cbgu~G`*WTqu^B$-Faw4KZ0xwKBfOM0DCc$~tz zc^sZc$NAit&#?u%ciM3gH5V~q5ebXa zdKRqb^?Ix};JyLR4Yb)n_(qCv!fF%2n>f6Qpv`1$#&(NN%I@C6^({nhW$soYWYg6S z#_Z(uf7oW=k-?e_u4j<2i;ufFy$931v^Fj&ZQo1AUe4|1#$Iafqs=~U@56OJUG}qU zKUw=(cz~S;$aRnk2k|*b1bFi!-+< za2t=?_}(Vy4vBZjbC=3@vAl=ZJ?`AY`aaF?)B8TL_qlbSybo}AfcpcwKH%5`mOtd- zBb>50mc{!l-aMws6Fi@A_z8=iQsfzvpL72?-(FzxlGZP2`-;$4B){VID+<4+>uZ8v zv;8#>UQ_iA0dH9FhP=j}sz&eF@Qy<7+4r9F@A>eavpHP(pl_c&KePQa&y2D(U zm4pAISxx!bQi)UkQw}NDmA{IAEn&3sPjNS@LS=9rAw$XQB3LQymEOu0#W-p7N0V{a zs8(G`6BJ{Z_Ohmq^#o(A)@U+bQeS>fZy+2{iZv7}D^;~-?5u<<`;^lypOR{y(<0 zlAonLg)pT-Yr$As6{_i&@=V##Mkv!(*rH7L5>6?vy#@Dnf-6D~Wr)(Dy)anWtSs~q zo+wQ^2>&_?PMw4Yidko&kgu>u8PP?Up{!TFE5_igS64}M6mx&URXL9Ux1|EO1LsdS*WBd=arR#!oyy|CuK`-AxAMbM@99Kl%%XPQjnxo zeT7TP#9(3X|FG;QKYJ*@`wPVf2xS$cllPIPw*!S1gM?V+^I)Oz5W!b5x^{PJx~Oy> z`hR@TO zpSAfZB<=9@H zTjj}HfyfGMtH267*4lB@j$_96#*V`kDO-u0N>s3Cu01;|6Y0P)2STgxs|p3GQnD&h z##y6jRY|PMi>lOcq=zHbtCLV28z=5NF~b?#8hV-ccP$FlW@l|I>)=rbUtvN(3-x}yGqEQXG)Q~HUuxU(WV_r9AxN&>;eG`hiGNCDn zO}WvOoTivGqj@vFG^1y8hBn8m1wC4@tOaLUU@beE+^}+IuRHxbh&Glr?eQSTgRdU= zw`5#P9=7CNOFp%vsPUNU*@}QxM7H8kE9!XS>B)0X{903{4UO7Ru`Lsf$JCW=dC->4 zUNrN@+nbf%tn=ojH@59?Y)6ZBY;VWEcDU$NExtyP`3lV1W7{5UAMAYy_Ti%sc{`BS zfh`?4(t)fF%D@@|&WY|^?~Y>+TJ>O2PnrerFM#Mk-UrfD zj`{ZDsqql&-~0b>^1a-Lhkbb52bUn)1~Ddx4?(oPz=vb{OB;V15SU)sLip z^b28H2**RH*Pn^~+1sCe{c#^a{{f^AV8lSI2GM&E7K3q@V@QMXA56g^G#`T75Y`RB zWGF?4vSug)hp}K7V}=tqoMEBFgt9%9&S9j6@hOb&VOWM!BAn{sxP;RxoD<=k3+Hw? zf5MqEl651wJd)cZ@fgLlQN)j8>u5}6QS%tqjlpaz(l7jAES1LLI*w`5G8}=&c-oAo z+XOC8pwmQdPQ)ydN|E%5Bqdj$Xbs*R zL-|-Drjjs~c~hx2jfK-#H;rM_c{!a6any?^Jf4Ea?xrWk!Qa&hq$P4Ck=nB`n?uAL z;^%N;4yWhvZ4RxI*q6kGBrYZqoXpg@WX$ErTu#j8QJ5-F8+sk}^Ota0r zrtF~fPHd&gcPC$V@?)poI@*xI?+nWC;`J`_?8ag@*2W3o-@CEd!@xZ(*~`PdeA-Ka z{etTEk^XUjPjuLTS>%?vIE0|xU!Bx6nCFv>~ud+g3 zSmol;b*9`P`lgnweQ)vT7Nv~m)hD-kew&7O=yH#=dyKo!iTiYW!1)J6KIFfL{E$0F zk2v{=FOQg&#m+4LWa$ZDY4-?v%)rNtdaPr(|2^jUVP4pYezGb&jul9V$>UTVShuM4L-m~~Ur{DAC zJytom=Ma-aLJt3O*!_W1AN8HJ_9yH&E%uoxiyBi^sqC^GoM$&Hv!{hwFd%_=n`b*#E=*A7lS9WFu3YlRe=)^)dwr}aPj10cF(z^6X(aQ(o86;EKrIS z5QZoY1%(9Vt744Qjx40fTqsdk_@dOd5aN|H%5%lBsPJ9!Dkk_Vy_FQDeQ{xpvP+p_ zDSWpQa+eT_mK1I)DW!z#it*kVW-ZCvMp&opRPvP;CMh{eNn4?n5~mn#yY00w?WZIt z#s%Ovnwpjs1}Nth`*K1XWrT84$x~hkuOP%I_I5%QB~p2z6s{;NS0+{xt||%kLQrL) zgo7|wv92QQP>xjIrDO;p8tlAbGP>I?N72yx2rhQjtn!tusJ(I$eMGEp&JL#wz-y00WR75-CxD#pvF zu~|8_x%}L%>`}fc=5B(elG|M{RmLeX%6!EbZEfKp$yae|DQs2>v=Xe82qjDT;VJx9 zrnD9;+X%gtUTuYOino_AODW?mI4XUW5(xjb*VI7>QI0F?Ito=f3)QqlbyfB%Uz89( z;hIvutB|f33y*7blXPD(T6r6Emo%`4V6^RS*OaHH5Ti5=5T+?cIeJvnW#yIfO_>}h zr1TQDE7z1e$~~oCZ(*adPbnHC3{mDNtCYQpZ(m`CvRS#J*aiz#6&J-=bKIbxBsXP& z@>r=8BJ@#KCL@?5DoOlYL|Dp^XO;lfGfl41pdDIrXFq`Xmbl&|4}Q41T} zpd7Re?xiFv#$Kokqa~S*5#p5Hii;M%O~(no$}nY$GDk^Ojw?nj+$lm*(eXlMWrJc& zu$oSk)KN)L7AP|#h51U2C?Q5Ut(2G~lu_)Wjpt9J^6fNP{zABtsT7%_e_yGtbXV3Y zD`SL;u|lX4rYuyBE4ii$&WfuNuY6X@O%uv1eoD0RN!d7E$WVSLed2`;irY-#kYWt4 zHcpUqQn{wwQ^q6;#@48vvy5tZq)`nQ^{(oDld-w^mz%J>I=i|dFOTw4)r6KNv^Qae z30?B(7o873Q+Aqi%#`H(oGn1Lf^0V$gr5{5yAUPKDQC`PbFP@VXAInmyU04HWUG0~Zs&dhNp)tTSU45~p~4P9z%U6ax^^|ACrP5#w{T6C{P z|5|LQ#gST=*Cwbo*|o{3jd>mV)ZtPcF1oPYINNJepUw3d)qtN3$kUL(hGaIvq%nbw znbR1XCbVk8`6gU;<%KKRu1svo!ls;RifJ?UHsh>ulDA`X0-IB+1r6MYa$~z2d)=tz zPNX|A?j*Rg&Yjcl#2I&b>$b$NC85TtUO7QDxD_*u`$Hc+No&nr*=5{@k!`f0ct=}G zc(Kik^IrV)!o(YUZ-TrzQh>Kt1Q{6^L&jLA}WAO^H6V?L)UdoHQO(I|mWo z7uR4~1T!U=ufZ%fO4-pNl1cWeSh2r;5&fD16V$Q^8?5kh^tY}4j#;j!IU3D z;~``W;ph;~459Q;?1th#lzqc^F^o#XaT$*PaDs<(d^q=qV;f4fQ0j-WCX@rlb8E#g zT*GM_&ctwvkD&Sp&WxbgNZO8~(0NajKXZR?vffjngyddIhxC(xi^}MV@Mf; z=~xPl#e5w7#xZ6bSI2QHf;$mpN8ml4q2uW~fuoUxMX@J}`%yfK;&BvKlc+L@cg9yC znyhHPN7G|6PE%+#MJw9_Q@AsQjxm&oB`}tOv5bvnMl7phxf@HCG$2nUY#N=X>(J}& z>ExNg^BMe{!H78K#<4n%jmEb*j;Ha|oJrl8#Lwi>OrFlfGJ%c>_$6SSNSj$4oyALI zRdLtZq|fHT9KO%NH;LX!oJ-6C$~`vcVEc#g{)u5gGE$Mr9~<~QfX-1D@t3!&n5I&O0=S_0M*vW|W0 z_`Qxw>uI!}N9(DzK{rs1*hu0={%z!hJkM^{JHUmvkgx@lt(4iSr-?RhrNcJ5Z)4jw zj%{P?cD`@d6~?W1a_T?GATWcp4Blq&A%nzSr0n9KiMD`Xm=mYA15POfoV#l!@CJ zlFzXJ3@632EI+5~j9;9??mSh`GwwW7&$H+}yUsK50xK?%a1obF*j}cm@r7Te%2fic zl6e)6Ys6in<8``SC;d8aZcz9pAvbv;e{9`i?k$~it#}*LJ9ytA`VOz|Fyk(#?(#&Q zbMFy!kJI;bE!Ca-JiAZr2Q+zr*8}D};N=6}J)r$VA|BFO&irO^J&P)jx&D~PkNNnR zwNLo<1pB9?Kjqa^em&*DGjcu0>N)G56ZnFmFG!Vpzb~lyl36cFf61wrRLLeRo3+{e z$;RmwOO1lL-5b`wVf!2IzTw#$YP{vdTYkKy;5!<=qt`ngzhlySX1|9V-sjNq18YC< z_ycc0Q0OD2K4Se5r;l{{NYF>jK2hrv?LV>e6T3fg=o7a;aq2VYK9li<;IAC|%Ezzd z{)Y26u71-=*k0cm_FdOo?f;JH4_^MD@lX2xWa&?y{N(#jUi_lcZ@m?~<*zm`5B^8i zKd{Fg7FO^P(1XFY2oKm^)|Itm8L8PWD z${pkHT1c9$6f7d7DaKCbe8nUsDMgD5U6kBfikDL2lyypODhUUq-m5>?|vo zYk6L{yiiARSB@&L6uSySurf{=ul!cJ+6hMQa!y4_CY1ztC0yC898tpTh3U#GrDSEn z7{(pwAgMwX!DwZ!ugR$DKUbAhqMEQ)nO0p`q8w2cISHxCUge`w!C6?P{8Q{}2(=U! z#Z$SYgwzyvE8mnewS=dNd2Jy{d7yOD+B;C`tMscYtW}EE6LQxVRx78J$qj_PioMq3 zqZP+Sf{)UwiGVUdF}6{8yGp9rRA``tHxu3}UzEV+f^mj8S<|%^!ae1Pn{YxI<}RF7 zzA805ggr{zmO_v+LP=6iDfvBx5=t#)zY^A3Sg!0+jN`+;Z6pm>rYld{3h7>gowpF8 z^jG%&kBgc*v=iPaI}kFI14^cHK{?f4$mb)pRKgVF3~{Q~^4k>8j)J$czLRiLvF$9N zbWp1L3Sr7@B}F-?JXW&12rK=B1Ih{IzB03`V00{R^Ot1RO{kz4$A_0|GWwKTcb7Cy zG4CPRDc1V$0Xi%9m8Ahfk6waZZ^2bDRylk2k#s?s*jF&F73B|>RA2E{5|oF^mwrN_ z5TS{(RB`SvL@U>nhXaH;gZ__8nsOB5Mp49INs&sHvT&$yNHOYhgYWvY;4tBwQee1X zrSw(uh6;m~NlNuF!8lL!K$A>VMTSKcUp1nKlWGg9&$<@zWgdbHp(MhI21 zjWkx$QYFVo<0NfXPAm5n<4rmtLQ=KyLOAQ+F(&n8NGp=^m1b}6ToiBZBz zWxeu6F*ZsiPm*N3PIrlxl%OOjyOpy_;AA0ES*c_x1E&b{lx8u)D5bpCk zsK-Yc_4owuAAHLVc^GO!j0xLJ*kQsc69V$_J|DA8d0|S?{JOF^JU^fE)5?sgW`q@B zdI6Rcz`P)i1sPJ1g9Yhch`i>Q8@GSE7bdJQGYZqhf=~yo$|8>8-)Vudwdtr=ic;EQZ{Uz$p` zxY^=wOSml&@(^7H$Ff9}C4V_A%2A^{SsK@Gh zY^ulQdc3QLWqrcx6J8&$1_U>tUjuG6piLuvotD+ij*VH}Slg9lo;T8!ldimXrAkv8 zH)T^(9qe7z3`?oNn-kES)y=ulocS$uQ}f>zG<74%jsEUTb?2Eo&K@-Jpp^$PEpceY zZx+8Ni*Of|mGopJUh$d_Th_;g{iAGy2Y)s@(;*!bh&Pm(`N{aNPEbEE&c zN;d+#F`_%yy5re{@y6X?+2FjjC%=0V8^G)U0t4wENLV0W0-0=dK3n&uTW{X>W@8`j z_Tgs`{(TAQ%dEb9?90?(_6Ae0A3^bIL1ci_l!gDzVJb+sR_#@vyIu9af5W5EP z-(d0&Vc-xfhthB;bB9uW7;T44 z5lk9E;z$OJV#sI~jpm|JcsCzI!?83Qr>mUvMbKN!izY!dKG7VFX0mY_$YY95_%4{jnJGM&!k;Oa#NZJ_xmZTU zaw3)|Q}q_-^mG-N~A_2gA++k zWO*Vfvp6r^&a+u)jQzfzgHIBvyQIonX#Ui>uI)u<{Rj`fq5HvY1|6V+(`9J1Z-mTW~OfD z#%308Vg6PYZROxrPHx3|8%?)ybQ@XQNZ!t=?fC4#ZwDWDV6v0?JE`;^Q~%?(?03#! zO9l@!7`+SU-89(E-QD=_q4yqLGWBc^U-yu2FNOBfZZDC0iQ3DVy?otEt9|6&&&>TS z*iWYe3_L*C0pxW${Q#K}ekQT`pJ!!c5ibNe{CPSX4&%T99WB#lqe;S`@vk^eLSr!mQ-rc~pZBxK@rhS6u3 zcm}((xX2D@V-xhev(!DuxN}T8$JKKLp6Anf>@N^@0dwQ+dd)>PUgYFO-dv=`CB|Q( z@MV3+o_U$ZS6O(K^~TQV)NAaz#wxiFe4Wxan0}K(H)(DR1*hGn;2k{f@aGPl?y~+a z`R?I#5C40ty~oCT-z_#BMN-0Uq)-*VwCZtuu=$EA1Feb2!6YI$RQ$!O&_@bf$1Mf`N+YK z`kdf#aAjh^3F^^FVP zDEytk?@Te)R6YJqnI9znVDk?u{G{hkPX46bFZf0BFXY|3%x}*A#`Z5g{?hL+L;f=R zFQ@;KZItVe{{6q1;w!o2pD4a6mvalx^9X123ic*~gW{+JDe=l4#kd$;J)fk_$~9BL zB)>388EhtuQ4T4&3JRr_aAk2JA;4Uir+5_>HYqJE1Yc#plC69#A{e`&n-rDgsdQGB zC~K9YieoY1qH^|-<158LS3b)(nqau6$QYRTs7>)18DrN;zj?uTrUo;HUIg4%8H8*AiYUA+?3! z${gjOGR{SqpiHhSl&B{-D2)_9Wxldr`A@0bK=4(JjnH!%N;;wBZX}dZjLzqAgbrbd|HQj|o<)>1`L#WYG@KcQ1`je*MR>Dvv zPBHToj8c1{rZdVP<*(AWwXj&pX(NQT6|$9JFX4ppT6yIyOlc>qR30eCw&t1bB`sHs zq2DGQB{f$bD^HZy%6rAPlaTEz}|X;e*n(w=hHr z?;~6b68q-;}i_Y*7>TO~uerWmDmqYz0312t_|_A8zH3$v7SO638< zJ>`>PGe~GSSQw(LQ@RZio+&ws%}`;bvPZe1cnlM~lvSa^YUQ@FEKD%kz`ut}YB@qM zn!k-hNa^~s&Pc&enXlYb?v4_&ln=@$LCSCE(UQZJUrN6*!hGetV%$S&I95_mWsA~! zoN!d}iV*5g5FRV}CJG&tZc465;gIrOsTn0?DfOZSeC>KA3oQ&VzGvCPla{M0m~z0v%=#0>d1m{F?$;|q{kfS1Outjz^! zQHaIH_1~X`7$Rl2QEhLtAj5*|7QB~s@FIj3VUe*ht9enD6lG~q_7$aQF$xvOx;O#F zxn7(umaMkqwk7$k@U)_{72~alwPJ}Cr>(e9g4rdxP?FBpjIrji4Q{3JDovm*k+!Tc z9>LwpFuV*)%W$_09m~?YEGx_Muq>m>5mk=#a?~l$$ntzBPih679xh}@Ydh}SG1NGj z)VC7Rl~_~>UwdNhDN~t1W2@HP%KWNKO9x&$(6b7Ys<5F7&#K^EmC;ohR*k*YnCM8V zBM%+1u1=5YWLD>Ob-bL|=|lx*yqx*zOh66dYw)E8=W24HCV6V%QHw3LI8=*EwaBT( zv)cSuhrTZ4ugl)LKnberD#;k43 zqbBrlrC?KLHRW|vyqYn&8ClIJ+#I*&xHpI9IJdybjk<1habv0*8{LR^C)u5{9{lIQ zeGgW(BzG%(j5A4BTjA)*4Nv;DW>{;+wI-r9uUhN2trf;`-_vdQ&<6Lm3~q~+aV)8_ ztlIJ>%IFU7*N#i=$ZE%Y*aB|t@oLYE_9V!?r1s?U!OBOMZ^=V>qz}o)-QRs32<^n@ zP89K_o-ZqX+2PASu?yqFg*n8{zUg@MSqUSvaSJK8NlX& zR2zi(U=9r7(GV<#5;v4RLpe8;7~_@v^)MG#*WAFW1J2gw~wH21S2CD6TyTC z7Diw*o>k-7IG&H=b>?{HL_SZXh|%iZI10B(#7<)FBt}LP8_i?6xHOpslQEe>nJGwV zK41#TF)WQ?RSfH5xDZ2wSboH^bt-kI;X93S(|A9PDbsl|ow75iKLf8B^q9e;8FY`M ze;gCzSQ>|8JTv1t70=yx=FG%Cfrbh6O~4|Ni-|l-q}VJ*&EnT=qUTU9iDpT3Nn&0S zpOQ#RCNr6T$%N14!(6JSkdwlodE}W-iTOM?p1e;j;PC=-7GSy%&xQCeWY|JJEu`%t zCN3gr5$36kO6624r^UtOSwh|=lv{$Qan^VHQr<3Q;xdLV=i+i+t)Rq8Mz5spD!#44 zFO4&43|URFbh@PTG99lqyjjDfwR~Mm>2=guN27ImjA_+6Lf6xO1D7|De$#a5MCwO)O`;#P{$MyGGw@3=rkY(sj-o8@3{Ekb0B!+j!pL%pHo{rQ2P0 z-qoJ(vivYXPcW4!B1Fj(~UU zeaDw~lzdO?_w;^G@OzfO=iGaqy(fPTvvateL&Fb@`#|Ie{(RuqM+$yn{uf$&W#Ct$ zzheH4sBbL%&b#mU|KR5jOn&0}lTW|s^qbh(2Gm z|9JS%t6(nqbN;&WMzPH;q$v0E2o3WJ1C=!8xQTF5`KUPN6P%Q5$`fUTsW3)K$S zjw;*Cgfq%tCAolLTTp1EG*yhJ=i{1s77}8WnM$HE*jyN{yi__B7A7gC7Q$}Dxrk6t zu_-DnR_-YGm8Qjn3tH^9vJ}o*3G+(`JCz%XMM)uA*`nN3?kS~83E|d4l9Hx8RK6&d zHo|7*hVn`IrYtBeINJ&?iu~6r|4^k2EhC&$UMW4w3gyZP)sz{^1LcKMvb^A?Oj9;0 z8s(9@@KR~!A?#F2wiK=?Ka@AE zgm=n-*1}xnv~sSEV5x;|fRf=QoK?np3%S|}C6y7%eWe~kS0zYUq&T)0Rx8FE@*_Ei`{Cd(&S)(MaQesC7E0kAC1RcQRS)+0V7ammf5+_>byEe~z-&@K;M@(`bg?s*ww!c7x=^Km5~4NXZh zWw+cvGUbFRw@t}5C0Bmx=VyL?R^{hfeg+jFyb$9G@v;zK3-PNErOkP5PGVtF3-hBe z<1I+FV6_EKMfgz!kD^2sC8sEX#`tvA;!G;e&f*lXq^;3aE-mGcEqQLq3rifVsAk1( zD`u5sX-U#cVp|HkQn*{=ZA~X@PFQ1a!(kiF*kDo`)6(=Wt*_Y|Y$;ua24#pT!_+b) zl;OT{dN{f)iDd~Y$28-MD@T{|^eNAT@?^`DwH^8Gz>eN_Op{!Rj+IzliQSd3u;;Tq z*DLd|GT$m=?Lcz}hC6V^ftgjf*IYtWDlJ1l3_c9j4bo?h)s!%apq0s?XT^ zgwTro=a8SyRq6e{+0;^R6Yp!ux0cjvg@cm5wy(NThU|cjR$LK6T_|CsI1Iu`?dN^z~(eF9&@o z+J$_66!N2uAO3#y@5=42toG-$KRN#7?uKnQvb*t0R(W-&VRtgRbE>;;xxUkbpFODE zlZicP6@aTeUk75=iweDH*o#TV3wAD};XJMnH~a9k4`#;gq}D-11o1wIe?j!@%i_L7 z2lFc!mwq(u$HIQ(4k5sJ)~?r|as9d1AIkyQ48UUm+XrAbkb;AGF_>CI2pmGz5ZVu8 z)-XB`XZCQ4gkmH6twXsT%H2>*!Z;B|xo~{K*%Z#3aLh(vGlFU(csmliQTUA3n@Unm zrx}~AyNsd#7#57-#26CCvT`iX#`1A2))6E}U^kvU<7sB>v7RuI_=%(#MYMSo?V^|* zMN6ZOE*wq&$s`(gl+I74`V=}(p@j^k<^ljC_1Pm2UjBw&(AqeMm|GSYa~{+CF3qk;U=EK1BKWHuSI zF`q-;Bq}EnokT_wuafvLnXF{0&!x#+y3WNhg~Sw6Q#g>q&lEb%W9B>_%tIQ;FU=>{ z0;(<~cp>E%F~<0!7O`y+Cl=wG%FR^1q;h;QyO&_Ol*UW(Sw^pA>{>?e<@l^1as|g$ zaC!yVEBGz9j90RH6;0CEl18c3`jj1+&c1Yhr4zA+hQ_6&=ygDw28SBkBZ>H^L)^EmpE1kA-W-Cv(V!w?g+i={D+jg?H zQ+x;PAY~^zck=o_tTU*cL4yq9GgzE~%`R^2qRwtE?B>aC^6ugJ9^F@+XCJBixVVpN z`}w|~p$C~PjpB!RBtz7P$vLdYh&vwT-cg=QIL4@BOghGvV|+M9-Q%=6&Ya`CJx;?D z1fAfJv8=j?JWZdZ?kOgoV)-e|PUCzU*VE+7#4M8wnLN(aebuGT;&+yQXE}V1zvl=r zTExp;pvwi08eQUZFLL7|1ujugwpL$a;w64uV##IJUS`K-?p>zP73yE1yKygR%oR3Y z;e}jHy2k8lxLs%6bxdzi?gpVZDSr$9TiD(v={8qy^Y=C(cW8Q-p7+^)pS$;U*H^Cx z^nJj-2kbWr?V6A9dPI{fJhRBoV)A41K4Iq*20kV2DW{)u_9+dX;q;t{=PY|m zVEhZ+Y<=Jbqh7N0C1ta`0%4Z29;9ZX=oJmVXkMmPatnD>y1{N}|#~pYT*!U@DwdO6C{FE7O$sO3MO*(bQeH zprp;p9_5U3S*cw}c&;=w7ZQ|BN~OX=8^t(JT);w7EycK!WGwy~Sww!0Rf=d8eOx)M zWGeQ>gh9$MWr6Zfsa;&~Q&uQPmD!d;hB8`2FHm28E!N=K!OvRJvS94#aKQtFoznks=xxH3(duY6a^mlyn$hf3uN z!V=|>az?3ZC$v^Fm30+`0DGZUWnr2!N7=9BD5egAhZ3yJS8^1mDncD)sIo;lue?{v zRuy(AqpAr>j>1DFTiH=vxT!oQg2_DJ}<)va*Tj;9fsw31=B9zBULl+@X>8C7LBI*iJigCMXOFc=Cl;29l`a-S- zg0X*WktVB#LOo@NQoNB+LrGV%6l0ln$;Oh#DIQG(qmSH2(*k9gt5Be+&_y|*m^TyL zm1t#wVpREKnoG)7TD1^5D#muQ%5IWoxeK-)!fxe}63|kZt87;)wh}sf3L{zzCE5tD zmELWIqsndNu43*bG*^tBWX-%Kbyr;43CopWgeYZ$vRA3zUMS}yv{QyFx0KQyg(&4) zC&8(+&`l}gD=buwD94nGim{^1c;Pl4x10FMUrScnbQM-BOZ|n~-Gm{^Oy!DVl=WM? zON#6v7&GApuk`1+p2Ah7Wq|Ni2@4cFdI{|mpWebj<+_sCN9YqIZ2KRXntJsWGK2N+ z_7kQl)k1_DN^F0jsW?#Rqzq8TDzlWW%4Ox7GIo$)tSx(~$r#_BKUmUA#bt=# zFjO$^IfZI^s1zLbf23;4HC$MyY*+e*3ImlP$_S-%m@rDYr38cv@yapfx6)#Suuj>f zj2tPfR$7k|hAFd^MaoKLzj8*9D%$8MFQi3$Nu`6bPANJ@n59^Z6%rJ)aY7xXbA%A1 zoK*fP(c^{73KN9cim~M^MbjcB|3tx9kL?jDX}n?`B}6HQl#P=Fqh@a$EoqhVO8KpH zoGjc_&P)-WD5YbBhRQkRzG5CLG*Q+}71k*?m1oL3#ds56HciqGCHHjUl2UkvP)upA zcqo&UP0DwrY`oy8xGO12&6z@5WlDk&qpVksDuok;N{aO?O-h;|CHz<|;R(;p-rRWS zAvq7b@-WGm|300UawY_t5O2aB6E2wWF(1oKIcbVTelF(cd449Cv9y3L$c`{4&74LS zG`7Ii0xVcsgl9$gQiSNDY%Rv~VpKHR%5N9vL2*(o8EM65D~cGau}w>IrW7AaQQw-T zHu%bCY{Z^t%RXC9+w$6$wPiRWccIGiyd3Y!QKdYQu1LTd0qDY8}N+{T3QU+yV z2XO|I9ZNiDY5 zqLU5tjU&VPY;mBs>^O8xAwJXyS=8@ zR>poaI|qCnSna@1*=*)W-bUna#Jon_YlNv2b)9JKL~kdCIY(%<^HQ4;OrR?n9T(gmxymGlx4<#7Llv`BKT3 z^S+eqO8u@h>dL;ZM0I1e9~b>F?@mH@W_M?EcMf-_zdtns*dM_400IL^3S^dXh4?@q zZGspX#P%Te1#vBiA2P-rOoLz=2lFkM(>;0DlLoz+6~c-TPK9tIg!X-?+83l2-H$*0 z@Czj-lyjjh52Ic)WuBsHS+)sNy*6j!1s zIgqLYX*ZCrgNYx^;lbP=jO!4hhp=b}CPOJUlxS%OAIiO%kf&y#pO&}!NL{1TEXuX z)r}=f`%;cTjN$t~+S6gK;}(x|7JAyxmFfUEDJ&)o#0KwVSrPnX{Yp z-E7*;zuolO!*t^)@!Eal-A~MZ4)5pQeje;+&H;iBGV~y&4>8~n-wsjeFmsQv)9Cq5 zIYyo1tUSTq6P!Q6n-hFK!R(W4FlyAUr|>#O)ziA2?B*HXoT12B2AyTWSvH?#<2hcP z)0Eo(JmoJ?+#+qxqzecr8Tr-)FNopqd zGReNqfE(<;LBdUa%WtylCf{!Itw&okCOW5jb#J?H*&zC5SY3p&4G z-wPa!diAQ8B)w+lYtFys&>PCVCHyUGylrPE;#W=_0QC_0<$|1!lGrzAO(KqFXl37v6 zT}d!eIxBsZbj7c-Fjd*6{HiKcvJ{M~!fsX)?NiPuC9DN2#Y35^JXTs)6S^n^m3-BO z9A!`qVW=`rX;D)^Ij_{LCAcY3N~|(TnXN2VwkZFUayG&=Wpi!ew(?22Yb#8zBNVg~ zN-AFztGYr>B~iJnd{g}D315^@dtruhN}13=*rA+Kj5IdHL82-R1utcWvQ8=MDA+3l zl^TtNiON;Qq_I#)nV~#Y{GEhKO@$O?g>q6E;4CC6Z~R&&D-O+t z=gMEj#Z52@(+L`7D#cp}la&L?LB*t{P+Re7CHz!E-Gy)^N=Z^SD;--4iAuWiQz_e4 zc&5~8CtOqPJ%kC$9A&q1Q2C>HdkQm@TkVA$<(8LF9$~q+5Y<6QQ;sMm9feNHK;^w+ z+DV93#win(DM}e1!A|L*}rQ~iY*ig$ppOu4Ll3>2(-2zE+aC04nqyjCg%3m(c;Ww~;#r_iC7&|lf4JnJp^ zg$QGmk9~x|zQPA3qn}VPR0vS|hY6pRlHr1p^S04wopM)stc;HkW+^@U3nP^2iqVuk zB2uDd$|mKGk~>N$sCX*#74w0@Qf2)h!E~_jVTkZmX**O%RgAUVpEas6Oz>0IDbE#? z;lc-{+z25^*`*jQ*#n~`I;fmijBf0ony@YyEj$<__>C1Z71MEok1|M!R%R-fm31+~ zhFBp>$r~pOSH>#Fsp2gfS;Y&xm4XR^xl&GPtGrN7jTb&CW|IUb<+5^J*_0^6CJBX8 zge;|Pst}`;nk;lzLY0F`t|>wj#Y1VYq$qP0*QtVWsQ80Mf0UZj1b3yqa!8PTbCgjs zZYlpfid$|<<-s`*tMZU9FNLL4oR^rq{L4#O6Ff{71XN`N>}Z*8=P> zfOSEh7i4cC9v7ltVICF6xd=Ck5L8r;6k8V4YVo;ZY%0!~;*2c8%@VvUK@C&<<(X-z zxO7S6RFh<)A4-znoF+z_wX|0Imu7rvCY9!LY3f=qt_-uwu(J%dWl1bYdO2Q}V@r81 zmnXdfB`acCk@Sj`uEbhn*VwqqDwtKJWL3UarLYwPte9!V87u6qX>HAPYfVYl zR%5eqs@SSJ532LEI<;$(UXx!n$ybX4wP;a`fwgFD!((;VaqjJ za@QfE4*BdjV8>YFB-7}6OsdDUdb()L%AU6NOtI&qJ>R6S+PGQ#vOYB$u%H2d8}P${ z90$fVDj78=cnc+A-dPtscDaV5KJq zJ*m{5g!W8p&+Yb<@WRmx7cZWB@!E?IUNnYKErC(nn||JGH(po=wsqihM`mnq z;g1hBIy12|R=)bC_;TNuS6wO5jh5Z$(2XhGu<&D#Q4+rH$D;03^k=O(5!nqet*$6Ts_!WUwe{x0g zD3StE42mK(iuY0255#K_ZwJw8FeQgDaR{@9ux|(-hiFIj+M%2n%AsNW8b;a(RvV4f zrK2e_64Q~4AH}axv>ZeKF>D+|`LR07d~__fT^%Qzeqt`UNrt@Gr?a~NOV|5y*(kL;5oEcP} z$^4n*nMK1{^qhtFY=+Ec&1`*ZVIiLu5|YlsbQYy!vWTvWbxqj0CHz`Kj&aDT-BPA6W!_R!m$6|P5k`~ryye8K zAbABxSI}}5FIUlWH49d=ZZ(54Sh$w$Yl)HxG58+_%tc3sJ^N;+9+Kw^c`y2X7~3JH>X8X)MO}-pRO~EZIq|U4-o-b{CU(v3M8D zcad*5uDjW`o5#C(x|{dAbx(HLeN@;_OC$R{vmc8Cls&+<1DrU(=L38_K*xicj1D`< zyn{?U#Q8(qJwlbEI3LCDDDRJw`xxzx;dzW}#`}AW_Q!RX_MhWaHR`^$CuwvN*OR22 z#w9*oCc~)yHo2xZi({`b{u=$SGx|C=uJidi z;WwCbLlf49x43kR|86nxHe>JTn|X&0_jLL=@d0}tu>S$S9?5w#zY{77#+ zoqa^9$4q$4y2oTbX3-PgJ|XJ~W>1NH%G9SUc}mVxwm;*harmjq3u?b$_zNsv;{B3q zFL^Bc!d_GDHRE5C_L@3xsQZT4wNMw;u7@S`?rMyyl77%tR50#LDLX=`( zNVut(6&7|WPnC5=gq@0IQK64APPwUM6cfBk2t`bVamrNXo^r)ZC{|LaZeT7^x>BT+ zP*h1QBN&BQ*Rm3&D+%R>D@H%_qPh|tRxIiXZpuk}p=tx6p@Xpff85t-Uqj)za!z@wyjDCM zg?`FXrBowffpSO5Qp_3)R?1T4q0+gD@JVrY5?mEeB||Z9DqL4Wn+X?{tBSR=P)jN8 zBK%SuTm^R}P?@THRh*j(#!{_eZW7gLA^0i}6tk9srIM)RX(g;tj7H~M?h^e~Y+DP% zl(YZihDNq+glCFrTj7B+yPa_Tf9&*-&(WU3V`Xc5A<#?srPw1F9ncXP{ihVtOfW=o z@)0&F2bJ%NaoKlhXNi_8L%RsCm0!w0U!iVSp|N5d_3hV9q6Lbv5&N@7$$r9nrM$l| zP?@RBQ_d*&m3#q0KjnlnI8ZpJ1O^Ekm7baj4p9~>WqJxNlrp`9W{R_7^fM3D=(%Fw zTL@At?Tv(<2QQD0VMk;B_UFD6^I9f;^DXdd=DHlfxZTg-oS%f?%w(PS&W*c)?qlu9TS|j8(QPl_mYn!at>gW{01Y9{)Ed9R2^=h`Y6qVq0$B=Vn9 z7Q~_u4u!Z=NH<{F6ve+NfyL-mjPT+_7H4O1%9Nm13G7U9Hl>Xz!%dlI${SM}n$gaT z0cK1xV}}`bC7C2UvCK&~XM;H(%n2>Uk5c?H-rrIjw%}PAT}+*BTw|JKG!NG=&&=|C zEKfiMa#f^3Mfz66q7p?aGq*A;E3>sS$Bb=Q{#7_!1s6-)jMvYSEK6Ej(Zz}%M#|`F zobY{SP1$NRsm3OwoLQkd&8yS0I)2rOtj@9;+^a#hQQBNxlg%~xR}-sRG^|C24SQ`U zT3er8ZJyO8&6bU}*wta3(KfuQE_>_J%bo@H?6K#yJ(2ZUUZ0^2_}u^-2kJUd-+?9$ zdc7&efoun^H>8Xs^BuY7NX}-mEQzkZLK~ruR+p2Aw zv7?!u^L22hnKKid+3c)aviw~LaAB-4!WS13jqAQ9%~{)=i_IzNMpHLtx>2D8 z%~~+31<5VQ(~=r3HFu;X$6GR28i`v|yp5)eb&XwF`Pg?JSk$Vtxjss%=Rp5&v7sAdJzmGAx1~&DC3QvH!r;j>cE5!tnSF1P8{^% zs1J=h6V{nrT`1oLw=Qh!!lN$C^5wWMaa}pzl^=72lF_Xem$Ah zQ%7{a^`=G$E`78P`mhhL`Y@(16Z?_X53^8Oh4LYk@?pFTqjWe|Be)hp!~Q%pUX1~` z4dBxNydv?7qJI?Qqp%vtw1NB>NcKQ122pbm!GoAGh@*ozHi+AU_%w*7gY_m;kHI7l z=Gb8F4(7#R`VC>k5bh0O_)vU?anM+o1d@KjX^4d7XG%$v5F_f0fGM406JmSbDO~vt4nLywKMo%Dp0!xgm zOZJoSp2WCGES#igfjcD9H4(=owj|LanUG`#CbKb_P04gmp+qWMQaPK-R$~)&ktx_s zWyDlcrczw`ho@0knun)TZ#qM!lP`@cX;hm*ry0zj!JZjho5A#%q|M~wOv=yVm2rfr zn>v0BGxVD>tbFm z;nflrET!}^Dl8*-8CREae;Lo0;kuk<%Q?23o+}u(g0vNsUCGE*99+fsRg_pw&DEH$ zq176OtzpU*&zuY7 zyQFKYQZLc?GW#xb^a{7GQ1U9@uj!<%Y?EGK?5V0`4BJLuXUuhWUFYX@3f^G&4Xkdm z=O!(0=|bt_xAD3|+8y59VeMV!-Q&YO%H7BAJ`L{UbRVDlEW1zkeTqMz^aETTkZxp< zmmbppF%6%v6$j}QOokd0q9y|Q_c&CMLok-6m0ciY^;E@fCA;kr^juVAkB|pfpmN zDeaXqH3d86X)VFkMhH;im2XOc+QJ#dC~X>IwnMK;^P>T`{RA z3{cXP%ZhPRxSG90J(X}JRcTsZ@KL@f-5Ll+6YpdPi5fQ)1}R1^>+C4eJ>^#;Ax~qW zsN$^jRZ27wdMi^DW8YK(CyDkn70xN&lse6XcFF+df$~h*160S0P&2 zpx8ARS}0?c@ru#EJJ3y{If^lx`?Q5b#(?hTRuUah8oLXlmAgt%YhkW(PN~yI7^;j= zt|}RAg&oT1c0vsgVV+`i@|O0L=zwxhiS`l}dFyXVa0lV4a;Kxvy^~4E|3S$c zEL2p=_7t*|0=)!df_95W6?zLbltATzVw5LGg-Enqx!6a@RBZbS75fS9N;@S^IUXvM z2p3)`@05-aLaK69IjeN*FGMItdGe@61tNuNij5MlEL4^#`;?bT`6$8Y#;re4qSneG z<&1JcX*Wm+Q@jQXe#&y?m~u{eq1+iFa?7WTCIJQz z?7Q|qXeM`*a`Pq+Me_1GFU?JOY(nmQnCHVjAEWY-o)5eHw9n5GV;J^Re!k`Bud&p5 zOaXQqMNXfBj4VijLIf6Kcp<&D^so@03Q@K&`wCOF2qTJ+T7pJH4n zMxo+NFV2eMY$;Ba5=53Ds{}nv>1jri8I~n+E=hVxR+r?zlGHFK*_hg0lp0wZ6vv+9T?_7dP6oh--AQ+6xjP%&Iq$B6u5DVgpbg8~aIg(e+UT)id1Kp= z&y!}JI^sI2J@49+%S$_VhkNnEi<;m7ZV&)HVK*EEJ8zP_dEiZRS>)V-ryZEwku@DT z*b#GM4EALwiu%yqhtWQ)@Zqixl{@pWGufSWsq=>})br&(UpjOp#mHgPyD`pBcT8=R zHB;T`;Llip9{aN6oFlTJr(TPpW*%aZtQPfK7gW; z5Xs<3YDW#5K z5x7S)E}D(e+>WNvNIXU|ZzNks(rz@fNAq?xCS#~ShU78qGICOn7+vAqD~5y^_Qh~1 zhU+oBjG;m-bz*53%gtEs#_}eX2J!Td=UO~-5-2gAUgOy~o?qiBF@ahW$YnI|rc6ZM z(n+kIM5#o|C-EVP|C0D?Tu^F|tkbX6Q>c}KWh!y0oJr+DDtRa4G?~_u89$k`li5Cn zBSzb<=~N0%quVsvPG`b&EYtKYNMmCfhi4EllU}n}JBz!scry#<*~HIg%4}-SWzby8 z&%f zuKIDAHt$9*XV!AoEhlF=y;ksJ1^-r1exfy;=Jo8@!0ip(*+8+4)Z2*jMxr;; zWD^O-yS0f`oB6hxd|NP+E?zmSw3SI)sj-a_@^)}#2Q_xmVkiDPnZ1h^yVh$!+bbQ%n_Cy z(WAohnjFLT7#t_$IOB};cIXL4pWx>S@}H!%Q52nN92@?4lAM#2KZX4%cAR4WDNdZ? zhLQI6Jk9*moIH)q8Cpnz)JS_Lo@Mq~)}H0US$@jdjdK(_N8fYYJ5QYpT)054OO&~c z)l~*x<-e;Ozs8MgiK3Z&3Rtk8kqkCN{Tly2bWe9Js|*qbNG%Hj#I*zDwd= z_THuKJ<^Qb%svm8`T+AsWIn>@F})u1+DLClKG8zx;wP+s!k;H(KhZ*{*)wdO@%I^4 z&vAc_{R?`(VAl&uzQo4Z&^-Gk_g_-<6{TL`{)&#T81ahaR}_9tqu11aL%ce z`_7r~RQy5R9}NCM@1KnON%3Ed`$f(#oPIO-4{3kc{fDAijLBke78!rp@t5qsbo|E) z_`9FXLN=Id@a!$!nD&-M8luX4U zuh7gy2v_ldu2O(YgsZ`S(w}#@VG*K!$3O-72<)KoukspQs_*GPT`XtYi_ zt+Z$&Y*cnCl{EvNp?p>fH5Ixj2}(X^VYZT`Tyhm0n+smbW@VSMUn%V-G*S|kCM|?^ z%1-5u@=XbBDU4KRD(jVdicz%f+)5%}B}w_Hd~g@Kw-y4FUdjk1Ub&=PR_-aq+Xyw3 zNo|FIcEV~UzlTs?NmNcLx0L%zs;6*Vv28EZ^AbW3wkU19g&<{uGP8p)OEDUQuW0m9 z3F#=T=p^h@I{OHl6u-{GZY80M;Oi?KSGsi-`Y1*+eOe=jZbG#3Q^{5W{e(TrW95zV zS8?bryjB|c3r4~Bp+=4Yg0Er>!&VQH=%}XJql1O7iepb!!I4cp# ze&xFILmAyyc&jw&C$vx^6yH$ckzyVu%u+ThmBIyk1;rS54UdqhZhyf;>8%tTAcQEx zl;MhPq|jFJRZ^AB$}Z)QQXxukP);Z-2MX5}(?P-;<&#orurNZ&Jw&LgWGbJOazlkF z!-V6?9i{hhVTh8Ud{SzT5R5+I;~KSy78Wb6BZcnDQ^j_auu_ohG*jd2O5xFhsnSgG zP&z3)6eB6O94pcGal%2xI##Hw7$x6caS|O@oZ^M)$}i=&vN1teIbJZDgo{j&==en8 zmy&yu&`a5=lt>gxDYXPZruMwo^1x1}Zm| zH;UO*VS#c$F|zFS(~JartdU?lwVzFg+#JnKJ!4k&N?yHE{K^E!{Ms1Ys31`Vi7Uv# zg1joor-D$3ghIF!rhQ@j3NxiJjzwrzgwsX%TZBVK<{Vv&a>Z#}oT%cgEsjMAT9+Wo zcuPxgwFLJ{P|B3PraI61-INYyoHQf4q;?LEG3S9fMN45@iojAVE=6W3d@T59fkhem zmSJKUW|m>DzOUa3!`^rb89}R-s5$=2c~NRSs39s3k2d8EwfN zOO9J|&XQJESXk548ZT=GTeHoYht^E1t~;c<)?kED{k5sdTH`2E$y!vd#i!cLvgNfc ziFH_52Masw?MSx6sV=?iQq-Q|^+_>my;B>I(SWlJG!35WK+T3UYe+#yrZ_Uok++U` zG~!4jS~RAuv2%H96IM0hWE0Lbp{f&pPRw!Qs1s+L*wB=M&9H06m}dNGMj2B`>bv~t6?1v4c*Zo$M>NMd}|oty5Mv?irB^INmsxPNrFH6L2j zw+&a?@S+Wq+LB~kL2B5J1|E2LkRWs4Mg@0$dp5Oae|s#wXy=8W7Y$)5oPcKD9P*}r zC$fFC%QvwzCpz=2GmX2@rVBw`=;KS6FK>MLXsm)7Vq6`L>_#3xD)}+gkNtj>=*~=k zR{B#pfUp2I2QWI2V}bMyqJI!?f*8?*yunxmlM>9#V0!iBR!^Sx#HtsLy|~+p{Jojq zo2R{LAEJkcGeX!I!krLu^&_Jn@B5KsH2oe5<4YK(;h2Z(rl*i_PKIk5JikB91~6&> zzXvcNk~>j6h{AUu-v$vsgcCyuA4=L#z7M7MFx-c;ayX+#kSm&P(PTyAK9b0hj5KyR zZ68I+(Uc!e>(RuFCc)V2^vuY0!^iS=EMLb`b{tOQNF2x7arniM62tdc7R9kDj`(=) z#Zx^2uLO=Ha4mr!30RJ2(0IHi(q$r(C$e}V2Pe{f5_2a}G?DyC#3ykoiHk`TNoII5 z>B+dJkS~=HsccNeZZdw837$+jV{(8Eur^p5x zZy;3c&5Pw(8I)=kFVWcE$g-Q?d*O5CF2Eo$Gw`xfT6 zsdrm14XwCMxjWe3;gxju-euHX?%u=dKEv-5`GA2Bc=w2Dj|q9gO=EeJB(4{qk?%RF z&pGs*f-i7+LEsD4zu@}|-QP6z6}w(>2e$Sfs_^;~zA^k8w%>{Qj@1vse(>%G ze}3Tclchh|@{^}Onfi+xzxefwxZlkA&5qx^_>JsoGW&zoA4+Bsp2gHG4rFmWi+Xah z_b=gpN&L&FzeN1w>pz-gQ#OaLIi6K=$)C{{$~s6^Kl_A2T1gyqUTrHZ`}uN+ZA>I;39XeD0*!CEQbP&lGIQ93vZ z9hF{6nsP>Yr+ie5(bA2LBr9uui$4c)JTJ${M9e zYoU`eSn1M6n5wK$E-1^|3Y(RR?F3`K)WbufZi>G$MVYTGS9U2z5w?e?L>CmV_QFNw zkJ89XD2vcRsp2hcQOr6B#<|^Sjov9{orEl1xjP?~)D{GW1 zidk2|#824PUD&A{S8gdU6eEos?=R8T0AW&~uu*Xf5(1QQN~|(jaqA&GP_lxB;yr~i z$~MKRm*B1#^QH4NI-!{K7L4ZM{u&v#g5GQNN%^Pr3DHkwYaiidU!g)jVVZJA$y8n_ z6+;C-#U)G_rj!lW-;_Y*gi;|wc&9WPAcQMVm29O$q!6PRMcq>xRf!U=3>2;^-<8pt zP*xl)R9Ctw{>mO@zj9cyA0muVjwol8-%5n0o94p=E5%vqt<)MWOjedDca`6Y!wBKJ zVizqWDti^LkwTne>_*D0EbUl%D@1 zQKR=t?L?uz;-IWliYEzol{ZS>WWighks?GWrDT1}) zuGmf$Iw;Y~C}qGj;jbXGuH%eswMhHw?GLrTM)lm(&&|o)i(y`zS;c8yf+5BYp-@v^ znBs26c{5ziSyGC1l82V&RB0Mn5Me=-Y*(_NTp8TU5LkwgG7K+EWI6Vg!?Zl*$`e(d zvYrwSzY;xeQ19lBL)Q}eq>Ep;jNAfhHaAS%$#=bG*8Z)smzZz4l30B5jYP%)` zHDPQME;P|>^n()tO?l9a|C$l%Oqj7$Dc+e3XEr$F>_P_@B3#IH;l2ysTUr=7$>`oTk=;1mRnJw74EHwZ^f%tylc&m)>^E6+y86Uu&04@cP7RZu7 zb_Q}QkRd@N1~ET~pFtGvK|l|pdhodi**&ldW=c=4_T)xS7WLw1FD!dw)0?&-bPORR zgs&m|3&FV$UHXvNhjo3p(1#&?Y1NO>#!Kr*dOx=JqjD(qLm3vz%upJHF(!=rVLT3F zKsd+4DIG!O2)aaYB!c@9y0f^fQPYj@&!Ya^7{J2;ydS`y0R%-dK9ZhMWJeJ{koN=0 zk;<-7*1a)^6@%F@n0G@cJCv70sW*%!!*Csj$1t*`zB`YBZ(cw`B7XRMf1_TmP0{fXgij+lntzFg=DZ zF*J^4KrC-#DI14X93gRp$FVk!%W*^}@G*gsGk8H0-9+Y&xmaxi_7^X#~w6c81>V&78@{nRv}&*erg}!fG~WX7gQ!UX9B@Df2i# z4_VG+H=n`t$y$KPLRu`u+js*P60?w%3ps9_>rGGR<02f5rN(U*bA2&qmyorDQ%iAQ z#+_w!T+S{z(Yu0UD|ozulvQk7#k|#wTEpHo^vIy{TF$NI^;&)y32)_ftXYTUdiJlU zyR0zYK;lN$Z)Dp>wo4Ir6B{;hY7?(E@qH6koAKXF;AZA+X6F`cwi2|JQ(Lj#M$c^w z-OlLkeBDm99rWA5oEf|k@gpv za8a}1Ll?Ppk=d8Xf0@wB%)iWm%eu}u{E7~=wvs;?nRLt~Fq4Q(rf0G`lOfj`ah*Tc zbsJOh8+^Y(`c1mr;^Zy-Z!_#R+iuh14(0Fi;4WVG=z5Ro_gHg}i2KCcXVQIgKcMgf zc0IuKAs!Fu^N0tJX!n@#$6R`h%@Z0tA>#=fp0MpHHJ?%I8Qq`p{uvdY)8#n>pEL0} z#b4-xW66|Hydd@^`(E<)C62H7{tB;G{2g6kLjzYzQd%dbRyrQ0{=eIw%=mA=zN78(EG>kpp%v-y?d>77gd4qsNTDur_kMU^tjSH&%lut&L& zS14v8I4T#Fx%q`_ihTj0+5Z@)(Nd*wL19fH;f+$SurNvat5_EiYA8m!Yuv{@rJoNK zV=0rt-eU6kOle zu&yM$SDsZCjB2e<6^SM*4pjwzWs7o5IcO=oSJqhxFBEHQp|)~BsZ&kxQU)q(loLv? z>cUyY=u!@USEX$o zVUSYMPOwxwmHc&uy2=M7Td}Gq*ei=Po4%`{y@!?sQm^;gO@73wQ4N{sSAF>fZ6RVpd%m2{)8Q)5OQ=TY;+=cbZ zF(peW*jgy1)KMNQ)@=kgrLD4F@oy^(SB$LtxkiQC31^jy%1z~&@=9sxAs9*cW{s{Z zg*}CeioMcSar6=*lr74B<*HH)!A@~g;=F~L9Rz>H*a-DOqc$Cdx}Ah@Ww27&M`+hs z2vw#iXOzoIlP*GUWs`DEDda1dDF+nuu7a`isYf@7J}3?R1Yf0>GEDiVbndRdDV6<& zDatLSX@Jl}NmYI**-G0$p|A2zG4lETK@tsCo-1d22qlAsI*PF+%1G)Hd&;N5X^nhC z^s|p}MKM~g^Y)dffD)-3RZ8{~j0xU<8pVYQmBNG?3QCx=H(a=`RF4pTD*5{h6%|XR zt+Gbhp*&Su4G`Kz3WJnvr9hOhM=3E-a8-6H##y4?gC**tY*a=J6@Ds*h6#_9og;)} z(L%A2!ds>9C?Q6%87-KM5zH0i+)%Pcsmf8sxH5#^6kd%RIxE;~VDN2Qw*uVg9xCJIK)xBDcCE-HbE z!Xo9UQYJ}wt8_^bRw?(CDyhOqWvOypahNR3RK6?5RUxY>64h4PDuGIGC0i*yRj^cA zE1pW0@>h^lI>tz)3z0uJt8!C7`l|C#ArIbpIG2Z}dFhy!-g$8{p@RumO{kI&mwYtL zk57J9<|iXRmIdfsfZzhWE`UuzJPWa)5Y-E_t}ru;@VN+$i?Y8cr;2i+C?AWGs~BaA z;arTcVvH)zlH#m3F8J0rWtk~AP5EHTBQtK7#LAqZ=BzR2pgE^Y;blRh1!c<6&8YlZ zm1T2T@|VNTcrD5iS5B8l{Vq>z1%6hbRYeX|TYIs&Bp*qW}6HtT2#sQ&_S`4ejqgo8I;hYWE zZFprvTy3t@Cear6I>gmsLLHjg5n)H99fhP8To;GBEU3$iy5y@~JXhK^ zC#X3Cn^WG64sI-W(|?(2Cow_}z+J?v!Yab!!4!Q_&dc zoz#X;?fBP@9GT|zV5%oGJh|%03r}p@Yj1Q@F9N-^6Z$9=_Qt`R?%wqEW?2UUI`Xw>2*Lw%X;ONKAyjbYvFu1xR7&TcI6!=^j^x^u5Pt&B^$R|3cmz&eor zf$R8Xjp1#!Ti$h;h z`m&@im;3Uxuinai+>c(NYzpOBC^?}xgy9&5UlI04}d3ujU|lf$u&;AI4# zBPiEj8>8#?=W~CY2XJ)&cLvZUlC_Z>j^wBmg(LYM$)YGuMbUd8V+Ue32v=i#cj{m+ z4d&`#@*5q}JBM&%2)TzcU?^jT@@yzIhw*ASA4X6unr6|YMw1pz*hox9QE?QNM{#Bp z!J~OKnwn$q8_V#qbQ(ur;{wpbak#}05ySi#9Ajx4OLu98j-yi?esQdi<5V0T@r;aT zY&<#fj89-z0^1U}m%t}u$+6RT;>NRQ0)-~hVImtRa(^NZCvs#GmnU(}XqE1n$oWM6 zCE}dK$0V|oa7`vYnT9FEq_7}`6)9{@p>-;=Qn``Jhg9Mxb8Ir1lUX!{eN%Wbg>O^v zo{Gyfc1>f>bk0ua+H{^yr&AioXK;T8UuNJwlg=~QKa;yNc{7vyv*tQS*% zF>#AYSj>~fykE?)B_uB4-4eAHVsJo2Ha&P{>zd;lW6uY}S5ClwY@U4Op2AH6Npcn`i3O0(} z-H9!>n23qkiHZp-q1Yn#%(4Ez>t5?vuRW*Nv;E}qvuD0DT;DgxpL#OKc8~@KIdhPQvTy1T z^AD47m{Ui1dW1$tX?&EXM{znz?iljM(8ahRbR~w7$H;3u3?6)frY9M4k|`(IdJ;E@ z+o$<(n(#BMIYa1KKA$C5EcUT@#qv59+jBUckSHLoz}3X|gLa+RJ}b&*uZYy7*W&x2F0 zv*ZRlZcykZt8TI37SXq`NuXTg=hkx^l88%U*b5fFpu#Hxjhnvr zUh(7=b&@%eO!3!LGlIFv8_K?6$Q#bRq4Qhrzh%=qy1&QqgZ8P1$wYMufhmkk;bsc0 zjEU;6sd#=Q;Uix^GWrwwKT|u6rfCdHV|W_#(wLUc>~uUcxR*hjOnPUsFB9u8wEV(= zFYNk)*;m$m<=R&gzha(6U*j8)#jq>_vKXDk_bdv0qs}+>8uy3Ve<%D05kGkLgT6l* z`I8yHc=ZeK-`x4lPP~)XycfHxrzck;+)*yyBf(_^ISF7se~@ zd4(m4Yd-xm<&N@32`?b*P%;Y&K^DSu<&&jQtdL;b?{(CwzY?X?)(k&Z$*)npu43F4 zTBy|*#k{Ccu9)DbJXMmE_r-y@;Uf_o`pq;g0(rsOE)N(;l43Cc`ma~a`; zlB^h~hK%ICwXFPnrKBpE%G`3obH$j#epg;9p9;bv<(|^MqA*n{Qb}m5w5%-jt0F8^ z_9;h{Crah2LVz+#S*#=~f0g{zg!@YMn!*X?k@7*QT}#-lTvPrj1#1go$^s>-u5h59 za8;>YU#O$hSGp?mlx*d81L3vOyrIxtDW%ywKzXZ_Yb-QSb|^;AyLA((ESm~ORJYM8 zcQfILjqph+Zz}{SQfjzUA_uF|xfa6b2rU$6#b{&abCRl%@=VF+EL2h4m90v6S7A6pgc75~DTzwHZvRJ0cd2Uk z5Y{PQl>;tm95ULze`UmMx zrO#-=X^c>Etl&9L@Kv5EUzI;f!(d^ovPUsymal1bTR9yf*o6uOCJ5yw3cZvON|3Tq ziBs+>V-bQf#hpTZxYpCd?ByDaQWd_EA!~DFqh@ z6_s7e|65%gW@OOf&P$nULbwSvO?Cd*+mtc6_?L@jW(+W6z8S~NxNF8+Giv1KXdYUd zv)r6ibL!_MI4|D$^uld;KKAD0T7Es6Q`3SD7F@8Pq$M>inPSQ5LVPU5>%v%B>74N> z!fHK|yOVYQfCi|Ms!SDTHsajrvX9j??NtBzjMSzni%b;(zc6~_GW z{d#n)Pq+H4tk0hYtZhi4Ms#V!o<_ts;X+f2TGQB?5!Sku_@OmpY?x)kT^sCeiMM4% zbG|pHlpP1`IAVvXJ-O|%vZswbd1S3rOGdQhx2zj(MbXx{wPtQ>){1Q~ZHrS|;@a}4 zEw+wyb;P4R{_QzrT$&B+K#NYebmD#|9?5Ch&OGc)?=I}HVm6eZp`02@Ge7+N*z3n5Kdg+{DNk~r z`IGHWfe~1Ypm+em0qhMRDS*X+ya^;TkoqIB8%6FQMh1})#J3>+1d(erQKR`Xn)zec zHU^8a^dHNOv6u%_EExA-9LIBRJY_?03}H$L%R^WbLhev1hcYvi1{3g{fY$`#jOV#+ zC(>&o(-lQEkjSJJL5zeA;)*DmH z2P0@do$k}=Kb^qoIL~0%4Cc%rbp~H&U^$ZkGubv1msvEJO{j5}_Q7mg8e56i7?)|? zBiR{ALL_zOadIAE^Qjj_rzkE*(Px2vDGM-JNUnw4T*&Q(crD`5BAze8Z85tSbA2%- z9`7~RV-P>wN+TH zruk~Ntme&XMyDTn;W>jfus$z*o4m}Ms4ECCK_zkoyEns zuzCxpw{U9<_FFl)m3vzmyNx|YPxtzEs_dZ74hrm~`%c(J@Gio4@nRQwc2j>h4R$kE zLgsFY?4kZ1n(U#&9>(oq@g6dbz*#z)&C%SB=4CY9_i@hnqV}`YxV*FS0PzP{Y-CR9 z@?Jm4e}~w4i2n|=`!Ju3gF6+E5PX#GF)WTDHHHeuNH|8b<7_+5+2brbN%To-o+9`Z z+fEU3n)${$qt^Jlo{d&NaNRbL%?Q zZ{l;4nKy}(7Vj-iCSrGo4tE%Fhe>x>euooxcz1`aJN$Q-5_g$;mt%K{z02c!)Vh!D zeeCbk{ys~MJX!D|eIIhv*jXI)h&hj$YfLtKJz?Dw@;s%+QyxAg>=~t=ll`3aNo-4E zdlF?|(Cr1mFIe${cQ3j9iVn#YLN4|X2dpd_caq<(XpJ@Dm9k(=m(@0F?Wg7R>d7F+!Ce~a##Q5<6nkl zvppMmfNTAayZ=b}N1+_5{lCs`ISqOhm3c}~E@7o|Rk6%1*ebR22wRo&N{aGb`Ky@c z6&fpxl%>j+e1b)O!RY4>&}x~oQ#n&WxT*Y71{4(5C@&Nf3t_Ahqoi00Z3_v;ys}$i zsfJkzhm>ZT`!*;&iVCk33ypkl6w~5DcjcCHx`dFRxN7*juH-8vTvVEu77i-K$_Nvb zX=R0M#puZnEhm+6GN*I}sVXU7m2wq@)=HXUr%^6ksZ&`%*{+nWB6unxRfUa8L^Z*$ zx-e6jS3}rVQ>a@@Fv41@R%yx~%Ip_6h`xvx}hC>X1vA{t4xNLi_5DMogi-Bc>$!0Rw;sf-0t#hOV~Px-72 zwGo~uNlJm{LRF=^onT=v)K%=1K1#A;=^*S$~k3HN5P_#P{^RORHc-? z%6`SNi!eYLs(exWoP-NXn6t27IiOrsQj~P%r?R}OP#B?%QeMgECe-aN)K~KN5JHs^ zF2WflS$VBwDGgl(=bpkr#i5sAguh8zS-J^Dlx0e+($HNPqtx;cS}TW@Bg#qTl=4;S z<0<$mhn1sBtnxrfR(>m%y@fVPu#%;0>LcXoE4VA3%1Gt7vaFx5NvYu_wDlG`Dx;NC z%E11@apj_tpm+`t!j+Z-g;*s{`J>d;T-t1~&`nvYY*(HujfV)&l=n)OQpQKBa5qrX&kBZSk+v;bk3(jidjt#~Q3lxK?ZjMi9% z+`ZmeJvEEuE8VdJIBR7^vJyh;V7n-ZbS4;9)@5WXoU z6NSo3ZN*t}Q^Nm8F-@6+ltapG<&Bc5teqkh3lnB5Ri_H0l=I4xX~K2oM!4V|A-qtW zrwb>Q7c+#<$~VPWJ=JHXRCAS6%BESuQzcoko~?hTSk4g&E4`F6%5P=PT;ZqEE>dt( zt}Dhca))_F#PyJWIC(0@iJl4brHWT_tOZ8rbgGeBOF4IQ_H&MOmIH()Sea7W zl(nYpFvT_(?Q+q=cQR*TIQu=UR?9)sn;iY$;!*ce3Z^l zt`nVu(3R2aAtrp~1(A|>PmJBb<-NK|7riK*`Rs>lw#fsZj zoGL=^qJ$J>cTtjy^13K_icz*0>xyx<81BXO8qdt){47qmaUiy4Df*RSODPVO;&CZz zm!@86=F5ZHGTbn3#1<)!UwLjByQd0NWNta?rD;Tl}6!Fwa(KCDUkTAZkbTW!qh$n6;B8i#kb)n#!#p4H=PJxuFk zTc7*&v1!1}2E;a?ctd(M)R(pGB-u75sWC4bY>@C&CU@a<7jAcP$ChHaKHr9F*PFm9t&>(-pZXEBljYcH??Cth#fcJNJ5!--TH&YWN!V zf_pN#Cm(v!t`{SFF{c+R-AH%SV7%R(-X2WwB+HYgy?NUk^S%W2WoKWW^yP0~LcO@< z#bj^xd2_`Zi~j8H&%yyLA3*#7dat6_7Fdc{BH3a`5O!i@q508Av z_QAuKLB2ebRa8SMG?X1fNf?UHa7y|SpTgHEYzgCK7_Y)GnM(I*giX^Yyt}7yY#QIE(LS80 za8`yhK7!N;N=&Efbj)VZcZQyr?KYDgGpRd^xLG7i19moFX7hRuIddp97u&h?o6Cv0 zJe*6tNW3D6jKp#tE9bGsXuVFI&$9V6h@$QSY!}dc0p3RIHDdw47ch7sR*MK<#L-1u zS;YNCx=u zTFKv)j9Nw7D!Q#EV>Ol561WzR4NTZT>;}qh#MjuaY`vKwoAKSuu+5AyR#!FMLT6*5 zIe05_Wp>|IvbR!X8{XU4xs6iW8M&S0?Tp*Os~vRMiNh{@ckzA~n|IS}4>$L4cMn#3 zDYusu#+dW1XeRFCo$c&J|3j?A-Wk4d~FZoeuUT~)H%w_ zqhueYw5+I#p~Nvt94GuZrYEpI!JrddJ3-Bp*qvnLNuo}&{uIAYvBTKIJm3rs&eH2F zGtV;nEOBS?h~;H0WzSJvTCC?tI7f%`Y(LM*^Ax^7l?x2Lfa^sDU8X}E9!5j;VjN%N zD1U`+S8%<;gex4rLdSSQ;+Y@Mig*fN)uTN#ukzv=U5!cSx7VqC6OWsC83WFjjR1V* zCJk=!@fHz@EK4Ldk(@;QWi8cRQtt8d9>wnKTB=nKSo45q52*5xCl9Ikh>4HL{}|WD z_#3Zyr#<1r6UrF9Q}<^Keuilh7n8VYd=HZ-EzQ!G)ObnvmrQ=i;+LF!$;+3#dd1*m z<|VT|ne=4BUUTI&Mc?4|hMRBjc#HR2Lf*3KE&JYb@GV~NaCy)0_k_P^>3ae{5cz>$ zAGn`FP6|s>S({4kkF@q=dNqW$N}ZZQ zFU43>Wm!wA#mXwBZf&8T5~U<5uN9Lz!Ybu&J;7K`)uMq^#(L&?T1{;zJZvPGH2yz^ zX|+WOZX#?}dNmbBD2J4S)62_a!M)hCTvnZC}!@0zf#ykD5f-5{FSYWxu9VglR&RaKTOSR%S&A7Sn}&%5#Mof}3(yX+Bfvr;HY) zuNtcL7Nx{2!Po`mKU=C#$`7U09O1TNGFN{pAPYL!7@5Wz-wzb;j-m!BT_Igp>v`AN&qodUcq zK<5V5kMXEa_{>154gm;!ub_h1gICQ)$^2)-_S}3e&kTA;zoR z5wdK#7zc~drZ_8#ldlAwj2+9zO3=R~*Gkf+6lY5jS(>cUGPEi~>oT-2%cQbg zEK5#VdX!^BIUbh7ygcX2lT#k63hb)D?g~7sNOz-&E0e;>Rj5>zE>$^Rm0MN$Se3EW zbTqhd4MJ+Lw+7E@kf)Y5Za3DVN^NGdUPSodT zeX=FzHXx$`(;9NUAuo-uhjB3Ib0catW_e?FH72MDb(#_^r-H1RZ_OfW3O6IH8Oxec z$VM;94zXc@4RvgpXNzZZlH}#C9RuySVeC@QZ%?p25%$E|)5C#x4&*p6rUk(*Slfc5 zEl6p>z?M8{Nn9%|+vo||wfnNAFL(OVv>&;=u<)X|7q(uUm0ikSBzckH#b|FHd-Kzq z(f#Q*kgWsRGmxZ#EFZ-8K};RYgTb^KLe3Cs_|V#iU>}zGaL`9LOSSf;qc3xfZ-Fn} zB;F1q_i%~~XW(#V4`=akeEjhB4EMXqWfsvdrp6ZSn#oQoX2C->0CC5;E4C}^lWemf|GHEOw$1!0XkH^s^ zn2=!F8Y`*f*wUd8I))M+%H|1NnLx@!LML-+GEov*r|4?sj4;xtQgIqh!*MZE>RMxP zxKsq?B8ZIOdIWu^6E~fvGgvxnOG^;K~9%E#SgJY!_j<827~_ zFXq4!CNE{wa>gwuegz*_@O=fFR+3|U0jrp`iUX^0T|?9wzOCW63<$4f>{_0z<;_~g zuVcYF-mc@T3<$5sdIPo_NZUx}Mp|#8{uU&PF4)TMt+d-l)Ha@OqtkYVZ)fv%vUXs* zlRi83#ckzX4BN%0U1S)Ozsq-XdpG0vaBC06_fl;y4fZl>FWdLhEt>wuCrw$?eU#g$ zjo20Y8E}Aq2PkondI#xtklzP+bcpYVXnuqh#?q-CM+rH~lB4XFd$Td@i6QhDACFPs zI1P^ze4OLQDSLvn6F8n^;7RhFqQEKYp5mFbW>53?G$YRF7kGxCGkiIVXDlVo>5(9b zrR&bK|2%KcQ~UybFW_^5xC?y0K>S6zTq5fdxi3@sGNUfD<}zO|Q#}sbIJ(E-9mlRX zj>mDq=*w=rLbZ5S#p89AGS{emje6Jcx<!S{K2 zAIk@fe!$oVEHLtH$V0Y1#PSgl#wQcO6(7^$F`kck_L$F)8T5o|enGut?2~a$rfV`AjfvnHugQ6h)f?Kp z;qV(hKP$o3ejJ z_nFFRtWG03jk)Q}OXpt(wwd^4vN)3)nUwuP(ih#aY??)(EIhLa%px+2zgg7$M$9+< z`%cO4cztL8cW!>?!*|yF;PnrF{J`TUzCRiDlLbGyD6e>bQSmp&e>3C{8~;%HFV(Xd zlFhtq_GNQDo4?uQ{>S`(EcnO4f4Y8obq+gnNXc=s{!jjLuv#f=A~aK66dz@xaz`;< z`}Q-H>W{KKm#{)vrwlg}?&TIN@(4jnw9?;PxTu8Z6<*~N3gj2+7ZCiE3CbiTrJzv5 zLKv+yuoU_!la+r;$3ntPrLTtBo62X!%t|Pr_$VWlWy-K3!hB`FVpCMus@zaI6c?(O z6gnv9vW{NeNO8E8{8&!Ah1=xw8J5@=kH6Dr`}1R1=z27krg4Ws7oMDOp1}stl?r%rK}W z)gk4KlAyd*rqmX8))D?GTk8tZ%4OwxJ)v2BAw@Cz#I_BjYOb7D{wSUeg&#^I4Y*Gg zo5sQsB|*8XRA?d?+n48PwMH>o$<9rs3R0F@3zp4<8A=HaxD6EJ;ETMHB02$%oI zH?0P=6^tdz6CI^mt$b44+6e=dKT5Cm!ZO9CgAk%L?S^>@74@nklC>v))hw`U=KMtKV8x>nB(%y_HEyxR+4E zTPV<9C^JCtQ7R1-ekg+m3EPy1gN3JxF-$yQh*Xo63}vN{kggc5T4QOIov-}traVe`?C0j8zBL|L`%D72% zS*vTxL_(52^NzD8$pul0j;x?dSSwC<*!n1sxVer zq0F5oyi|h1g=Nas2;rJyJ6*V?RGA@ESL_sH9hJXUBa~&zWyNR+H=8Nd-dVzF#bUNl zRH>#MQ&N?W%H%nM#ay9=^51-+rxK(rQdTJIm3_*9C}E5;RXL`ZE)Yg3GnFOEQ$b$N zh8wBb%6YW&9OoGFnK0ahgC-=I@Y00pri7aE+>~;;aLdK}T+}pUx*3gg(c)YAEWy>+W9OueWwLCk@^I4`&Do~;Vl`7Dq0+AK5 ztwd5K7FT9{WlmHkwlaCD&_G_%R>iCu7S*t;M!RZ+Rby&3%2y}2I!mkTFrtsbvLj$v zeQGtJud#A@b^{(az@;G$jc{qiy+(X&jCT_*H{n?mJ~g3cQ#v6E3j@hq%$ThLbkL%ZRis&uppKoL?EocI<7(PC01QfpHxf(TV+?INyoKooLjV;hm|| zg}^RM>%yuoBzK{#9DHzMfs9mlWhAVE6+QUggYqtTx)AEZ8W+yFaMy(#7b>{&*po zZv@{)P&a_H0bC8>dH`O5^bh1kAm$?p8p*g)QT!f7!yp<3;TFWAAg%}TGzint z6d8l{7*3Ai@)*{SC1)%h#?dvHWx*r|<3FBNP*En9P@Cj!`U6q&2UP~Zs!O} zPp8>*Vy9DK1`~{%yVGY9I*XK9{F}wm+0>jv&ABw6i^E(ny29_~(khY=BUFE%Pf`?B z7BFA|yN&0!u8UZ^i1W#H-WY{mxrPmEFkMTPwK%S2_F4w7qx^b2*Yj^ZMK-Wx1FJS*wvlQZ z>Aq1HJKxzznN3vOgo7-$+QfoQ9NWaXO?=*j-DYxaq19G;Z)NjVc5WqlD=}O7yOqM* zaNW-0?G%(w@D99oaA*gwchF-e0XvzzllwcVwTq#b%)QZ|}< z(PT$ca37`jQF9;B`+2*cvIppNfQ$p=J4mC03^>R-DGo9E5Rr%2aag~fhskr4HAlH| zl$4|VIZDYGY-8vg!=xBK#_&0YQpWAxJI6>m#+u`-J&wf*+MdAsB>pE!l=r!(SaXWF zQ~WwjPg zwDV;`FEc^Hc^o6-NR8uroG!wW&mx`)@hplbH6F{Wl)g&9RZd*R>KYZUG3*+xuG8i^ zCvRYPlSMb#b(1c)2*1Uw1fmnTn!wEjUL=r`Ku!V6yrpMD8Tg?+yp= zaP$r_ceSZJ>K@nbQR+T+_ql5<$Z~yv{{z-PApQaUA7b{1mXC;e#E{3#f6T(i?LLRSMuUPtu)K`3Yg;_EY$(&2(RWie0bNLOSZ^?O!$vdXL%#`V3|pLCS|^| z^DFni(j<$}EIwqh^&8*5G59<8zhnP{Sw9&5i}k-a^oz`2O%RegRI92#h{vt3&$x{9(txSZ~N~)5_RA{dJmrK~7yi(pN#;x98W>Q7w z7NV5=d4x;m!rHvTm3+d`{K8aan{rq=rPve{_A1Ym#TG)2Qrl7(uM96FlrAjPw-S0O zS&Cy3;s1}nC-vu+qQV0uNl8;`78lwnGnF{yl~TKeP_?AcR!LEMX&PRlOe!sylo2{9 z`;}A5HRY*d?76C5R;p1-P&r|blB5`&-eVex-z#@230{?j*-EP_LKkJHvS0bHs!+F@ zFjrZj7}th|SC=YLxvLnftKQa-Dnt3LRIMpAQ~Z@<%I#W$(beryTPj~=rBb}Euu3^p zU+CRH7@|~bC?qJxp`jU#q%!X49@FZ+lBPH|7P>3zlxj_c>WZh5t#~yRCMwgE>&gwq zX!owOmdd=DP*Q2899G(E8t$!}QH*!99=7^t$`U0@BeBu*b+MCbkm92xD*fz*HA*tFo?*(59_m;waQn)+o{Kgs$y{(jA4CiqX|Q ztyNGbVTN)?xv#wFEPPPvbrHHLzmza1p_;SMLg}MKDdoEg6BVPEYl>9H)O0be0+rdy zDJ8U4i!2m zJ(bbJ1he6St%3^97b*G+gRoncdAO|i;Fy<9rxJUABza&a~n z*2b2osND3+LpyVZo3qiJbLQ;K%dx!t%}2um#1!CC0a6Pvtst2N`BRYG7Wz=Prv>2_ zL|Smpf_9b+wdA8EvkUR15YEPob1f@YTCvNDqgI@;BFTzxR@5p&598KuP*HLhqh&EX zjT1qZC1_hhN1GE%P`M~Q*fu7lF$){Bv@r>dNo~x@CVXf@^`?w$%F3psSo77I ztzCB*zj6rpKaM@OQJ2cjBU;*n&W5396MgwX=nJNJ(>0lktI_t_}YTP#)IF+ zt!UedBdxg8iYu-8(HfsN__rZfTO8YRsx5gPY2nB)M+&!NR6Ft*{ox1g`PiN!9dPb| zYX_n_5YvIv9dPQ%(2k^bWK<_UbRxAA4xOpo1uuCH?8I7UvbyrM8~J(=(}Qz8c+~@I z7ouFa;leu?I=T|?%6(V-dNQUb`Fhc~7oB^tq8HnGVeY0EhNij^>Bb0m*12=n9Y+sl zda%iZ)}D0o#MM)8?QS$0#djsIdXnl%x+evC-a3F67k~)xDgK!(f_CXvUM6HRTybl+BF&#>4V;Z{0FhUMi4%N`2nm9;Ii>$1n?t(Ujg(DWJMrf0_i=H!lURoik_orAEaO3 zAbf&28^rw}s*h&aXx@y*VhqV+nLdtNkKxL$MD9W0mt~ zBkMk#z`}{Fn8@mh9GS?Ci6l$$9$%h^coMPfgX1@m}5AO9%UMG+mv6QiH}WC3>;^L#Pom(Y3%kxSXOl&qyhF5}rU z3NEMfa+WP;$8w6UpvwxTui(=P{#!-SRfMi0c@;LRxx9t~#&okZlcUzrYXjLEaN0=v zMhb0a@Mf-TCU^@|x3btsu!pyjVZ>L4&Lpc*-m_R za(E~CjKf7SyQs07uDkU~?~gq^-OKO2WJ^~$nhw!)j%IH(kE3zj&z}7_9U$NUlMnFz z02T+Se2_K=@jislVP+p@-w{lXQtl}3N3o8#fV zCowyP-zl!0qVQ=(o@Vc9&YWiQ88XgLF_yNm_{Z`$mU-t$I>+Yo957Z#HM+#AOT4)TU8Bu4MqOjuH5OdQ z@dh3@Sa^diH;BK%w;TMuL7ST#FcvpAlU{KGZxd*In~lZ-sRxNPyThuxyt_-@du+JJ zi+emYvZ&bu+CHH718O}a>><&Quz5_xV~#y$#uH+mkp6_KPg!L==?#3w$7iHJ(|yhD zjFrvKNq8p_k;L>Q7A4W(1uidG^n#}^kiqAummGM>Veu6&Ur{-k_Q^a*CiiPrzQ)?P z$LsrsVQ;wchC*+tYm7WgaP9h@?e8)9K$8!|rtmg}S*h%mR`4f2f5PE29X~VSGcP{# z_A~!JGct{bX_QE(Lk58v)XHRYCi%V)@P(K!y!k@T7rk{<@GA|z5^SuC+WeJmUperV z*somvifa}@S?tN8@^{?6bNV}9zVq!nzocnw-02Pb!Mq_7Qy!e`}_i7?Vsn5?+x5zTa73{vC^S}@ zDt(px%2B1Cg;2s$xTa(%#saC0g`|2{SpNqrpszb_WrF8CtZ(v`Axg-Oa>B~3Y6Pxz^Hs4ui{Ah;^|G%&YU zQ06GZ8wsZrV<0+DW2uTLp2{G_SDB@3R??KcO@u?r4ds(!^pJNpmCD>&Xs=`_&^Ag?1fH>vHH28gH$2PB;~Ra)yz9>JHw%vq_%2nl)(yY4> zqRdxrDvy*AJ%j}1lVa~8v{zhu3dYf-&%LB7=O#>43c3r)$}SJ#sq#}9;3*ta2KN?> zqe<)gNR`l6FxD+M>L=AvFCn+L&{x@}SoRm{E6&PBWzWF>BU`H+#dVOdSs6B1$W%5C z5%wromD|b!AK|8AWZh5cf3$WF@kWAR-PfkSS3!W5GssQ zCMi!9%L#&U8n=p8os54!mEx0ytI9(`V(nM0cT5qEC^wV@<(*;|CM;Fn zD5e^UODXM?A<7fQ*tNVoT&fF7lJY|NqjZcAb|^cQV~Vl5s={=sUd<2&%@nL=2@bP` zaOI{_V2;pL2~>6|Z~sS%R(6p>KgC}OROTw_%2&l0tIn7&Rih{&MA@jEQ9dYR7YGXl z3DMJy5Ix*^xV#cR;2cLc6PYz&oeBF)xM@N$Q`}7%V9H-pov=P*#^BuiHWG9_kvt(N# zUKOHtVQv&A)A$}+>3ZeY#+PkH(<0aw!M6xwi;!J}|B6z+D0W4OlGnq<2rtI2Vyr1n zba9%NpiK!vOR&5Ize_Mj(sW6Fm!xMYW|m@3Df*Y@ZD|^op;sCDmtja5c9rFRSqhb- zd^xU{<8OItRA4{_QY!GN0;UxyTaii?IbMar#?hnjYHX}VW;KQx&xIe?pmj~w$XAO` zwU}R{wz)JA2&i@wO+(o=Nu1u&0g#CdL`0AFb%xn&37ZY{Q$jG`%&k)+&?TJ2cUj?FS&-JV(TT0EOp1igUuc!dXVCQlP3Ya ziSAAHKFsLDhCaOR!w_SG^Br$;yeT_?x&w7hvrJOI97ti~BJZz3Y#Gdbqs7~N2=j*! zKZKG#^z-4q59vO<^~Gi=7Q?7KjErH}4yTeobNm@Lg2)lP9>I?hbPOOgfO`Ry4b*Q| zASr>Q2J$Bm3u91v$0&{(t=v+^DWd~pSv-!i!MqrcNr+x2su7|ufb)kkJCv`XI2dcM z{!F0ZB>GJvViNl%ab*(ICv$f);bFvuaXXAIQ&~8bV&RkzXLC4-;e0kO^5&1AU<3mq zXgrIp9Jetnq&ODOlQGY&5=3^N}jVRhIz-s}s7P539+l&Lfm6yN z8M>VL%UK~$c#T2nb1TU(2Bl}OV%I7PtftCpuC1ob8al4QWer=_FljB(YuUVxly$n& zYRh_7Z{WfP5;m}LBh@!i-FU@2+gO)eVG9Me(qJnSjHA2_x8c8y)NN#KqwjW3Zzp9t zncFF~gO)q!WZWydu!HeCS-g|YJIUNh%U!hE#UNvzI&3#n_h7M?=Ftp}W^pv@qZzP| zn0@r!&&B;TKY-%_o*dxI0rDQC&ml~YaQp}>kJ2cHt}*SaXFc@$@jFZbm%c;wgTW`Z5iD zjcL~~zs_vwzg}nM4gTH0`6jz>a_}Z!Z|X&&;b61S2#{ep`x=>3xNuh{g8 z&9B({ikq)UPR8*yKChYbnus@CdqcywIKL(6EnDAm?=7$2GW#7(-ZSPs@$c#L0sj=- zQ}It_fwAzawsFC?`6qlnG4&J2K5_07@kajb`I(_<#HMi}jmv3#PNPmb4(V)4XL~xg z(#cBaPdY_2aL8a<200m=%;a?@wZ9;*ltRC7`3uj#Ff)sdS?tc@SQclpc$$UZH;#Sd z!Z*r)r~h~2zf-eh27m)*xl_G zJFvSwGxvGVyY{nw{vY;N_hQeQxo0%BvKP82vC3TKm~vIQt@z~-YAR-wIziKloWfD1 zc`o6EGQ~ldrYuu-C`TQI+sap^f!4=i$^~V7ZXr#%ue?%v<`GWh72Yf6NK*HFl2+sw zCOQjA%6{d5@>Q`fAQV@&6%?`+5}XxJrJb@s*{=Lh9uyYRiU{e7Ls6lK@<7SqBK+?t zbumdRiwmcf=OqN6lEMaMzvAR7m?`RAZju_g3u%gLDPfv&Sh?#Vlr1d;Drd_G=3?+G zO%pwZdCKN;Lb>w7CgqOuODR-A2vyc9k17h@m4y1rC8bbhAw}7zJXf5(1TSwPN?E1! ztRh@h4pbHHRug=Dh3(39Em6&5-k*MwHuwu?6t4iGy|P#_yR&R+N%E{M_|y^nl{?B0 zB`8psqBzzSoRp%9o3c^qs8#1c<&aXez7W(vsN7I6wdPn&7ra$E(HrO z6!#EeFhYt_qLC1-Br7YFb4ugJLT9CNs8CI5sq|116*Kx=zlo$nO@-fzQ!}BAa$fnQ z)N3v*RPHN3m1Zr3qe@&$AyIJ)6Dld@e9&S|tCelaL&aPZ${Q|eva&ov*xX9Etwcr& z!`levq;H9~l2Vj_c0#}Q!aQZ7R;QDdIZBI;Lheq2S+E?WX?kbjfl{HXP(|@m<|=0N z`MahZ-GnMiQ)P`(zPk{nj8;1L5GE_;XzzfYl132SKC-sxBQ*%4vS4Cd4$bSKf*KnbLmY{)(xvG0%jHG)?)v>~4 zWxHa^QnzuEvc?HsidDQ|s|-{|B?#-3f)j)?$_ypbL?Me}HAyI|)Ka=C$x4|-Q&EqS zKZ4dPsZ)gWO0^{6y7F78JXKgENUa%XYR#K0$joW8MY)9q4YDvL3#+oQH4B%sP$Dab zvQpiW{g%wLVyzWvR$R|UYim}R$Gg*QIB0{DEi+7YdDNCNaw6A`X?6_B&d=!@?-Bz1!rsu zP^bV83Sd)^8uA#oFr#I;RAG7-VMGy{6y--zEL|w$LaYlrT*y(3sA5z$&DL$j*;}0O z5=<_^tP<=h$(fSax$1avM^}cr($0-eZuEB}-Q3MB>P}a8M!OT|&P8{gyX&;Eiw8*_ zqfuzMjrG~m z00%Pxd{i#r22miGNx|d{p-2dBA-YSsZ3x3dNC{zW2%F>quI}5S1w`ocOU}VRsNIM< zjj(FW-^Q#7C8i0nO*qwruT8LMrjKs7Hlt>9Mm1+~a~?@BJC;LRGR2gKDJ|L5l9Mfo z3?ng&bzyjf(Rh&ksOTV zzepOjrF&a;wPkBNp0?vlJKna(ssn)?xZQy=9og0qw@y?u<>Z}C{4+(RcV}93p=%dr znma&)x)Ri#wmsO;Lr>&3=*hXBbdREFG&7<(5Y5+U^7YaOxIKF@TkiVwCbbXu`ry%* z?tMAXm(;%8>5F|oTw?UoFNTB|EMw^xOR4_U=}%yPUYO&!!v-*S0L=%|ejsrJnK6*P z1DQ04d4o7Kh$@3=JDAwP>>JF(!Mq$o=b=Gkr2=C*wJV(^Dvvgtr+o{$rl)9-GF=X%w5zp6U3{VDAiUtuX%@R@ad#FSX4Ax>p|v^uGh!aQ&A{=qd3>3tg=(&av|h-v zg{)dgW%H2NZ!ymnW4DCGOL$-!vNCPFe<>Z8abp=SDf$Uc;advBRJmsYBdQPn; za09zH;JcCjn;5l)EoO%JzpYqr!+9H%w^49A0o$p$orBwHvV#^oaM?-coury`KKXW0 ze-~qRac>uockzA~w|8T)ho*a&Xr_l9_EK#xL-#UmFVpw(Z7($gmIt|fkPgzHJF>)NI zhU{BDL2fytdy;A=*>sYcr}*y_UZ-hf?)s#k=HeNOo~7YgMx5o4>{~uZ^>aj>=d4<_m_=Gk{RXgapl?h<^LCU+Te zmw9(_xJT)G{JKY>|FBBOKb<@2lzm9~hjf2PqN!U;$RzP2ydG2kF^wKG`Z3=hh9A_*lJS-Yb${Q8|OE84S)~NCqo1xSYZG*JOS}tv6J8 zi_cruyyg5`uD#{wTZ+7+);o^BqqA8|i@gv1QvHlacKH>YB7N7Oz?&{BM z_)PJyczz|}D~{i|`VC9Dx%-{K??irQ)^{#^$L9xuKe+#cmp=&m$-19R{KdRq1pa2k zZ^r*-;ctrnVc1_r{N>GGxz-ajEtC8&fS-jBu6$O0Wf59t6?!STEd?tpp_o!Xo6t+S zp-i$CHYksj$I2%q#73~U6G|(Ml#$9PWvX&S`KR>HE-befE-SZl2&SC8l1q|#iaW|d z(n_VYqp(rw;UwHu%I6kBl~^Sxk8neomsj|woXe+4X^~$D&SKO3fB}z$DtSSjB71I>$>Ln>nY3(hTRm?-GN;;~1^%2m5ak_F=+2$(*YSmc0 zhA=~!rL0qaD_Q-7c}h;LB+WV7BATL; zK1jHr$6D`v)csiuk{!VM)9p}X==F&AowG?p|}sT(S!G!d>SPECan#iyB2Q#ql0 zQCc(?x+$L&PpvM)mHx^d#f%r9)nYS$m|znw1S(<5RfPzlrLt5>Q#NRIY1vu`Q0gjU zlx=Nu(gwQ=Eqj!MNt_20M&@wBdvob#`(U#1$B-xS_OV(L3+KL1#9%RGPnugY7 zw_&3V&21TA%S1c&+i}*8k9L%@XOKPfa#A@Lb#pN?7t?dGDi_ytvCWaJPWU*{$cbG} zc;qH3H^uYdmxoVzn3Ipw`E*Hg=lt}^&jM#oIpbY`&;mRvz|#U`D#)=yye`DsLd+=4 zp~AXF>PAt#iV-E>5_xI13%>~|-;6st<% z?ZJEVX=ZxLj}fG#9H3DR;IES zYrI+O&BH3Zt3vLocvPiNRp$7R=0iv|+EgR08WVh(<;zK5&ik^rI=`zET7zXZDB;H` zKV%fRfq9}T>!JJuxE#RfnvAPSTutuRq)9DW)}muAX4axo9mWS@Sr_ZNi*0EUi!R29#|;ZS#6{Vgo!HvbCWuJ+2VMv>?g_(><87A&d^eUhgqc4wk@D zXx@k&jkwu}OpWnqOlo5eHYTGn148)_N~I>$Z$h^wJZ?g!rqpW6)23W*Mv><9ZqC-` zRA|8odD7aFE-g9Hk{2y07si$_9!kk-D%Bg|6pmm;1YaW<(TaVouxw4fNLEI2JCck@ z=F0M@c1&zX=JsT7k5_vZb>MLaK6jvPNA`B4UMCVe@t_mg%>|&3U8vQS2byo5lc!eTVl!EpMU`j9>C}UTpqxq0jwTK-a*VAM83iJ3?_UCt%lHM z2(yP!e<6XPLJUPjikv)@{J<@DCUpCYBUo^vu_N|$1-9p-^P(^ zJafh~EsjNTRE(!jJjwA)OyF<=nI>R6fvOX5m`KfuG@Ho0i8Pr+4=E`Vb-kD6WSrze z>|`oV;m;JJlbDdiza*+nCDSx!PGkNwdQ4}^bkX|s4Ri=4CZ zo6Vuw9GOkwIaHoQ!#QM`%htJEnT!8CI?iM9JnGJ8`+QE%=jVLN%FUhy#4o^pAvqRO zcOf?ya%mAalX;TN>tsGBb9ymJOSrQH`=y*;%EhJJTFULE++E6gGvIrDIq%Fv)u}1$ zNnz~@Qddw>j`yt8N^3uRNlt9ZPeLL zF}oSMn+|*Evxm&4Xxy}yz5D38pZEJ|eSqw#IHXcMm7%H3NTvEgf(|nMAnOlO&s>Gg zdRWi%L>yu55i+GwBn`|B*jC4|KTg5JlZZqRH=kIX+4r8QwX=ZkP?{nh5 z4(T5HkD}?grn4-aBk6oH&C9h9$@hpMkJ$5we~-xYn5f50dCYVv1w$|#j01#%-}%=9GxFSwZsu-R8S zd?oHHkH6CN8?N7pH_b??`o8_3+)uoI691D;KiTn<)StZkNwHrn`o)Xil>5V7+2drk zHeLM7SJ_(pkG22!_%G;PCiyj5GPC|JRaPr+6niZSJ(YgSJf%q%p{a6MF{fM2wqj>X z`MN;4uQ*x>yOcDgR5oF%GG8%!oH|-dDr+n3vJ>trrYP)_UD9GDO)<-yTG&fUSBB*f zdgm0(dg8!blKLy7l+Q{p2f@No_@)eX5=JV6atk4Ogpyhr#wlh~)0=#fTIUyzD9@Ay z&cf>dk5vKr>ZkNlPAJ!vJ4(@l!Ug42A;Gh-;H$(I5lR&m1}nu~1aBp8F`=?zCT}-r z+NrFJ>txMF5-vsaKbQ`xK>QjRDOm0}eIQ)I5x^h1fP zB+OI(DKV9WYswoXvzJiTTNtK1Qe3MDHx<{a!a(J;;^QNnQm!f<)r9woxdAlHSJKq# z!VKkr@?5D`LkRX0nkx&HG-a*7@L4GmAefUtn`=rsqNFLWl?Jti1Byi*;gs@8aSRm9 zj^g2(ekytD3)>ab!VGC3sj2c%>C{k2QFbZWgM@9$Mdg8#Jyv2acq8Y);e6>=*6%5$YwGa*UYt?W}CE4`ZQ&lIl~Lc^AVd7!#h z(|zT7n9x65Fo%20Y;CRx`T9ZeZzar9I<^*eDCd=%$~~n+q|jR#syMX~Je6`v!?r?y z#k^Aet!ZF8VTh8X{7}rJ)lKasE$<*Wb`-*uZk+^kn&*Y4cZzRkVT+Qbt591B=q8L) zZYcY^3m264N}V1;=AJ@DrL{6jd7}JN)<+8mm2~Bi(yf=^-&-)Jc}$^b-ABImRI>FI zY?MZdnc6MVPg1aws(8f+0m@0`oKh-QFngTJ^q16C*`+iXAT(4uD)k2no0R5*g!Rf( zWyoM*%@E<3a!>hB**;WwpnOpB4-;aPhQoy=%46k~;y6OcuasBzC{QGgZ-dd2qLpb%vXZ7W7$b~VQk1pIdgZh7LvbD}nEg;IGzE+oIw}K{LyCD3 zyF}~EJ4)|(VVH6&LC8BnFrC!N6D93bEG7wUl-Ej`M8VwqnXJiqvM@urrKBqkQv^q4 zva(Fstu#&&S}H@71xl`|!ae1)Ak}Jusa6*UFJq0F=zWoyE*31bV6g>iy zLb0qY&q@PJmRfSmiZjx7wPIQ}zGtJH4cBb=V56shM%j|xj`enA%1%yuf^slC2ZM8J z#rilWZ*uZEC*N}7DhrTv5t)mgxj31NJGlsUV44F59eCnE9YjjzO{>xg3|v zv9&zCD=@ACNfk)0K!J+5Rb;u8x|Qfui7RH+lT~G$D^sO1D=OpZ#UL-HdGX$hHr`zK z=CL>5z3EYvu~ivgm8sIN^F_Ke}v}#LIJLa`xQ9E|D<9<8B+v|DP(*omkq5FP*4iW_e$9CZ-FX=DKZ(?qqc5ZFd5C5Zr^`J#aF+n&$MRL=^3#SQUjw zG_9lYHAjCi>zWGmretru{?op$ff%F^5&Vf8PH*QA^VYj*L^I!JKrST>1=lSoQrQz9iMGi@@3rm%mC7QFFOxjv0t({Y@^gc%&1!R;Az zp2?J%Je{){aJX;X7Fq_%_d_u<>oMY4zuR4U=Dfa;yRB~W~jIPd=|{-;(T7s zr`iG7sWNnvzT1_YgcoB4Zdq>vzEDQ*}Im%Yw=!3k97=O z$JKSzTFJHA0zv5LXOk=IBky;BXhtf z*mr_oC&)NSty4st!dGthoaXgu_REIkvqYU`_*pKUHnBFkMVv&^QR=3=4kSBUOnf{bKc5y?+YfpVDSr9zR&`B)GM-Q;FCf14C-Z&`!!=; zQ|+yOroYw4tJWW=@qwuySn-k1ANl=}Y@g`%i7Mu8>SkGP{DqV+I-A@7D|^22>KlK) z;rN|m-kZ*_LIWDsQ!zszxec6HY5v zm5>s`KxMfSUQ#eEShL7!g?>#{{!_ZR3Kx`UcVU@gnz3y>B$)}^rKKeuQu>q;jwo+E z1=n)I#`40x3c?TNN=2bmC1I`7tg^6OF-w;Ic}c41Ep$^}DP^k&=4S05P0>|_80D1` z>?7D$6J{#bzCsUWi1J3sUtI`NdMGm$&lOt1nzq{2B--W0iSI z)`miaGEu1$B>YiI2MgsxglMI=@N+*H`0Y-}c6 zRm_pvW6dR9P<&blgOs0&PfH3+er#-FT7VAItY!GIvq7Bs}(bRJGqmjBAtbXihCEKqLQpER@Nycy9$ex z48^va(73xWLn+WhsHm7Xqc=7ERBU?+rImV0q~a4LtW-8c3zd5bot0v}h1$v>WqBWA zYhU4|QoNr~U8xZx)KNl}#mdfD;idApzu-AQc%ifyB+OU-Dh`7MUuBzO#%q5Jk@QOm z7%D6tCWH(Z8jcXoC_S~R{HMf^5|$~ql!uDlXyK4znv>RJB$ZWODPd!UN#leUuQTMte!^`LEVm*7S6&v|lX#y2xTndxn&aw}SZ1v5UIFSBWJy7? z$SS2mBo|^&A>J3FabdO<#=Qv5iZHjR7LR#c*zZD%;^ZvB(h}4tNmNM|m1Ivz;$5+K zW4#+Y-N@$7GI!RybK9Le?%Z=HvpKKRwG=l>akCT^Ja8#ZQW-9lVXr6c%Mx9dY2{d0 z4$Jantw5EET(8L8itMb!p-N;_VuEZ(s*JrC?p}=dBHoJxFOHaHNlsPpsY2f>tf|5- z(<+@=l_OQjs7eVR-I{d7hvPm(nXO4rs*&ASOT`|(r26uoFE-T~R-N_LX;_0Gb6Dq~ zKXw7w2Qa0kZc55mo0heiQkx~_38+&Yg6rsV-(7XE2&8f#wE~$I$k#wh*QI=2+SH?a zJx;s*@SUT z$=8hL&FIyPxy`86g5VZBZb9{ydj8ciOdodogwZez!WbS#k#I_d(>|O{;Y3EzE`o6p z%!uGg1m3L}(VEGvNsHucBrV(E+Lp_0acM_vJMOh3S9_YYXGMFCw`Xt%rgq@2nbvL7 zkmkzB6~2m2M2m^vIlNGso9f=p0w}D z$)5b^$@3^)N0F%)Ub5M@7xBG#)r*zAaq2^!J{<1D%)VImV|PD##Bd~rk+EdNQg{F! z186aTBT^m?BzO>82XSr?8G|V{lm$aMIFz)Z+#AY&=HzSc;dCC(`r&jLLBA1LkEF^- zMvWwGB-cigX%sf2upG^2c@#Q^#bbCrhD>A0Y(7=S!dO;}rOG%Co3gRXc!rIqc^t#y zxe(6{^GQnJZ2~_Nu%5uW3GAQ1Z}TGb*hDNR;WCM_lUP29qEbR8(lwERiEK#ZdLnfu zGj1{`Clj2+?j)`z@jQv|Q;D2Ll=<|T&aCOIp3b4^e3QMuGiW%A{j)eUi}JIXJe&Qq zIXWBbIh38l$a(CTNA>yiG;Pz{^Z7ELZ41b~kf4RkT!_aaycbb-5px$&Gnv$6J|23Gqu4TfFXP-Ytd>)6In$T(GlifPJXt}7l?1G$ z#Y!SpvUVj8S2AD~sjK+5is`FavYOyEOk6|iTGGtt%33O|dvj+)U{$#BO2S7LIRa_%^<8BV{|Sb}-nKkcW3rawo~VN!d-- zJ&fGL&OIF7!^1uN+Jom_n(yVmy?okB(|u&#PwD-5?I(OcGxzgrKeh*`d4Qt_xOf1+ zRGz02a!}uqCLLtPLAD*_`9We2G3gL94{`etuMhM4Fr|**eS|+pn0*vGS?-%gOd2=S zNKa$@F_y^jofG6g!ORoboMhHX>Yt*@X#!5u__Q`#6HfEyG$YPX_^e)oeQmZTeK^O0 z^ZYrF`vrn85P5-47f8Cm&I|0ifQQ-d+x!x_ujoP8yjLl8l_6KLxkkln?7YtF>)70& z%?&2rVB-x=+~DsGEN*h+CeLnC+M-!k|;nLl9lfx;gM|A5^`%6{bXN3MTl{wLmlBHE1PI(?zg z7xsU_!?a~*eUW-eC+P=se(>N2e}7Ql9MdWNn`XZ`{F__9IsJz+ zf0_7~$GRg4pMOF9GRgl9OjTAZ)iMhY6bB38z2cljD5=7 z@Kv!WC{!pUR9E^d;}p}0tyx%7Z6#dkq#RK?XstO&nWvmm%rTw7qLTV5amszAw~LUj zv@Rx?g-OpfeNu837b2A2ic1Nhp)y2CQl2VSC50-=B4wznFi*Lr9CjDpE8i5GQUXdh zB~F>G_<9K8N@r!RQn0kpxQtN9Q~0QSQ%aQ;YAG|7ZAxT0VT6*eyl`6isg$oEm_qlg zCZCGJP$fqtA-58y>{Y%iJt_;ey#zBQJX@2Ww@_0_Qp{;tL%M!7JkxZriV#{=xT!o- z>Qxhx6f;e{N7D@@udiV0-aXYN-B$u@2(6W=$~~o!pJ0ye)bN)St$a|51_=F?F*Sum z#dLO0Y06tmXj@z8tb9;<*Ab>F)0GB+f;qo4v#z8q%0uP1lB=GuNa<8xFx}oB4JDbk zs`kN>OcysuQ+H*)a#Jz;ho^-|TBB5MB$yYfR*fZ9RPHNLp+c!9LPw>m@>Z$cRA{Dj zQT8fVm9x!+>dl2X#q@L2G;M7m>{Rk;-Rq}xS57PS!vx!KA)m5ODG(v}DJ5D7roEe> zX}V(DTK|ROtC*qT+M3!Z`;;TfDW!d+kg1JeqvTgylx%HD4pB@9!hM+?cy)Lz2N-oj@kzK`%;ncY`7s9aRm_Y+PkwPS>M#Y_adYT-Ou z@g5*VD7Tf?1BJjrLfBv-Rgl$5c0(jLQ(7v+6;nx994aZ_FyW$-bGXn6joX(dBzIi;{Y1mtFRZgS?ONM2Uu zWokY;(00pz^WjX3*udn3a08!Erds52Ac=1^-b05S(GJ3 zDeppi7s?f5i|Lnom*Bq=c$8$jD>q!Z<;r_k8o6=JormU)>ef;?c@Xcx91k{oP_8uo zr8!cX(q-sahBtCi){~B&BzyA0lh$SFR+f`xu_%vi1>JXKTanxqsZ)`NifpOK<%(EV zqIM-7R-#B{T2-cRW%gBOsTaGvi1B8$H^02~imY8#X32DLReo0`)`zD)#8)G$FZRA1 z@#Uy5jbux3bxu^rtA-Z4az!??AKU$~^Jk7f>;1WJ3g2AjHS31}+RAIz+QigmQf>Cu zA$K4Z1MvxDoVg`?JCLbn2HRe=f>_RCTN}W(Vnh?~4>P;Eel%-8M-jt!unAePj z&3M|3x6R1hg8ePD6qX%F9%1ANr$jiO;ZzN$SvYONnGnvRaIS=t8o|v79+^k1?d1_` zYpO@GGm?^WJhlyI+HkfF=i9Qc9jDvzyB)9ElgT_;ZQFr%9f;|`st%m*K$ecI?8twe zXxy1DotfU5MV)!x1*fhQ>dN1)tn0?PZq)D2!R}1&L0nJH_M}l1J)@W$#lk4oMDZnx zywNO)W@$7>qKWK9dM})1Ot?3L`ViNLj6OK^Wu#0E_aiQbYO&Oa#V?k+u^foSwLh!- zbJO%rOATP{00IXwb`X6B^L#LGWxv7@LWZz@2$hBsJ(QtCIX0AP!#FsM3&XG&PO;(4 z8P1O3IE)~E1nWm|egv6DVk>RckqjHjv5~YLh2Ln7jON&AEXOc%42kCRYz)z3SvnTS zada`)W$%sCn>W+P6B6%v8s(?cayl=k6EuTiGk7+Gnlp)* z$=;dVnn~GN?3#t^9LCIH;vAOE<>Oo|=2LV&c@~gwf$mD$w~+jc=&*=*IewGO@MK+@ zlzTCM7Hbilu!O`V%r^IL?k-`-QZ0h#F5}@c$}Q*qa?+P$nSxUazUFCa{0gF1GI}M; zS8{kI=T?$`6^mD~X%$7y(^NTlW3z^$YgoTVcLo1lLzcDJttIbTYOH0-TE?#9z&iZa zGi*KM*E3}Ub2e~q1AjL#Y$MM%vU?MsH(|Y5JFc=lxW#7nY}QRm-?lJ)EAzMFvWNV1?QT00Wu2bR$%S}=1FNN$KKHVY5U1r?n$z49(<;PvD?@{g^ zyYF%Q9zX6e{yx+0Q|JK;93YWAZ*> z?i1!c;lLA|pVHtdon#@>Q(T|n^NbzOIQL8kjcYuo?sKZYV9E;~zQFn=PA}>Gl0Gk) z{*qNM`ScR!SCo9knhZY5o!Hk@dPB`OtbfC;Hw3(8%v)-QM_Wge5 z+Gn1c`Qp`I*!+bpU)c7AeP8(R3w6H|`<1z0+3=OZ=16S8?{xgmf8Xi~FsPCiV~4{;>Bi&;IgD>e_$2`G5Cd>t>Q)%}tfV$`R$8@>eNrA-E|Q zl}Acc79m!7r~FZRXB8GJxhw^<{WsZ4(p}}f5|d4sqc~a%g_TJ*!c3*QtuRD6WG7f; z7m6quN=18NYz`qdr?6Zpn@gzVAS_aDDIXMb`}Mt}q}@(J-Q2e5bXm=H*ADgN>u}|zvbdpO86=qL;c!i+#_Sv{$v;Gpmm~5wOu4CKY9#n6 z+ms27g&E4AP+^2}Na@i;7@!PN{wnXZo-Ec}c&;S35Vk00GiVrMe20l%vXH#kRX}Sc&N&q$*~A(W{=4-YP|-gcHhBC4aQw zro300_7ZL@b$bivm5)k;zQR!DsnVgJFhbdU2NKj(N2{)B<mlElmkkta$gCaEZkH|OcBhH*6x~CDiD4c}?St*~DsabiKmEV>`Skc{z*;Z_~Vt+QOTGPjx3)TeM z5NX3V8*11x+Ll+gINDL&4(sfAXJ=D(*4UFdC&hEp-OS-0%0;{b3mj0OXmGjbbT zh-rmbBKvX+Q@St{3bRlyt;&MjqWHPs??N*dI=Ha2ICqNEumtl|3z-EntkxjSj@bS_15DgKtivNZWh)2%e~OS7spKT4CW428?!DJzf4Fwv6@ zo|G<2SXo+?rBOL8C+n3bygcJ! z9^MS`X0o}fnzIVssxY$(hpVvMhm$@$mTkJ#=v$35a!A#e>b`XG#jiSps`IQmU20I! zk3c_m`qAB=G5(zO=axU#0lF)xMgaTFuB7QTaW(sqUev<3Hce~ur#8}4l>#%UE|=?4 z)2v83S`VB0Osdc9`YfqW?gqLpDQ81g1+gKBv>?s};U7$BFwKMM7)*%}Duhragw`SS z3Snso%R@*Dp%83^2ht^NME^!iZ^ZXT3~bC=S*ROI_fTepk`l_gP@HeZR0(HbI19pg5>Cko9z>A86`5Nzvo&^+ zREy+DBu^soGi7G!ws^Ipb~_^5akCw_+tHvs1KN|n1BW|sq60o1Y1NVY9qHAHO`Y-R z!r3ld>%u=-2i%ogUHR3OY~66^MvHEY=|<7+#CE4}4?=s8+JpF>{OZZaDBPn7jAn8) zIeW394`upNr!N_OvF^u}ethnSPYm^A7!kvX7@EYgB$gYoe2m4aKVkg|?@yC~v=~VD zL6jRzwZU8&Ov(_NnvUz%p=23Gn_)~cjaJ(c^cum%5xg>0at>*=~4%MCcoK<-B5 zDQdw@gl{5Z6O}g;yqSla`L~%)TR5?Whg-1NO0KQc+DiYe%-G7wtz6s6_H7*4#>H)T zZYOvC{VSMmqD-Nl)iXIz=8b{t=rVaqSUB zAM^e(8%)8N_bGdx67-DQ&q#UB4Vkxng?9#HGnke^tJhq3P4_n>yrGL(io5kpRy`*;2@wxC`*)siYW(QYTD_jKT}FN3EoPG60VF=oO26B zl%k5c17nd#Qi^gzF{8GZ@=1E9MCTXEI}7Id>5c-D?i3WhC|?!tLc&yKwenJVqkL2* z6c+r72&QbDTU1hi7h#{`UrgAgJXSs^t%?hyN(!b0CY6v090p+&xPz%04$}@k# zH9!beCMmA9gi1;^rIMhmR(2};6^nX8f-*%hy~8RE zBsEihD193W%N5TcAyjFjtXB$#2yse%1X))vE!#%IH06e}r?GHHNeLBBHxUXp6?!Xi z&4jYe1^*VpL}jgVOfl`ibuA@Dg$eP>E-mS5LqlG5D1pD4XB_&A7 z(MK4hyix4>3RjiTe!^g7onjp$yoeQw_y0dUG<8shE6bDzN|yn`JjGOat+c{BGFZ5* z*bWg2Ddm)S<;_r`-7w*i@HQ7AiE@K=T?pB1+$f~o&nYFet4m@3o}q$8MUsy=Ud>{d3j7JfdN>0mCB z`ez|H3!zzfmxZiZS(lZ|Svh0L6H6{wVUvww+31-KduyDmsbI}`Ypz>U%Z7V4bho94 zEt74TXUlS1dfSm=M}zF#$q4jtlQJjLt<9;?!*v;4kFE9i zAENF%uIK;z|F{v6l}%R2u0$CbA*A7kjD{JZLS&^>6j8`}+bc3NO7_l-Y-R72z4zvK z&hv8letwtB^K$*1SO0%5KIii|=YB?YAhrWrI_LoH(++&^z%o}>xUtloEAHHL$D|`W zI+7nEU_d8sbmB)RHgu+E7v6NCy(ir~$@avpE62KWyDJ^K^Q1dZyW`MOk$*wgqr0fY3nZ2jUq-L=g5vkX6dwLwPfd ze8JogrqpnD52worJV$V21S3Ki6GCbTMMsi4Qad#J(M%f6BHbtW}t(Qy`|XOYWz-s?YyS##Jj2dBAg|Bp`d z2$|2d`Q$RzCoeA`d?A+>Qe+V>i`cb@eT$g2nB9xHy_h*mNL#|*B|Kh2^`-bOC3q>P zmr`dL&6hE28FQCmxttot_^b1B+?KOyIfs|?Z@Iqw#jhZF1w|6smPq7EYOJE=D*RV5 zWi`FlFm?_9t-)t43)ZrCEj!n-e;ps!vB@|H>ThgQ=4>F)xB$9kBY7lhb`z&JVQ;+T z?cR*Z7J3*%tv_X(G6jzmcBk+ng~F+{OvN>o$W*4M@;#NGsa)U6^R2W^!zGRHY1G7PcFc`!%4gENNvkFsl)E{%n`gTzyN3;XXt$RQdr9BR8RL4&rM;N% zqt-rF?&HHgYV5~#KmGO-xgWO!cpo50I=6%DKgf$i6iO!`ogiu0(%GBN;dCyg>*>(* zhsi$7hr{GM!t^7oIKu8DR5?o5;{+ck;W#x;@cjg(GiaTm_f%w$^1qX$oh0`u7M$Wj zCS6Z+`wU~wa^);7&*68DmFGBhj_2oibB?(4%$G|l7uakB(Ry6ODBh0+Q;H#Xt%GIk(yv8YGp)%+?U#`>q2A^-} z`0K=*?7GRoTRgl)iqZakzK!1 z-b1!N~F69=F4w>7%4-m|4{ia z1B{@d>wl^H4~KuW`^VsaO!>#dfBgFA-XWL#^BkirRF){Kloh#!lZrzgp;2C8k}^*@ zueg{9b@L0J%01<+5@{+tDGbLXo!AnW4EId|>7sc2r zQe9G>D7h?!6y=LDwyN;Bnoz&GU}YurP{!2|uK$mGwdAL%;;1Z8eksAVg^9{;<*ibx zuFzYFQ!Xo4>j~|wh4IQp<$>~38EPXWEBBRPTVb4%ru3{YELY;~1S5OsfmW9q2!9mg zF>!oDsUnrF%25Zws*zwUYR=W_c4NWV(R`#;za~O|C90{gT=}9H9c3#=sl1fw${FRp zlDD}~Q_0^__^u3g5{@Y~TM5R|l-^oRP>Qq`ycAJ>|agRr#q@b{6_6 zCzZsuf^&P}f@0z#6i^l^`lul(#IxbzifDNB{>%6(;VKjE?RLMh=V)K*-SS4y}3!UV-_fDo*l zQZ6Yu%2%a_zi>;jA1F8}Mi%WStriXv%mxds6mP{mK(J8kls(FA#XV3kmNIV!N%d@q z;4n-WuG~;s3>U&j2xk=|Pj-KZR24=Fe#$SU?kK@k*{57oekl1z3w0DP#aCIa>``pS z2z`}x3S)&(B}$1`OhbhL<)X55obX<08YZ+>;+5k{`Ea55c%g*SMltSxPL7bOr8b@E z%C9J4z(gTATF8tMYD^O9DK<(UWsnl3q$&$13q50n22+Giiu+W-OL2=6VwG&=k5V{Z zXr{DPZch`^rVF`d2ziyN$}A;ad9Tb&5Eji8+-C`!lwz|5Be*ACt8_t{$poXBtmCoG z<2kLQm&`+(JjCQ-R$kuZWvvNS^XW0pgnaDE$MF0d%&%SKa8uGv86b^hK?WA2x|vRz zb~0m&6ooidh~kB@F3iHhG%3R5BAhKk?V=1UN?cI_is3Dbmgej>r+IM}8!w1cOVXzl z*`@eXik#APEK8rV1eWD%S&f-pR*u`{Xjh)F@|-G9mT_ORxdm%1IBdZK3tCmcrvk?+ z@VWw?6`4|zFBNH2iKdn4UWs*;xK)W7mC3Bkx5_wIVO15L8`G#As`92Pb*j;&8pEnl zzd8ZcakgTT71e6sP=jqX_*#R5HOZ>UwOSOc&5_!AF-78f>egj$T|ODps0ZqCrXE-7 z@wFaN)+AXo-j-v==@jSsbg$2l`b?|m~S;G_fh z9q8DIC5<@Wh|I=ZZ;V|NJ;OPw37JhWZAuqMokNxW(W4o&W&5%@Bbzg?1s7USxFwD) zInk0%P7HKnj1xeUpDP31nC!+yH!ith=1#mjTivx!alOE}ZXzi6^x@ag@HYD}h}Z(v{g=InkY_J(%8uYjRJ;i>2ON_2#!X zH;o+H_P*To#m#6W=k{Wye8$LWR&T!brb-_|`mneUhx$;luP$Q_?Z^0jWc6dXAIW~~ z^y9rBAN(lhPdk5N{h8&@MSlhiByb?}2C`%jhX*lYFlUU=o{<6k7eIwT+5~bgkU>Gj z1@T?>F^90ym_W@K%Fm%R8^+9GlniEIFvW*6WjNP{V>W^wBN#t|xDh-YK}-lQLMSwn zN~35aLA9e8KZ>WL=rfwGV~HQjg0ZX|OTkdChVm(tpP`H%$Axk13*&JZCBrE%FNNXk z59dxej>Zt`C<(2NplBqGB6%6fS7Y|HN)#RwSU-^g(fp0ZItI5%#7$!NBs?b5b20-b z6Fr$dlkuHGg*XD@m>S2PIL^mm6OU6o1*Xw(I{l{eaXLL`P&I)j34|n2dnOJuxjT!_ z@*Fsut+Tm3n|HHWHiyr1u$;@~xtdZtaUOZ*Yeenl1>{{w{6gw3!g~>Y7O`Xzs~1s9 z4w)>*b_tnFxUz)#OL@MOKFdfjCQ8Gkom|cgW52TN3f8T_IgzMD`mChdDw?h0<0?#( zuur065`UAZzZ#F#%v;UU)$CYJ?llCj;ouq$t>M=i%C9ADEyvgLWGz+K>451mBfaPN z2Ci(NvYa_drcW|a$*eTuYHw|1?k2r)vSu^$Qix5Z*;WRm5tT-YyaH~g_I6fpCvXRL zJ88U=n4Rq0N!?x8>>_9vpLa2F4=0Qep2vGBxR1X3nX;c{`-willY`_tM7cv)rDJ=T zZHHNVls!j@I7a+&<{f9_acZC7`Uyfa$jIPy2In%km%){j*q_4h6a!CDGLy=gbj)O1 zCZ4C+dzxZraX8B$Ijeb=0p~C~Pxtc#o!5Tw`g!_YpzlROFA;6@fR8U>mPLas!m@ah zMX_wmv+>BLYc>zF$;l?yW%5hL&SlzM=FepYUcvM#j#n9fmH4atcapZ{C zlpAcjL8qHsxrym5w%sPr9h%(b)m>KK zf{2$4f5rG$Y}oi`aM4H`SG60 zABp`)&POVK)+nAQUwHL}9$y*omD^uAW~@Cf{z2iN`2OVBPYV8Gz%L5_rrd8*f3y2H z`~Fb;FW!G~{^wpMm;7V8Ik(U(kC3C7=M|ZHKU04{X{HJVGzADj0gayhz#iXcU zrj%BiD#k_330n0pCZsE;m8Ql250es7l~L@JP-TPiLdjoJ*rME2nv@cDDF2kPrG=@= zRpq&2Sw=`w?8^$d%L&z$w#q4`OL<|llBJZl5G)jLWrDI?*`{1mmT1R#siJUK`J+Tu z5rt`xK*DTxuiLA6vnK)9|L$+WBOrTXR|^k^g`C_9wo#zLBMMtQ7wXtS8DyjT7xjhhOyl(oug zM`2Pk;h|!qeWJ0+=+r{0zKRj!V}#NkZK;2A60RtDS_vZ+vo=B%Wss7n6m}M-C`rl* z<(1O8tx&w3P)g~ln70>#lyk~QWu%MnR53b6BeM2&2l<)DRmiKjx(Pj$>Bzi@$u*+l|yG?ys};~-YSo4RkMpwUwPI|_^R~oE__zp zdk8y}-Abln>m{60UMim6!db=NM+jHuD#pDN$DUF}D+`r0#h6h2qLoK4A?$yw&}z3* zskdOM^isl3p*&Q&4H5b%*Odc91*5ZUGfXP$;X;!Tp}EpgnW*ei?kK&q zseGZd86~V#+K(1aC^g0iPD)$FQ+cBl7%Nm$LX=#gLNjHNvP?-<%*F}Tl-|k|Wt~zb zOo&u2C|8yGNFB}zE044xnyP`)d(CJKq# zfxcIY#0b_($w|UE<+)N|vS6chQl=@+vBGR+qq0f)qD>YQk)iDMw8CXG*^U z94~-(L53A1svxrq5^l!2LiiQNzcBX-^Rh7Ai{Mp+3q`mn>ypKIT8s+jj4)@1IS0)N zDo%wGSV}NZ3HFqrdP%HG;#87BB^h0kIVCw-l4m7pXPo_%*q|J_p;DS6Wr!%lu`>Gb zIki07jJ?Sa3yxcG*#hSZEU7?h1)5gGsUnk%HA-n*<;$wX%}P|LOk`yaRpwn4Oe`s6 zso}FjsTULJb0HVp)qWwHRBA@wM1fi-yKMm11=?HfT~E zmes+tF2n2MTaUPU+>*dqYhtb0Z_O)fJZ(s@A;X3&S*f(e!j{pt%&1RVeRkF7Tz#(A zr@9@T?eMeXo*lpK$lrkA2Bb9LkP$>%!X8(9jTXA(K+{IdYsBV8q&H$nV;q|h-h^FE zSl*QFO*zmMOGgGeGTM=g#^KOAj#xJ1K{M*Npg>DvTXMN2d7LQXgsl??oG90tJ*_F< zhDvR)Y(t|qIJIF|8!olsZ5vKIli8M-b|kiAZ97V~r=Ia8wr72N(%bW^Jv&@5@4&te zyzW3jSDL!9*o`Z0Ja(g|JA>T`b!V3c=RJ7nfrD{~WiWWi&}%1tb<$PKNu5dQ!nZDr z_hgAD`#t&WNpe?ucH?X}&Ud3ncOrVw!i%e3JoduGn@ZmF^X8*B#e5j;!vr4^e7NSr zPaoR)($$y6z8v<2p4{t6W-sO&@1x6%I9eHTedI@x{)G2urjbZ{tv~nrlg~(`bsRv* z0L~AfjX%Bp`Q*MufJ`9UtoF7JZFvEtkX1Lx9{XLupBUm_svm1 zBX|&jStQw!ctw#DMWG4wnLx}0u1{ddM1m)hF_C`JOpoSXG}U7mV2s4xis5ezw9h*t>+4P-F*laxK&}R& zUCF_fv|FX;J@2iebQ0~8c%4Me)wEtskJWgsX3%O~skB+cIwQL_a}D-u@mkBMwZyF@ zWi7SWv1}cu*U@=BL)R0!o|o&{yn)OOR7~boGOioxunFHyL~i2kCMs+pXA5>Iv`pb> z3YSv&oPuX6fvNmUrQ%iwZspEa?9v#XM#b&KZs+87O6(wZ2fKHWy#w!^jM>SBoy6~= z`W_nWq2(UN?xE9O*6*dlKFaOKe?MXSbpW>gK{_0y<{_L8am)y%{d*Ys3LK&05vm^H z*b%~xa`Y(GkCAkYH^&G+&eY@lJ&ySaEKX4W1QSjWmqC$}1fS%`Nt&GE;wgTgqM*E? zW)hsq;Y@C3;(VHRr*S#Wp3|6~q3{_T&(h^AUT2wgmUU za{M6&AMy1OjyVj@AvlNd9Brhx=Wr;8iBH(`gcnZ;dCK0Ww0uUJXIy&5i)U1OPNV0v ze}UHvs=TE7OX6SB_Z9D6QQ$SdUlaa@#c$d47Ke9azvJ^ea=pj(J+t1k=sowP{=mf# zIDe$eM}j}`@e{R;=hcm$ksRBkFL-{{Csmof&Gn6@->CAPSKrz3lNP_&^9$SG1pmhF z53~Nz>o52Ia`GRK{_*>tdr$43=P4_c+scvLLfbsTIK`O0ZI)N6c1pZ5NBN=DFcB^* zKb3;{1T&?qQdfymg7XUnO@(mfmvXa!@IWb7PzY2eDG!v2WfR&9=xD+s?8mx@BkNl@fJ?X^IgCbVVzxxc7mfaMlnWk^EHrat#VoM zYbYF20_}xa$_nMOGR#3(rc7ugyi&d?BO41wUmVd?sw;|hGohD~pcwHzw^~T`M0ufn zYblg<61pqTm4&T@ime4t<(p#BMrf?$Z!6d;9hB>eb34ID$xyB+z1s`36*m{5qq0wV zsHArga+DUXLTja{oA62bqNKYE_8vmAazZ(;lj6B;1T21O9{HKI^3G2LtQa(ZzWt?(A z3H25JDak#By-KBCg3<3T(aNQ_@L0*|BUI}vtW-+(6Ree0ihF-ylyXElr(9NEDggt8 zGs;MRVe&xXKjowHOBp;!SfF?f7U~5GVaj-=evpu*JXK z*|kAo`ZuLsxG+E&qF9X=8Yqs+d!=H8uu(CK6pTEcI$G6J)+w=3!U^S_Vw_KzH$keG z$}6SOM4`FTTe+s(R(>g?q6MS3-Jq30c#Kr`lZ3-cp2@;N<)zXvR#>i>O%bXnnM%*8 z!dzv(lBVQ}6D}!6pilXDsX8m;lud#J5*^n%Lm4$qs4!iyR5~hyW(ZNr5#^OqDnWRu zcD4mq{vyHBGmhs#=#bchwR@vJ0$<3tPOwY|zn~QO#7`EngG(vBq&51E*vN;RQDOH@q#mOqpJ1I(Vq6801(6=Q0 zN|Ia>vr-f&O#^wIEluarbS+IxX=;@rs0^peu&FHf%VJv&=W<*x$J25QE3fxKKa|JR zf+iLWGH$C(w7{eS;T5=0k&(uIP}9nEt;{B4#`kSyK33*yW#(65MHPNj;jksSs?xJ6 zVO7~&l}}YQGdH9f3#+lC8kW^LTAk`v)U)E36~${%vL@AQ^1G%keLk;+Rc(T56I`2& z+MKUV~4>h3oBema^bKGmt5%4fvp{=xlvTEd%M%vgCGw)j9t%x9eLZ46i9_Zo%qy=)}8U}%&E?Nlq)P<2<<|87a~2G z=*cTj`gdhgSFUwsS2x_clh$3Iax3(pPY-7F;6)GK^kAA730`D*vA~CAJ`DCH(HHw( z)a^|hv zxj#<+Y?f|!AcqIyJc#Lo_%;}a09FQYD1eLrHU+Xhkeh*w3L++mT|s0AVLk+Db?Xh$ z8Djq-j2gnkA*2t(C75x+L>h-!J_qwVn90M59znwphK3LvLVO6fL%1Kp#}K}br2i=H zjiStG!bfY&?$^U=06FQxh(=}lzK7oY^)SF4qnfTAdLXMTr!haS^XOTV&@7a`_OTW3?{|~cy zSk0sUJQ~f@RG~%l*f5U^^Y}22V)F@{&#eWtUdWb3q%Y#+BEBpl_hO1J!F35UmT+nb zK}%V_lxs`5V?+&IT87mMkn5x?xSvS*m7H9O`6|Y&B6}78R$-mQgw=Fh!-zF3UPGO= z%v#Hcb$YTTavcfl=)Rr>>+#*dxDDLg!2J#6O{P{dQ<7Pd%%f!9CUbcslQ&UwGru>( z7T#>ZD}{g*mZy-KLh)1vr?NH`&#jExO6*o#(-^UhgWHgi;yF8bwS&St@!!S5U98^4 z@ZId*&C%Wb-p#B%Y}><`J^a{1`@Njsi}OD0_v3MZw1c=DqQfD&9b#cR%hTDN&Ud*{ zdYGWYL?0&MFtZLb;Rq$<5X(`XA0_G-`;K8L8=uG7bDWDtcy8en3^>6&X@N6nnSoyh zi5aZU;CBXhPHKwo%2OOWMd?gNXEHmJC7Gn1=Im)Uo+0B5C(ls+91G8}-grVjf1W89 zC~=W%7s+#p{g?EG_)a#Km$AJ<$`!U>p~qE9Ut{()o?m0ub;=uEZM~bEy2-MeHNqWf(|-R8_~WL((d4wiRVc86Mb>2Q}$cjP{gmvdG3{$7{4cft(Mq$0`1a4eS1$RV36*jS z4vMexSs9u~h*!2LZx!#nLWpu$sbV5@QjD$CDO#oE7d|P*t>;pwie`IIR3sj3C^(?W8K)UN9b# z6SP{RtaB0mDghn-j~QAmP>v~e-Gn~MP-TZQ$6d%&s(1)n6}OH;V}w}6xcySBvsAW< zv$9<&-9_l3%v6pk`8;+0AZJ6A1H(>JC!*>Ld+0hrSfQ~@J}&vk&Kt<>|yfLI#_6? zbXFQ`qdrVA`u4S2y;puKaU+E8A%gQr;fG?R=7x=uDnpRIbIxd~3yu+t9)68hCzQ%# zg$QN4@=bXbDmaf5j6hxYFsViiv(0t1 za#C6=bEXLom6p?m-O6{xZicW}sgNMFRaVXv?kfdn2`!bw%44PDY+-;PkHxc%wmXNm zxk=1TuRLtXi>(PsCL|jZ&cXSJ&BxAs9LvX@{Jb`{Web}UVX6U1$4x0;fP?~6E~ptv zE@m7zqiP|dj9lH5g}7iGDwWscl)`K+jBioq6lG&kP88*8QF<3+TQPPO<61GgnG~K7fa%*GOsENs^VXb zAZeYg7+^)D6}4&*RfC+Gl$3V47B;o8ugyj2o9nQm4)*ovQ4dFJnpxA%nn6<7&_Z&N zY}jtYejBoFC@Igvwp_90VSQZfNVH?E9S4omGae0?-vG;ooNq`zdkPt6Nqy}ZVNbX{ zG4|}XC)1vX_Cz~y!hur`TyWrq1N9rxxe@mpQNA&i8&kLmRgEd=IZa4x!dyr8JMz;J z(`JM>$EyWnTIl}ls}`iRWQ`NGB_^pgUt2S&4ZhCwZOf{*B(=q|9aY=WsU3OS6WE@# z_B!y~paWfvbfo64xVkdKm3zi)b9r~1-P!9-mOJY`IO{?4j(9;Y=nu=`U?RtZvlm&VcT$>dy7Bl=ie*0;tuDk&6 z8o&?Z+u~2AKWF@T<0piz=HXxp1X3!HW`VQ_B+M9Z{uxAxAuxoc zL+CbCUwxw`YCB|oL|GKHG)Yah#x`f2=0!+A_SWdMuu=BgyJJf8_CU) z6bPl@IO>n1$2b;^!!!)9F#N)J zA4XC*nd2!GL6HcmM$j#Sln62+sT4)MC{m($5vASmy$Lu^#B(Aa#b{j0dn5iUAW%pEGOr?07J_x78@gPp;pC`q$F`f$3s5YJV)5)E{ zxCG8hoUU}bv$-;xKeMrzLz}t88;`v){~>R@qvvsI9**pH^Mvwl5Il4+I9o@CZ-Bx4h9n;Ewmxg*mtg&8RvOrcsT0jXR{=u%G7p$=Xk{F&EwS5C_tAH`eS39gZ;aC>F(cu__jpAEQ2{2)ILeaQomMh@O2hlC;d8AZ{Tx- zn>T2GlYF;uzQy=kti460+w_ta`7Tj+DRhsn_lUcP$$iS+$M!y(?vwigLm%+y0j(c$ z=OGgxarzN!9`iZ}mnZyv%HU@Vea4b!WIZGAb2dEZ{tJ%2nuY97wXIwt>>ND|Q$oGww-x&Ih8Q+=vo$)_;_LCPzmhPe7;2E>yM>>=olF zw|-5jj9guZ+EO)9+?CFXpAuR}NK=j|ed-E>l}$>ydP0=7u+K)YvK4%lwaROyR(%0w zsbW0amTVwZTV<4EcDR#NR&jwm0L?yZGXrF9#j zjS{7-Ra&wYoB{Wrq&x(GEg};Stt`LR8Xob;}zpwwcu2#jwsg^BMhl~yi`Aw%F_hnC`zhU z1E&i^m9I+j3?W0Qm>?MUM4!%-s^ctSurg9fRkB1m$Ip38zfRosS3k=%1en`I(-dr}_DipCYF8HD#pH(_J;CasiwQ z5LtjJ1vplKS_R2(#xUbcFk`M6zs#szi2j9`RER5ucwdO0g~(HwC572vm~Vv{QiMB2 za4yP>qSzFpT`?kx5mk)zV$?Ect_%y8z^){-OR}aES4(lSG|S5HrwsMWa;YrO%96Jn z9m+AV96{wsD9565B$uOBc^u2*UY_UWDQ7{91-~tLUjeU*46n%8ifpb(_bOC1n!E9m zhGfYOOAc9*ZOL6rdKu58RzaL$GSw*0WAZhcDHVPQvx9hOFm zx5S>p4%BqO-ho#Rd~%?G@$&hxF~6EnvneZ@GNu`Gnz6VUMVsT%oXO2GZ$Zfx__bhV z3%ayqbxWSLcsm_H0VrxXO?wgj3)~{`RPfKu2k--FP}2xd#Nk_-AL?4f$rq*!Rj7d??H?g%e}bf zMIK|+x0W}_-u&>Uh%a@0+3CxBUncfsPEWS=q*yQd8sCy$obN@EK9uQ$Z6AjBp+jG~ z_N8b)lKL^wj~RZ<_hYvo5BgKcpRN9+`7?hY+Xvz>h^RrN4dTckf(DZ`m{tMI58zG! z_XDsFWKSTOfrJF{I|#EO1Px*25atcRVJM}BF@6|JhLJH0r(nhelM>A3VEPT$m(Lj^ zm>EKmk&GHi(n$7?GKq^Jp|v#*jD$)3Hn$tFN7(#}OY! za5!G$89Sb6Y3L%E70Ka9T1L@2iq{jcnaJ3Q)QZM2T06LH(d>;TCz`1-d^XOB=9!G; zWNuHUe=NsixjKc|shpjPy>U4-Up$`i42UNso=5TYm`3gy^q#?-8Q3MzDgkRFE-BH- zN*XX5_c^RKK8Z`}IG06pc{`VF|8aI6@8)4KpE~myI-lqT>|a2yg*;x!e~VbSm{Cjk zw1g7N30lsL<@{QXOCoNGtd#?xtLVFmnX6c{ibJcoyNb`ND4In1Bm$C%Nn(NVZA>C1 zi8o1nO42~v%4;aTmRoC?xQ=P-$g>_(`8H5|1N$~`Rf=SqCUZ5JZ^@W!q`u7OZlt$# zZ5zqnNR3VSZ{oPIwQ9GSrt);TnNgd`+RW%J`mNu>?k#joB|Md0TRE4;lQc?hy zC(i+F4-jyGumkKrK-NJ%9>hmpG7nKJov?Jm(^-~I^TSM(3n+)_d<4^@v^&b=qdYju zhoh7}#)D(LJ4U7B*d3?gai$&T$#DjqU{D6@GPs#R?vu1UNxzeLpW@*u0y0^Zsewp8 zGHG-gpVQ1eP2V$2Jj1p#{5^xoSrX22;4B$3&wHM?=h<|D;}>{(0gH=7Uu5@10xywr ziQShdlZ90lx3lPy&6I4`Ws{Z7gKR!$V{)1Cm$`Qt%PY8FA9X?hlB0z^Vrvd_d2Kgg<2JLp&cd;4#-8^WZTSIr!!fl*6zb_UB;zgmO=*D3?^8 z;`fx?&lvfPvCnC1O!b<-r1(qhU((|x{a>>FB~@PG{)%o!if*&lOnA+z*X(~y+c%7T zgZEp4-je;Ed+(|90lN>Z{Xq0b)_uhF6HhsB&Amqa^1QPAMiP!VYC&K4GbnKfmCm zL@HmD3Z{ay;;Qskf|V5ognf!lLBU^1Rcy@!W3BeNRz8Jc=&`e2G?i3M> z66pl(m(n zO1?6Jby=Z_;#*FbucRpL%L_?Lx`l8``KT1HAaqayDhiX7(v^g>idhvQT`{*58Y< zVC9zbR≦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

?; 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

_<$Y{826B64{7uW|3{pC#HB|(c!b+y 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

Z% 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

A=)BbJL$z)q5Hrv^@ouWHfyn_up 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ℑ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 OYs77%bLajc#r_A6mE$e| literal 0 HcmV?d00001 diff --git a/eprop_testing/frozen_poisson.py b/eprop_testing/frozen_poisson.py index c38bf39a..4bcbe20a 100644 --- a/eprop_testing/frozen_poisson.py +++ b/eprop_testing/frozen_poisson.py @@ -1,111 +1,13 @@ import numpy as np -def build_input_spike_train(num_repeats, cycle_time, pop_size=None): - pattern = [ - [7.0, 14.0, 26.0, 27.0, 42.0, 83.0, 93.0, 99.0, 109.0, 110.0, 144.0, 151.0, 153.0, 164.0, 175.0, 233.0, 245.0, 299.0, 303.0, 354.0, 355.0, 356.0, 432.0, 439.0, 447.0, 491.0, 553.0, 560.0, 583.0, 590.0, 645.0, 659.0, 667.0, 692.0, 693.0, 695.0, 714.0, 715.0, 728.0, 739.0, 756.0, 796.0, 822.0, 825.0, 829.0, 834.0, 862.0, 875.0, 880.0, 896.0, 909.0, 912.0, 940.0, 964.0, 1006.0], - [45.0, 63.0, 66.0, 88.0, 125.0, 142.0, 161.0, 167.0, 183.0, 188.0, 194.0, 207.0, 208.0, 235.0, 236.0, 252.0, 296.0, 346.0, 360.0, 384.0, 393.0, 396.0, 412.0, 474.0, 522.0, 543.0, 547.0, 616.0, 626.0, 657.0, 672.0, 681.0, 697.0, 706.0, 735.0, 770.0, 771.0, 774.0, 809.0, 811.0, 840.0, 847.0, 875.0, 965.0, 984.0, 989.0], - [26.0, 71.0, 79.0, 89.0, 94.0, 122.0, 123.0, 131.0, 138.0, 150.0, 156.0, 172.0, 195.0, 197.0, 220.0, 221.0, 246.0, 250.0, 251.0, 271.0, 272.0, 282.0, 310.0, 320.0, 351.0, 352.0, 355.0, 423.0, 493.0, 510.0, 523.0, 556.0, 577.0, 622.0, 657.0, 708.0, 748.0, 760.0, 766.0, 792.0, 835.0, 854.0, 890.0, 896.0, 898.0, 919.0, 934.0, 947.0, 948.0, 994.0, 1005.0, 1010.0, 1019.0, 1023.0], - [10.0, 21.0, 24.0, 27.0, 35.0, 47.0, 63.0, 64.0, 75.0, 90.0, 127.0, 129.0, 139.0, 145.0, 154.0, 221.0, 224.0, 256.0, 261.0, 262.0, 303.0, 305.0, 322.0, 327.0, 352.0, 369.0, 377.0, 397.0, 408.0, 413.0, 419.0, 437.0, 487.0, 489.0, 499.0, 522.0, 539.0, 607.0, 625.0, 626.0, 633.0, 649.0, 699.0, 701.0, 702.0, 724.0, 734.0, 758.0, 819.0, 835.0, 836.0, 897.0, 930.0, 954.0, 990.0, 1007.0, 1018.0], - [25.0, 31.0, 38.0, 66.0, 68.0, 81.0, 93.0, 111.0, 154.0, 163.0, 165.0, 184.0, 220.0, 272.0, 307.0, 316.0, 319.0, 335.0, 343.0, 392.0, 409.0, 459.0, 463.0, 483.0, 498.0, 507.0, 539.0, 543.0, 558.0, 559.0, 574.0, 579.0, 604.0, 605.0, 619.0, 622.0, 624.0, 626.0, 635.0, 640.0, 689.0, 704.0, 735.0, 740.0, 751.0, 758.0, 767.0, 782.0, 825.0, 836.0, 858.0, 868.0, 874.0, 886.0, 932.0, 952.0, 968.0, 970.0, 980.0, 989.0, 997.0], - [9.0, 18.0, 39.0, 43.0, 61.0, 76.0, 85.0, 121.0, 129.0, 164.0, 185.0, 227.0, 259.0, 283.0, 289.0, 335.0, 351.0, 384.0, 387.0, 392.0, 401.0, 402.0, 408.0, 413.0, 428.0, 435.0, 436.0, 451.0, 458.0, 461.0, 464.0, 476.0, 479.0, 489.0, 500.0, 518.0, 539.0, 551.0, 584.0, 589.0, 590.0, 602.0, 604.0, 605.0, 626.0, 632.0, 640.0, 641.0, 665.0, 707.0, 713.0, 730.0, 749.0, 784.0, 789.0, 837.0, 841.0, 863.0, 867.0, 870.0, 887.0, 935.0, 953.0, 956.0, 968.0, 970.0, 974.0, 984.0, 991.0, 1015.0, 1020.0, 1022.0], - [34.0, 35.0, 38.0, 77.0, 85.0, 90.0, 102.0, 122.0, 162.0, 178.0, 186.0, 187.0, 195.0, 196.0, 200.0, 205.0, 226.0, 278.0, 279.0, 284.0, 294.0, 316.0, 377.0, 402.0, 443.0, 450.0, 478.0, 497.0, 501.0, 509.0, 542.0, 560.0, 561.0, 562.0, 573.0, 590.0, 591.0, 597.0, 604.0, 608.0, 620.0, 631.0, 633.0, 654.0, 667.0, 719.0, 726.0, 739.0, 740.0, 758.0, 766.0, 767.0, 786.0, 792.0, 803.0, 806.0, 808.0, 811.0, 830.0, 842.0, 855.0, 856.0, 863.0, 878.0, 880.0, 889.0, 890.0, 906.0, 928.0, 958.0, 999.0, 1001.0, 1007.0, 1010.0], - [7.0, 31.0, 36.0, 59.0, 109.0, 110.0, 119.0, 121.0, 124.0, 126.0, 137.0, 185.0, 201.0, 218.0, 240.0, 261.0, 281.0, 306.0, 311.0, 342.0, 344.0, 349.0, 357.0, 365.0, 370.0, 380.0, 466.0, 468.0, 470.0, 489.0, 497.0, 572.0, 578.0, 584.0, 587.0, 612.0, 629.0, 657.0, 664.0, 698.0, 707.0, 711.0, 731.0, 735.0, 743.0, 773.0, 838.0, 839.0, 917.0, 923.0, 924.0, 992.0], - [17.0, 25.0, 28.0, 53.0, 70.0, 118.0, 125.0, 128.0, 142.0, 189.0, 190.0, 205.0, 224.0, 237.0, 292.0, 356.0, 357.0, 408.0, 416.0, 448.0, 459.0, 542.0, 615.0, 625.0, 629.0, 653.0, 669.0, 677.0, 716.0, 728.0, 751.0, 767.0, 772.0, 775.0, 857.0, 995.0, 1003.0, 1012.0], - [32.0, 34.0, 43.0, 70.0, 95.0, 130.0, 134.0, 139.0, 148.0, 150.0, 160.0, 163.0, 196.0, 257.0, 275.0, 302.0, 306.0, 322.0, 332.0, 354.0, 357.0, 364.0, 405.0, 432.0, 471.0, 472.0, 491.0, 516.0, 558.0, 563.0, 565.0, 577.0, 583.0, 584.0, 617.0, 626.0, 684.0, 725.0, 750.0, 768.0, 793.0, 794.0, 815.0, 821.0, 832.0, 869.0, 886.0, 894.0, 922.0, 938.0, 939.0, 968.0], - [30.0, 56.0, 59.0, 80.0, 109.0, 151.0, 159.0, 161.0, 164.0, 166.0, 191.0, 223.0, 309.0, 345.0, 378.0, 407.0, 434.0, 459.0, 470.0, 490.0, 585.0, 602.0, 634.0, 651.0, 713.0, 714.0, 779.0, 780.0, 807.0, 815.0, 829.0, 836.0, 857.0, 864.0, 898.0, 921.0, 926.0, 950.0, 969.0, 983.0, 989.0, 992.0], - [30.0, 31.0, 33.0, 63.0, 81.0, 100.0, 117.0, 128.0, 155.0, 157.0, 158.0, 192.0, 232.0, 283.0, 286.0, 295.0, 312.0, 319.0, 354.0, 362.0, 363.0, 369.0, 409.0, 452.0, 520.0, 578.0, 623.0, 624.0, 633.0, 656.0, 660.0, 681.0, 690.0, 693.0, 700.0, 715.0, 728.0, 744.0, 762.0, 781.0, 804.0, 815.0, 837.0, 867.0, 877.0, 944.0, 950.0, 957.0, 963.0, 970.0, 974.0], - [41.0, 48.0, 52.0, 91.0, 92.0, 152.0, 160.0, 163.0, 184.0, 185.0, 246.0, 251.0, 265.0, 268.0, 281.0, 294.0, 305.0, 312.0, 338.0, 346.0, 383.0, 407.0, 417.0, 437.0, 440.0, 448.0, 502.0, 510.0, 532.0, 541.0, 546.0, 573.0, 582.0, 607.0, 623.0, 742.0, 771.0, 785.0, 818.0, 828.0, 846.0, 896.0, 934.0, 965.0, 1005.0], - [34.0, 79.0, 111.0, 121.0, 133.0, 199.0, 207.0, 240.0, 243.0, 263.0, 295.0, 297.0, 330.0, 371.0, 378.0, 382.0, 419.0, 443.0, 469.0, 487.0, 492.0, 499.0, 509.0, 518.0, 525.0, 584.0, 598.0, 617.0, 624.0, 630.0, 634.0, 647.0, 651.0, 678.0, 691.0, 696.0, 703.0, 736.0, 772.0, 830.0, 840.0, 844.0, 858.0, 875.0, 1014.0], - [23.0, 51.0, 60.0, 131.0, 135.0, 147.0, 168.0, 171.0, 181.0, 184.0, 207.0, 210.0, 231.0, 270.0, 271.0, 285.0, 302.0, 309.0, 347.0, 356.0, 377.0, 385.0, 390.0, 396.0, 403.0, 436.0, 455.0, 468.0, 493.0, 515.0, 522.0, 533.0, 622.0, 653.0, 691.0, 692.0, 695.0, 710.0, 729.0, 736.0, 797.0, 800.0, 803.0, 815.0, 844.0, 848.0, 850.0, 859.0, 865.0, 878.0, 902.0, 924.0, 956.0, 967.0, 999.0, 1001.0, 1008.0, 1014.0], - [3.0, 38.0, 59.0, 74.0, 79.0, 81.0, 104.0, 116.0, 120.0, 129.0, 153.0, 170.0, 202.0, 217.0, 242.0, 244.0, 253.0, 254.0, 286.0, 287.0, 289.0, 350.0, 351.0, 390.0, 394.0, 403.0, 410.0, 433.0, 461.0, 464.0, 473.0, 476.0, 478.0, 491.0, 542.0, 543.0, 544.0, 586.0, 591.0, 595.0, 625.0, 627.0, 630.0, 659.0, 668.0, 676.0, 696.0, 702.0, 712.0, 733.0, 776.0, 777.0, 781.0, 782.0, 874.0, 877.0, 919.0, 990.0, 1006.0, 1007.0, 1010.0, 1016.0], - [4.0, 18.0, 40.0, 77.0, 119.0, 156.0, 160.0, 198.0, 243.0, 254.0, 269.0, 288.0, 311.0, 316.0, 347.0, 353.0, 354.0, 372.0, 373.0, 377.0, 413.0, 419.0, 466.0, 467.0, 471.0, 560.0, 566.0, 567.0, 579.0, 616.0, 644.0, 647.0, 667.0, 712.0, 713.0, 752.0, 753.0, 776.0, 783.0, 793.0, 812.0, 865.0, 881.0, 882.0, 884.0, 911.0, 912.0, 925.0, 941.0, 963.0, 978.0, 997.0, 1018.0], - [1.0, 32.0, 34.0, 60.0, 72.0, 95.0, 109.0, 116.0, 124.0, 165.0, 197.0, 205.0, 233.0, 243.0, 247.0, 258.0, 267.0, 274.0, 283.0, 302.0, 337.0, 350.0, 366.0, 368.0, 457.0, 462.0, 490.0, 492.0, 506.0, 571.0, 590.0, 603.0, 613.0, 712.0, 730.0, 736.0, 768.0, 788.0, 799.0, 803.0, 807.0, 808.0, 848.0, 854.0, 876.0, 878.0, 923.0, 958.0, 965.0], - [1.0, 78.0, 114.0, 119.0, 131.0, 155.0, 177.0, 198.0, 200.0, 202.0, 205.0, 241.0, 258.0, 272.0, 280.0, 288.0, 290.0, 291.0, 300.0, 323.0, 326.0, 328.0, 373.0, 375.0, 376.0, 380.0, 389.0, 390.0, 393.0, 403.0, 445.0, 456.0, 465.0, 476.0, 480.0, 481.0, 485.0, 507.0, 543.0, 563.0, 569.0, 597.0, 676.0, 707.0, 711.0, 734.0, 742.0, 777.0, 778.0, 783.0, 787.0, 802.0, 825.0, 830.0, 844.0, 858.0, 880.0, 932.0, 973.0, 1008.0, 1012.0, 1016.0], - [20.0, 23.0, 29.0, 47.0, 48.0, 51.0, 59.0, 143.0, 175.0, 176.0, 193.0, 197.0, 198.0, 202.0, 206.0, 224.0, 231.0, 232.0, 244.0, 283.0, 328.0, 330.0, 341.0, 345.0, 359.0, 361.0, 385.0, 422.0, 438.0, 449.0, 454.0, 465.0, 487.0, 490.0, 510.0, 528.0, 556.0, 580.0, 601.0, 602.0, 645.0, 651.0, 680.0, 693.0, 703.0, 704.0, 706.0, 716.0, 733.0, 782.0, 786.0, 821.0, 822.0, 829.0, 843.0, 855.0, 856.0, 875.0, 941.0, 951.0, 959.0, 990.0, 995.0], - [83.0, 110.0, 117.0, 128.0, 132.0, 154.0, 195.0, 214.0, 217.0, 234.0, 242.0, 252.0, 293.0, 338.0, 343.0, 352.0, 369.0, 412.0, 498.0, 499.0, 554.0, 566.0, 590.0, 603.0, 605.0, 606.0, 614.0, 669.0, 670.0, 671.0, 672.0, 677.0, 761.0, 767.0, 794.0, 832.0, 839.0, 869.0, 893.0, 913.0, 914.0, 915.0, 923.0, 936.0, 950.0, 1014.0], - [34.0, 100.0, 130.0, 138.0, 140.0, 172.0, 174.0, 282.0, 295.0, 303.0, 331.0, 349.0, 365.0, 376.0, 399.0, 408.0, 419.0, 515.0, 600.0, 615.0, 622.0, 626.0, 650.0, 672.0, 685.0, 700.0, 702.0, 742.0, 771.0, 849.0, 861.0, 882.0, 1019.0], - [10.0, 21.0, 67.0, 86.0, 151.0, 160.0, 187.0, 202.0, 225.0, 226.0, 237.0, 255.0, 260.0, 284.0, 300.0, 363.0, 393.0, 410.0, 435.0, 460.0, 463.0, 523.0, 528.0, 577.0, 586.0, 605.0, 611.0, 617.0, 625.0, 627.0, 639.0, 642.0, 651.0, 653.0, 698.0, 701.0, 724.0, 728.0, 729.0, 775.0, 785.0, 793.0, 844.0, 847.0, 865.0, 876.0, 890.0, 907.0, 931.0, 936.0, 961.0, 997.0, 1002.0, 1003.0, 1009.0, 1011.0], - [5.0, 13.0, 25.0, 56.0, 64.0, 65.0, 66.0, 85.0, 111.0, 120.0, 134.0, 152.0, 153.0, 168.0, 170.0, 172.0, 185.0, 199.0, 207.0, 222.0, 233.0, 234.0, 242.0, 255.0, 262.0, 309.0, 333.0, 352.0, 394.0, 395.0, 403.0, 417.0, 429.0, 452.0, 462.0, 463.0, 476.0, 482.0, 501.0, 529.0, 533.0, 534.0, 544.0, 589.0, 595.0, 599.0, 636.0, 652.0, 690.0, 692.0, 743.0, 773.0, 777.0, 840.0, 844.0, 845.0, 872.0, 878.0, 900.0, 982.0, 984.0, 997.0], - [18.0, 100.0, 113.0, 157.0, 160.0, 161.0, 166.0, 168.0, 177.0, 231.0, 234.0, 235.0, 260.0, 302.0, 363.0, 373.0, 377.0, 414.0, 422.0, 445.0, 446.0, 491.0, 508.0, 520.0, 523.0, 547.0, 553.0, 561.0, 599.0, 603.0, 665.0, 714.0, 724.0, 739.0, 741.0, 758.0, 785.0, 860.0, 874.0, 911.0, 963.0, 974.0, 979.0, 980.0, 983.0, 990.0], - [18.0, 37.0, 46.0, 88.0, 121.0, 134.0, 166.0, 198.0, 202.0, 206.0, 210.0, 220.0, 229.0, 249.0, 269.0, 301.0, 364.0, 467.0, 474.0, 482.0, 509.0, 546.0, 579.0, 603.0, 632.0, 641.0, 656.0, 750.0, 763.0, 767.0, 791.0, 828.0, 838.0, 861.0, 890.0, 895.0, 929.0, 955.0, 991.0], - [14.0, 27.0, 48.0, 65.0, 71.0, 72.0, 75.0, 78.0, 99.0, 152.0, 163.0, 183.0, 317.0, 326.0, 336.0, 379.0, 421.0, 460.0, 532.0, 533.0, 547.0, 575.0, 661.0, 680.0, 709.0, 722.0, 744.0, 805.0, 814.0, 816.0, 820.0, 826.0, 827.0, 828.0, 849.0, 853.0, 862.0, 939.0, 943.0, 944.0, 960.0], - [10.0, 27.0, 30.0, 31.0, 32.0, 89.0, 105.0, 110.0, 112.0, 130.0, 155.0, 161.0, 174.0, 221.0, 286.0, 302.0, 326.0, 360.0, 370.0, 378.0, 385.0, 387.0, 394.0, 411.0, 412.0, 423.0, 435.0, 440.0, 460.0, 472.0, 537.0, 538.0, 539.0, 541.0, 548.0, 556.0, 602.0, 619.0, 691.0, 698.0, 737.0, 744.0, 801.0, 814.0, 825.0, 836.0, 838.0, 843.0, 894.0, 909.0, 916.0, 925.0, 929.0, 946.0, 952.0, 953.0, 959.0, 984.0], - [1.0, 9.0, 31.0, 42.0, 65.0, 91.0, 109.0, 171.0, 196.0, 198.0, 203.0, 277.0, 295.0, 313.0, 340.0, 381.0, 397.0, 408.0, 425.0, 469.0, 488.0, 490.0, 505.0, 506.0, 525.0, 559.0, 597.0, 660.0, 705.0, 715.0, 718.0, 764.0, 799.0, 820.0, 893.0, 904.0, 914.0, 978.0, 981.0], - [50.0, 64.0, 90.0, 152.0, 160.0, 164.0, 180.0, 205.0, 231.0, 272.0, 284.0, 339.0, 350.0, 351.0, 374.0, 458.0, 483.0, 488.0, 592.0, 605.0, 612.0, 627.0, 639.0, 651.0, 667.0, 687.0, 711.0, 776.0, 781.0, 817.0, 820.0, 839.0, 876.0, 886.0, 888.0, 898.0, 899.0, 912.0, 921.0, 939.0, 944.0, 981.0], - [24.0, 27.0, 37.0, 42.0, 107.0, 112.0, 125.0, 136.0, 158.0, 176.0, 178.0, 185.0, 275.0, 277.0, 278.0, 350.0, 364.0, 375.0, 393.0, 395.0, 421.0, 430.0, 462.0, 504.0, 505.0, 520.0, 541.0, 555.0, 573.0, 579.0, 589.0, 602.0, 661.0, 672.0, 709.0, 729.0, 744.0, 760.0, 770.0, 778.0, 800.0, 831.0, 832.0, 885.0, 899.0, 951.0, 964.0, 971.0, 974.0, 992.0], - [34.0, 60.0, 84.0, 86.0, 94.0, 109.0, 110.0, 142.0, 154.0, 180.0, 185.0, 198.0, 249.0, 250.0, 268.0, 271.0, 286.0, 299.0, 319.0, 357.0, 395.0, 418.0, 423.0, 424.0, 432.0, 433.0, 447.0, 538.0, 542.0, 554.0, 556.0, 568.0, 584.0, 615.0, 642.0, 684.0, 692.0, 715.0, 721.0, 728.0, 737.0, 747.0, 750.0, 753.0, 758.0, 768.0, 774.0, 808.0, 831.0, 906.0, 937.0, 960.0, 967.0, 986.0, 1014.0], - [59.0, 84.0, 86.0, 91.0, 93.0, 101.0, 125.0, 127.0, 130.0, 161.0, 164.0, 165.0, 166.0, 171.0, 174.0, 197.0, 199.0, 254.0, 258.0, 303.0, 306.0, 309.0, 322.0, 342.0, 353.0, 364.0, 366.0, 367.0, 387.0, 448.0, 471.0, 490.0, 502.0, 513.0, 531.0, 575.0, 597.0, 615.0, 635.0, 650.0, 651.0, 684.0, 694.0, 702.0, 742.0, 782.0, 797.0, 818.0, 839.0, 859.0, 884.0, 903.0, 909.0, 924.0, 927.0, 944.0, 945.0, 973.0, 978.0, 984.0, 998.0], - [31.0, 53.0, 77.0, 85.0, 97.0, 153.0, 158.0, 159.0, 182.0, 204.0, 261.0, 293.0, 318.0, 398.0, 404.0, 424.0, 446.0, 480.0, 486.0, 497.0, 500.0, 520.0, 553.0, 559.0, 562.0, 576.0, 593.0, 640.0, 652.0, 670.0, 679.0, 702.0, 719.0, 721.0, 735.0, 793.0, 833.0, 862.0, 941.0, 952.0], - [42.0, 57.0, 66.0, 80.0, 83.0, 113.0, 114.0, 115.0, 124.0, 144.0, 147.0, 163.0, 169.0, 179.0, 189.0, 203.0, 237.0, 247.0, 257.0, 317.0, 346.0, 349.0, 354.0, 374.0, 389.0, 415.0, 438.0, 446.0, 503.0, 514.0, 515.0, 554.0, 575.0, 608.0, 609.0, 657.0, 666.0, 675.0, 684.0, 703.0, 780.0, 793.0, 803.0, 834.0, 849.0, 924.0, 938.0, 943.0, 951.0, 1005.0, 1019.0], - [8.0, 10.0, 11.0, 17.0, 20.0, 21.0, 47.0, 50.0, 97.0, 110.0, 148.0, 161.0, 169.0, 174.0, 202.0, 205.0, 226.0, 320.0, 345.0, 346.0, 358.0, 364.0, 365.0, 386.0, 391.0, 424.0, 432.0, 435.0, 540.0, 542.0, 587.0, 612.0, 648.0, 707.0, 745.0, 758.0, 765.0, 774.0, 808.0, 814.0, 818.0, 906.0, 909.0, 911.0, 914.0, 919.0, 943.0, 944.0, 956.0, 972.0, 982.0, 1019.0], - [8.0, 11.0, 98.0, 99.0, 113.0, 121.0, 124.0, 164.0, 165.0, 227.0, 228.0, 238.0, 245.0, 279.0, 282.0, 289.0, 310.0, 313.0, 345.0, 369.0, 408.0, 416.0, 478.0, 505.0, 515.0, 542.0, 550.0, 551.0, 613.0, 648.0, 669.0, 678.0, 687.0, 702.0, 715.0, 726.0, 728.0, 738.0, 755.0, 759.0, 787.0, 795.0, 797.0, 830.0, 835.0, 905.0, 950.0, 983.0], - [2.0, 21.0, 27.0, 87.0, 103.0, 136.0, 149.0, 155.0, 156.0, 168.0, 239.0, 249.0, 262.0, 293.0, 304.0, 328.0, 332.0, 341.0, 409.0, 417.0, 420.0, 421.0, 427.0, 435.0, 454.0, 456.0, 462.0, 473.0, 573.0, 590.0, 608.0, 627.0, 629.0, 674.0, 690.0, 697.0, 745.0, 774.0, 791.0, 803.0, 808.0, 815.0, 870.0, 891.0, 896.0, 919.0, 931.0, 946.0, 950.0, 958.0, 977.0, 1001.0, 1003.0, 1015.0], - [1.0, 23.0, 34.0, 93.0, 96.0, 98.0, 107.0, 109.0, 183.0, 188.0, 200.0, 201.0, 218.0, 231.0, 233.0, 247.0, 297.0, 334.0, 338.0, 355.0, 361.0, 369.0, 382.0, 402.0, 415.0, 468.0, 479.0, 505.0, 546.0, 554.0, 561.0, 563.0, 594.0, 603.0, 642.0, 709.0, 710.0, 723.0, 778.0, 819.0, 825.0, 845.0, 858.0, 881.0, 887.0, 930.0, 965.0, 1009.0, 1023.0], - [12.0, 32.0, 59.0, 98.0, 110.0, 137.0, 167.0, 174.0, 175.0, 224.0, 247.0, 318.0, 326.0, 400.0, 402.0, 403.0, 413.0, 440.0, 455.0, 471.0, 499.0, 500.0, 513.0, 544.0, 552.0, 587.0, 591.0, 601.0, 616.0, 623.0, 625.0, 642.0, 660.0, 662.0, 685.0, 769.0, 778.0, 794.0, 827.0, 870.0, 878.0, 885.0, 974.0, 980.0, 1011.0, 1013.0, 1015.0], - [5.0, 52.0, 116.0, 120.0, 134.0, 159.0, 171.0, 174.0, 188.0, 190.0, 194.0, 217.0, 239.0, 254.0, 320.0, 321.0, 346.0, 361.0, 369.0, 371.0, 413.0, 421.0, 435.0, 439.0, 440.0, 441.0, 462.0, 468.0, 471.0, 473.0, 500.0, 512.0, 553.0, 554.0, 590.0, 591.0, 603.0, 621.0, 648.0, 683.0, 708.0, 742.0, 759.0, 812.0, 820.0, 844.0, 853.0, 875.0, 895.0, 905.0, 986.0, 998.0, 1010.0], - [7.0, 17.0, 26.0, 34.0, 48.0, 63.0, 70.0, 87.0, 140.0, 155.0, 156.0, 180.0, 220.0, 224.0, 272.0, 284.0, 291.0, 310.0, 335.0, 340.0, 342.0, 345.0, 353.0, 364.0, 419.0, 448.0, 460.0, 461.0, 518.0, 527.0, 531.0, 534.0, 544.0, 563.0, 584.0, 613.0, 614.0, 645.0, 655.0, 661.0, 666.0, 673.0, 689.0, 827.0, 859.0, 876.0, 888.0, 893.0, 956.0, 967.0, 968.0, 987.0, 1001.0], - [35.0, 46.0, 59.0, 61.0, 64.0, 73.0, 95.0, 110.0, 118.0, 171.0, 196.0, 214.0, 225.0, 294.0, 296.0, 298.0, 360.0, 393.0, 407.0, 411.0, 412.0, 418.0, 445.0, 484.0, 507.0, 554.0, 608.0, 619.0, 628.0, 638.0, 690.0, 744.0, 820.0, 886.0, 897.0, 925.0, 930.0, 959.0, 984.0, 991.0, 1006.0], - [36.0, 37.0, 44.0, 57.0, 59.0, 69.0, 85.0, 103.0, 142.0, 143.0, 144.0, 145.0, 401.0, 474.0, 479.0, 539.0, 543.0, 546.0, 562.0, 583.0, 632.0, 655.0, 694.0, 723.0, 759.0, 771.0, 772.0, 775.0, 796.0, 801.0, 834.0, 838.0, 902.0, 903.0, 980.0, 1022.0], - [8.0, 13.0, 38.0, 56.0, 81.0, 86.0, 104.0, 128.0, 156.0, 230.0, 236.0, 252.0, 307.0, 336.0, 348.0, 352.0, 357.0, 373.0, 374.0, 389.0, 404.0, 414.0, 428.0, 437.0, 449.0, 498.0, 503.0, 590.0, 592.0, 594.0, 652.0, 675.0, 679.0, 699.0, 701.0, 712.0, 728.0, 733.0, 789.0, 814.0, 826.0, 858.0, 861.0, 877.0, 886.0, 896.0, 912.0, 954.0, 984.0, 1002.0, 1021.0], - [43.0, 45.0, 46.0, 128.0, 147.0, 153.0, 154.0, 165.0, 231.0, 235.0, 238.0, 256.0, 318.0, 323.0, 350.0, 381.0, 384.0, 502.0, 517.0, 570.0, 575.0, 591.0, 609.0, 618.0, 622.0, 649.0, 655.0, 667.0, 672.0, 673.0, 722.0, 782.0, 794.0, 825.0, 849.0, 867.0, 868.0, 874.0, 892.0, 933.0, 935.0, 976.0, 982.0, 987.0, 1008.0, 1016.0], - [32.0, 42.0, 90.0, 109.0, 127.0, 141.0, 156.0, 163.0, 164.0, 179.0, 199.0, 215.0, 227.0, 230.0, 264.0, 296.0, 300.0, 328.0, 338.0, 363.0, 366.0, 406.0, 407.0, 408.0, 409.0, 426.0, 531.0, 546.0, 562.0, 588.0, 625.0, 654.0, 676.0, 679.0, 695.0, 709.0, 710.0, 771.0, 791.0, 801.0, 838.0, 845.0, 867.0, 869.0, 879.0, 880.0, 881.0, 932.0, 961.0, 984.0, 1017.0], - [3.0, 21.0, 35.0, 38.0, 40.0, 70.0, 75.0, 86.0, 138.0, 141.0, 167.0, 176.0, 188.0, 209.0, 220.0, 240.0, 243.0, 306.0, 329.0, 356.0, 357.0, 392.0, 406.0, 427.0, 428.0, 446.0, 449.0, 451.0, 483.0, 613.0, 629.0, 647.0, 648.0, 667.0, 712.0, 730.0, 733.0, 784.0, 906.0, 909.0, 948.0, 949.0, 969.0, 973.0, 984.0, 1018.0, 1022.0], - [21.0, 28.0, 47.0, 56.0, 107.0, 114.0, 126.0, 164.0, 178.0, 179.0, 190.0, 204.0, 227.0, 231.0, 242.0, 261.0, 303.0, 350.0, 362.0, 386.0, 425.0, 440.0, 471.0, 482.0, 509.0, 599.0, 603.0, 634.0, 646.0, 693.0, 709.0, 755.0, 799.0, 811.0, 848.0, 922.0, 923.0, 924.0, 928.0, 948.0, 975.0, 1011.0, 1018.0], - [88.0, 132.0, 161.0, 194.0, 206.0, 211.0, 247.0, 270.0, 296.0, 312.0, 331.0, 333.0, 334.0, 373.0, 429.0, 430.0, 436.0, 471.0, 494.0, 523.0, 530.0, 531.0, 536.0, 574.0, 620.0, 655.0, 676.0, 677.0, 709.0, 727.0, 738.0, 776.0, 783.0, 799.0, 805.0, 840.0, 875.0, 896.0, 910.0, 932.0, 939.0, 954.0, 1000.0], - [9.0, 26.0, 33.0, 40.0, 48.0, 65.0, 72.0, 74.0, 104.0, 105.0, 106.0, 107.0, 124.0, 134.0, 189.0, 195.0, 218.0, 228.0, 232.0, 271.0, 283.0, 341.0, 352.0, 354.0, 374.0, 393.0, 414.0, 417.0, 424.0, 435.0, 443.0, 456.0, 458.0, 524.0, 525.0, 574.0, 592.0, 605.0, 617.0, 620.0, 632.0, 641.0, 695.0, 791.0, 792.0, 811.0, 862.0, 943.0, 967.0, 975.0, 985.0, 1011.0], - [45.0, 76.0, 164.0, 258.0, 310.0, 340.0, 346.0, 349.0, 363.0, 383.0, 396.0, 424.0, 446.0, 468.0, 471.0, 516.0, 544.0, 550.0, 571.0, 595.0, 686.0, 750.0, 758.0, 775.0, 782.0, 799.0, 831.0, 832.0, 864.0, 876.0, 883.0, 896.0, 939.0, 941.0, 972.0, 976.0, 1008.0], - [43.0, 48.0, 63.0, 78.0, 86.0, 96.0, 166.0, 170.0, 175.0, 195.0, 224.0, 248.0, 263.0, 270.0, 271.0, 279.0, 292.0, 355.0, 395.0, 405.0, 406.0, 423.0, 442.0, 453.0, 454.0, 458.0, 471.0, 482.0, 484.0, 490.0, 504.0, 510.0, 563.0, 604.0, 606.0, 620.0, 644.0, 652.0, 656.0, 716.0, 727.0, 730.0, 744.0, 792.0, 797.0, 802.0, 807.0, 816.0, 837.0, 846.0, 850.0, 851.0, 856.0, 897.0, 898.0, 901.0, 929.0, 932.0, 951.0, 952.0, 974.0], - [15.0, 18.0, 28.0, 57.0, 61.0, 64.0, 65.0, 112.0, 134.0, 170.0, 179.0, 186.0, 212.0, 213.0, 275.0, 280.0, 318.0, 339.0, 369.0, 380.0, 382.0, 384.0, 415.0, 427.0, 444.0, 454.0, 455.0, 457.0, 490.0, 492.0, 499.0, 504.0, 509.0, 510.0, 516.0, 519.0, 537.0, 601.0, 603.0, 615.0, 622.0, 689.0, 692.0, 710.0, 711.0, 712.0, 727.0, 752.0, 764.0, 788.0, 789.0, 790.0, 814.0, 852.0, 860.0, 866.0, 889.0, 936.0, 948.0, 950.0, 964.0, 996.0, 1007.0], - [10.0, 33.0, 44.0, 132.0, 156.0, 166.0, 192.0, 198.0, 227.0, 231.0, 246.0, 258.0, 264.0, 276.0, 372.0, 389.0, 396.0, 434.0, 449.0, 451.0, 464.0, 490.0, 502.0, 524.0, 531.0, 567.0, 587.0, 615.0, 641.0, 651.0, 686.0, 700.0, 708.0, 786.0, 790.0, 803.0, 808.0, 850.0, 864.0, 871.0, 913.0, 934.0, 944.0, 993.0, 1012.0], - [4.0, 5.0, 13.0, 25.0, 127.0, 143.0, 152.0, 172.0, 173.0, 184.0, 188.0, 217.0, 307.0, 318.0, 327.0, 334.0, 337.0, 353.0, 373.0, 388.0, 393.0, 399.0, 422.0, 490.0, 518.0, 564.0, 668.0, 706.0, 726.0, 737.0, 751.0, 760.0, 794.0, 804.0, 806.0, 828.0, 858.0, 865.0, 883.0, 953.0, 962.0, 965.0, 969.0, 971.0, 988.0], - [3.0, 44.0, 67.0, 98.0, 141.0, 180.0, 188.0, 190.0, 233.0, 236.0, 255.0, 274.0, 322.0, 342.0, 347.0, 366.0, 597.0, 606.0, 650.0, 691.0, 695.0, 758.0, 759.0, 814.0, 815.0, 824.0, 839.0, 857.0, 859.0, 860.0, 902.0, 913.0, 915.0, 921.0, 925.0, 927.0, 947.0, 964.0], - [7.0, 22.0, 37.0, 38.0, 46.0, 88.0, 91.0, 100.0, 107.0, 108.0, 134.0, 164.0, 179.0, 183.0, 184.0, 199.0, 218.0, 236.0, 255.0, 260.0, 297.0, 301.0, 309.0, 317.0, 328.0, 333.0, 338.0, 348.0, 359.0, 410.0, 412.0, 479.0, 490.0, 516.0, 517.0, 578.0, 639.0, 644.0, 653.0, 700.0, 705.0, 707.0, 719.0, 733.0, 746.0, 756.0, 766.0, 776.0, 831.0, 857.0, 896.0, 902.0, 923.0, 955.0, 1001.0, 1004.0, 1009.0, 1012.0], - [17.0, 29.0, 71.0, 72.0, 82.0, 93.0, 94.0, 96.0, 99.0, 101.0, 123.0, 129.0, 155.0, 186.0, 188.0, 189.0, 275.0, 303.0, 313.0, 335.0, 352.0, 364.0, 365.0, 366.0, 393.0, 400.0, 408.0, 427.0, 431.0, 440.0, 441.0, 448.0, 476.0, 508.0, 537.0, 553.0, 568.0, 642.0, 668.0, 684.0, 685.0, 737.0, 755.0, 758.0, 796.0, 797.0, 829.0, 851.0, 865.0, 906.0, 950.0, 961.0, 982.0, 992.0, 995.0, 1006.0, 1016.0, 1021.0], - [24.0, 36.0, 42.0, 55.0, 93.0, 196.0, 213.0, 235.0, 237.0, 258.0, 272.0, 277.0, 363.0, 395.0, 431.0, 478.0, 523.0, 529.0, 534.0, 543.0, 557.0, 582.0, 588.0, 597.0, 607.0, 631.0, 649.0, 651.0, 656.0, 688.0, 690.0, 693.0, 700.0, 722.0, 734.0, 804.0, 819.0, 837.0, 855.0, 870.0, 899.0, 900.0, 954.0, 957.0, 979.0, 986.0, 1012.0, 1016.0], - [59.0, 112.0, 144.0, 158.0, 162.0, 207.0, 210.0, 241.0, 269.0, 275.0, 286.0, 298.0, 382.0, 400.0, 412.0, 428.0, 492.0, 590.0, 597.0, 598.0, 618.0, 627.0, 706.0, 741.0, 745.0, 797.0, 828.0, 834.0, 875.0, 897.0, 898.0, 899.0, 929.0, 965.0, 997.0, 1010.0, 1017.0, 1022.0], - [1.0, 23.0, 28.0, 37.0, 42.0, 54.0, 68.0, 76.0, 99.0, 128.0, 129.0, 163.0, 193.0, 206.0, 252.0, 256.0, 316.0, 358.0, 376.0, 499.0, 500.0, 510.0, 529.0, 548.0, 555.0, 558.0, 559.0, 563.0, 571.0, 579.0, 595.0, 618.0, 620.0, 626.0, 653.0, 692.0, 702.0, 712.0, 716.0, 827.0, 852.0, 863.0, 922.0, 943.0, 968.0, 979.0, 980.0, 981.0, 982.0, 984.0, 1000.0], - [23.0, 42.0, 61.0, 86.0, 88.0, 89.0, 99.0, 124.0, 128.0, 137.0, 144.0, 162.0, 170.0, 195.0, 196.0, 230.0, 234.0, 330.0, 348.0, 355.0, 371.0, 386.0, 401.0, 413.0, 417.0, 437.0, 590.0, 624.0, 640.0, 644.0, 648.0, 660.0, 674.0, 715.0, 737.0, 769.0, 781.0, 796.0, 819.0, 820.0, 822.0, 853.0, 854.0, 912.0, 956.0, 986.0, 997.0, 1022.0], - [8.0, 63.0, 64.0, 65.0, 82.0, 84.0, 135.0, 196.0, 230.0, 235.0, 237.0, 272.0, 304.0, 352.0, 383.0, 407.0, 425.0, 429.0, 438.0, 440.0, 448.0, 478.0, 485.0, 488.0, 522.0, 552.0, 561.0, 578.0, 595.0, 621.0, 640.0, 661.0, 670.0, 671.0, 674.0, 751.0, 771.0, 772.0, 785.0, 815.0, 900.0, 915.0, 918.0, 921.0, 960.0], - [6.0, 28.0, 29.0, 39.0, 54.0, 55.0, 74.0, 88.0, 172.0, 182.0, 185.0, 190.0, 193.0, 199.0, 205.0, 210.0, 215.0, 226.0, 228.0, 229.0, 254.0, 258.0, 266.0, 269.0, 293.0, 295.0, 300.0, 313.0, 321.0, 369.0, 379.0, 387.0, 412.0, 416.0, 419.0, 452.0, 464.0, 491.0, 496.0, 502.0, 535.0, 544.0, 588.0, 616.0, 645.0, 666.0, 702.0, 706.0, 723.0, 749.0, 835.0, 839.0, 847.0, 850.0, 873.0, 896.0, 899.0, 952.0, 953.0, 959.0, 965.0, 992.0, 998.0, 1000.0, 1004.0], - [10.0, 31.0, 68.0, 70.0, 78.0, 98.0, 125.0, 141.0, 149.0, 151.0, 264.0, 268.0, 305.0, 341.0, 346.0, 414.0, 433.0, 485.0, 511.0, 544.0, 549.0, 561.0, 622.0, 647.0, 652.0, 666.0, 688.0, 706.0, 720.0, 769.0, 775.0, 784.0, 787.0, 788.0, 796.0, 845.0, 846.0, 847.0, 889.0, 914.0, 934.0, 985.0, 992.0, 997.0], - [4.0, 5.0, 18.0, 50.0, 135.0, 138.0, 139.0, 176.0, 179.0, 185.0, 190.0, 218.0, 229.0, 235.0, 322.0, 345.0, 346.0, 370.0, 404.0, 419.0, 436.0, 484.0, 509.0, 522.0, 531.0, 534.0, 536.0, 574.0, 584.0, 587.0, 618.0, 626.0, 637.0, 642.0, 643.0, 647.0, 660.0, 682.0, 698.0, 724.0, 769.0, 777.0, 778.0, 799.0, 825.0, 826.0, 832.0, 836.0, 839.0, 869.0, 870.0, 900.0, 924.0, 953.0, 975.0, 984.0], - [5.0, 55.0, 78.0, 154.0, 157.0, 196.0, 199.0, 205.0, 249.0, 265.0, 266.0, 279.0, 286.0, 323.0, 348.0, 366.0, 375.0, 386.0, 395.0, 415.0, 419.0, 425.0, 440.0, 453.0, 532.0, 553.0, 560.0, 566.0, 585.0, 617.0, 660.0, 680.0, 690.0, 741.0, 743.0, 760.0, 774.0, 777.0, 782.0, 814.0, 829.0, 902.0, 957.0, 987.0], - [19.0, 49.0, 87.0, 133.0, 135.0, 187.0, 192.0, 225.0, 233.0, 260.0, 261.0, 293.0, 310.0, 337.0, 368.0, 371.0, 375.0, 447.0, 449.0, 470.0, 486.0, 487.0, 504.0, 509.0, 523.0, 525.0, 527.0, 639.0, 689.0, 690.0, 697.0, 746.0, 781.0, 787.0, 826.0, 844.0, 850.0, 896.0, 920.0, 950.0, 953.0, 1006.0, 1014.0, 1019.0], - [35.0, 37.0, 71.0, 89.0, 113.0, 123.0, 132.0, 135.0, 171.0, 192.0, 215.0, 237.0, 270.0, 280.0, 304.0, 319.0, 328.0, 364.0, 380.0, 423.0, 459.0, 475.0, 485.0, 493.0, 536.0, 544.0, 557.0, 706.0, 753.0, 756.0, 764.0, 788.0, 789.0, 796.0, 797.0, 863.0, 866.0, 878.0, 903.0, 938.0, 977.0], - [10.0, 26.0, 49.0, 64.0, 74.0, 104.0, 105.0, 151.0, 180.0, 209.0, 231.0, 243.0, 258.0, 278.0, 291.0, 323.0, 332.0, 415.0, 419.0, 423.0, 427.0, 487.0, 491.0, 494.0, 505.0, 520.0, 538.0, 555.0, 566.0, 580.0, 582.0, 633.0, 638.0, 650.0, 667.0, 670.0, 681.0, 696.0, 718.0, 719.0, 731.0, 752.0, 782.0, 818.0, 906.0, 923.0, 929.0, 945.0, 946.0, 951.0, 952.0, 958.0, 967.0, 968.0, 969.0, 1016.0], - [15.0, 20.0, 53.0, 62.0, 68.0, 83.0, 92.0, 108.0, 116.0, 117.0, 124.0, 164.0, 180.0, 192.0, 217.0, 245.0, 247.0, 281.0, 282.0, 288.0, 291.0, 327.0, 374.0, 389.0, 421.0, 429.0, 433.0, 480.0, 498.0, 501.0, 522.0, 537.0, 539.0, 569.0, 576.0, 628.0, 682.0, 683.0, 696.0, 752.0, 754.0, 765.0, 778.0, 798.0, 823.0, 852.0, 868.0, 875.0, 885.0, 890.0, 903.0, 937.0, 945.0, 954.0, 961.0, 983.0], - [5.0, 13.0, 49.0, 65.0, 145.0, 149.0, 150.0, 184.0, 200.0, 218.0, 223.0, 238.0, 253.0, 273.0, 278.0, 287.0, 294.0, 361.0, 417.0, 451.0, 478.0, 498.0, 557.0, 592.0, 660.0, 678.0, 688.0, 710.0, 769.0, 773.0, 803.0, 827.0, 857.0, 881.0, 897.0, 908.0, 955.0, 956.0, 974.0], - [44.0, 59.0, 67.0, 97.0, 117.0, 150.0, 165.0, 168.0, 175.0, 186.0, 215.0, 227.0, 231.0, 288.0, 294.0, 306.0, 333.0, 334.0, 341.0, 365.0, 380.0, 399.0, 427.0, 455.0, 458.0, 503.0, 524.0, 536.0, 542.0, 548.0, 549.0, 557.0, 582.0, 594.0, 606.0, 608.0, 644.0, 652.0, 660.0, 671.0, 702.0, 706.0, 722.0, 754.0, 792.0, 827.0, 832.0, 848.0, 880.0, 911.0, 923.0, 925.0, 934.0, 956.0, 960.0, 980.0, 985.0, 1016.0], - [26.0, 74.0, 75.0, 76.0, 92.0, 121.0, 122.0, 169.0, 178.0, 187.0, 197.0, 200.0, 223.0, 238.0, 303.0, 323.0, 365.0, 369.0, 406.0, 433.0, 478.0, 479.0, 491.0, 497.0, 501.0, 503.0, 531.0, 544.0, 552.0, 575.0, 619.0, 632.0, 648.0, 658.0, 664.0, 730.0, 744.0, 748.0, 757.0, 791.0, 816.0, 819.0, 831.0, 847.0, 856.0, 869.0, 873.0, 887.0, 903.0, 944.0, 964.0, 983.0, 996.0, 1023.0], - [2.0, 4.0, 7.0, 28.0, 36.0, 67.0, 84.0, 93.0, 125.0, 143.0, 156.0, 201.0, 225.0, 233.0, 271.0, 293.0, 296.0, 310.0, 314.0, 323.0, 325.0, 342.0, 398.0, 400.0, 423.0, 444.0, 456.0, 460.0, 476.0, 479.0, 492.0, 531.0, 532.0, 550.0, 569.0, 586.0, 628.0, 651.0, 658.0, 700.0, 739.0, 777.0, 800.0, 804.0, 806.0, 811.0, 885.0, 892.0, 907.0, 939.0, 957.0, 969.0, 983.0, 1000.0, 1003.0], - [23.0, 24.0, 58.0, 77.0, 96.0, 127.0, 165.0, 170.0, 206.0, 214.0, 231.0, 241.0, 253.0, 328.0, 355.0, 377.0, 382.0, 415.0, 435.0, 448.0, 483.0, 485.0, 526.0, 537.0, 554.0, 573.0, 577.0, 582.0, 601.0, 652.0, 704.0, 710.0, 717.0, 725.0, 731.0, 735.0, 750.0, 807.0, 837.0, 839.0, 846.0, 880.0, 915.0, 947.0], - [7.0, 22.0, 29.0, 68.0, 111.0, 125.0, 147.0, 149.0, 189.0, 192.0, 198.0, 212.0, 231.0, 237.0, 238.0, 269.0, 310.0, 332.0, 338.0, 354.0, 383.0, 405.0, 407.0, 413.0, 419.0, 424.0, 428.0, 435.0, 437.0, 441.0, 444.0, 453.0, 471.0, 489.0, 514.0, 561.0, 580.0, 583.0, 620.0, 627.0, 659.0, 670.0, 671.0, 673.0, 685.0, 700.0, 716.0, 725.0, 737.0, 749.0, 762.0, 773.0, 782.0, 819.0, 860.0, 863.0, 887.0, 905.0, 912.0, 924.0, 934.0, 953.0, 960.0, 1003.0, 1014.0], - [3.0, 31.0, 52.0, 58.0, 59.0, 96.0, 105.0, 118.0, 122.0, 126.0, 133.0, 135.0, 140.0, 144.0, 147.0, 175.0, 199.0, 215.0, 242.0, 258.0, 304.0, 322.0, 364.0, 380.0, 384.0, 385.0, 389.0, 390.0, 399.0, 421.0, 442.0, 451.0, 479.0, 498.0, 501.0, 512.0, 528.0, 547.0, 581.0, 586.0, 590.0, 652.0, 653.0, 654.0, 668.0, 685.0, 689.0, 705.0, 726.0, 762.0, 803.0, 808.0, 809.0, 835.0, 842.0, 874.0, 910.0, 914.0, 968.0, 978.0, 993.0, 1007.0, 1008.0, 1016.0, 1022.0], - [2.0, 8.0, 16.0, 21.0, 26.0, 47.0, 52.0, 89.0, 126.0, 135.0, 143.0, 147.0, 172.0, 195.0, 227.0, 235.0, 242.0, 251.0, 337.0, 344.0, 350.0, 358.0, 371.0, 375.0, 383.0, 387.0, 411.0, 421.0, 440.0, 441.0, 470.0, 475.0, 549.0, 552.0, 554.0, 555.0, 573.0, 574.0, 587.0, 603.0, 633.0, 667.0, 713.0, 726.0, 735.0, 741.0, 755.0, 756.0, 766.0, 789.0, 802.0, 803.0, 818.0, 821.0, 824.0, 845.0, 855.0, 895.0, 919.0, 926.0, 927.0, 930.0, 940.0], - [35.0, 38.0, 53.0, 58.0, 65.0, 90.0, 103.0, 174.0, 176.0, 239.0, 245.0, 269.0, 290.0, 366.0, 375.0, 396.0, 428.0, 453.0, 472.0, 490.0, 519.0, 586.0, 618.0, 687.0, 701.0, 726.0, 728.0, 747.0, 764.0, 767.0, 794.0, 851.0, 986.0], - [27.0, 41.0, 49.0, 50.0, 54.0, 108.0, 122.0, 152.0, 154.0, 158.0, 182.0, 221.0, 250.0, 256.0, 275.0, 288.0, 305.0, 328.0, 370.0, 379.0, 419.0, 423.0, 470.0, 492.0, 523.0, 524.0, 540.0, 542.0, 612.0, 642.0, 663.0, 675.0, 699.0, 701.0, 759.0, 770.0, 777.0, 785.0, 799.0, 804.0, 867.0, 879.0, 890.0, 895.0, 930.0, 937.0, 946.0, 967.0, 968.0, 975.0, 976.0, 1008.0, 1022.0], - [52.0, 55.0, 58.0, 90.0, 129.0, 136.0, 172.0, 192.0, 234.0, 235.0, 241.0, 244.0, 247.0, 308.0, 371.0, 413.0, 414.0, 473.0, 484.0, 497.0, 507.0, 519.0, 622.0, 648.0, 659.0, 687.0, 696.0, 746.0, 781.0, 801.0, 914.0, 931.0, 966.0, 971.0, 999.0], - [9.0, 24.0, 47.0, 50.0, 79.0, 106.0, 121.0, 132.0, 150.0, 154.0, 173.0, 183.0, 200.0, 217.0, 233.0, 276.0, 283.0, 320.0, 356.0, 357.0, 362.0, 385.0, 396.0, 405.0, 407.0, 445.0, 488.0, 540.0, 542.0, 550.0, 554.0, 579.0, 603.0, 608.0, 624.0, 636.0, 684.0, 776.0, 779.0, 792.0, 817.0, 820.0, 834.0, 846.0, 847.0, 860.0, 914.0, 918.0, 922.0, 925.0, 950.0, 958.0, 976.0, 995.0, 1022.0], - [47.0, 49.0, 54.0, 60.0, 66.0, 98.0, 150.0, 152.0, 153.0, 203.0, 220.0, 233.0, 261.0, 286.0, 300.0, 308.0, 419.0, 468.0, 490.0, 541.0, 555.0, 559.0, 561.0, 607.0, 655.0, 666.0, 672.0, 687.0, 690.0, 738.0, 761.0, 781.0, 798.0, 808.0, 819.0, 838.0, 839.0, 870.0, 871.0, 901.0, 915.0, 946.0, 984.0, 986.0, 991.0, 1000.0, 1017.0], - [38.0, 59.0, 213.0, 242.0, 246.0, 263.0, 277.0, 280.0, 282.0, 298.0, 313.0, 353.0, 362.0, 363.0, 377.0, 386.0, 415.0, 416.0, 466.0, 540.0, 588.0, 609.0, 653.0, 662.0, 666.0, 668.0, 678.0, 679.0, 709.0, 721.0, 738.0, 755.0, 776.0, 792.0, 796.0, 804.0, 818.0, 836.0, 886.0, 915.0, 919.0, 994.0, 1015.0], - [8.0, 17.0, 65.0, 75.0, 87.0, 104.0, 109.0, 166.0, 178.0, 209.0, 252.0, 255.0, 258.0, 261.0, 279.0, 304.0, 331.0, 382.0, 417.0, 421.0, 462.0, 479.0, 491.0, 538.0, 543.0, 544.0, 553.0, 559.0, 566.0, 604.0, 605.0, 662.0, 663.0, 670.0, 708.0, 729.0, 732.0, 738.0, 804.0, 809.0, 833.0, 838.0, 882.0, 898.0, 902.0, 913.0, 921.0, 936.0, 966.0, 984.0, 989.0, 990.0, 1002.0, 1012.0], - [22.0, 36.0, 52.0, 76.0, 77.0, 105.0, 114.0, 117.0, 118.0, 137.0, 160.0, 171.0, 175.0, 197.0, 202.0, 248.0, 284.0, 365.0, 392.0, 409.0, 453.0, 489.0, 493.0, 508.0, 551.0, 564.0, 571.0, 602.0, 615.0, 646.0, 647.0, 678.0, 686.0, 690.0, 696.0, 697.0, 739.0, 756.0, 781.0, 792.0, 793.0, 813.0, 896.0, 918.0, 931.0, 961.0, 962.0, 972.0, 981.0, 992.0, 1010.0], - [47.0, 100.0, 101.0, 130.0, 188.0, 200.0, 206.0, 229.0, 243.0, 255.0, 276.0, 296.0, 318.0, 326.0, 347.0, 433.0, 450.0, 453.0, 471.0, 475.0, 476.0, 483.0, 493.0, 494.0, 510.0, 533.0, 537.0, 562.0, 585.0, 617.0, 631.0, 657.0, 678.0, 709.0, 712.0, 745.0, 747.0, 755.0, 766.0, 771.0, 785.0, 792.0, 797.0, 815.0, 851.0, 886.0, 899.0, 999.0], - [3.0, 4.0, 15.0, 24.0, 50.0, 72.0, 98.0, 105.0, 108.0, 134.0, 157.0, 161.0, 194.0, 235.0, 295.0, 308.0, 316.0, 329.0, 393.0, 394.0, 452.0, 455.0, 515.0, 517.0, 536.0, 576.0, 584.0, 621.0, 627.0, 631.0, 676.0, 710.0, 719.0, 726.0, 727.0, 752.0, 788.0, 810.0, 826.0, 838.0, 839.0, 861.0, 862.0, 879.0, 886.0, 916.0, 980.0, 1020.0], - [31.0, 36.0, 46.0, 68.0, 72.0, 118.0, 123.0, 125.0, 160.0, 222.0, 223.0, 270.0, 293.0, 332.0, 348.0, 373.0, 380.0, 411.0, 413.0, 434.0, 469.0, 498.0, 507.0, 521.0, 566.0, 571.0, 601.0, 611.0, 619.0, 647.0, 696.0, 705.0, 711.0, 755.0, 760.0, 772.0, 774.0, 788.0, 796.0, 820.0, 849.0, 862.0, 866.0, 878.0, 898.0, 973.0, 1023.0], - [15.0, 24.0, 34.0, 41.0, 42.0, 63.0, 67.0, 100.0, 127.0, 182.0, 200.0, 237.0, 247.0, 249.0, 290.0, 323.0, 333.0, 342.0, 368.0, 387.0, 412.0, 424.0, 427.0, 440.0, 442.0, 487.0, 533.0, 548.0, 590.0, 607.0, 639.0, 651.0, 659.0, 714.0, 716.0, 738.0, 756.0, 782.0, 794.0, 802.0, 810.0, 820.0, 824.0, 854.0, 874.0, 876.0, 877.0, 912.0, 932.0, 945.0, 976.0, 987.0, 1005.0, 1022.0], - [14.0, 17.0, 71.0, 78.0, 100.0, 118.0, 132.0, 143.0, 162.0, 170.0, 176.0, 177.0, 195.0, 201.0, 219.0, 256.0, 261.0, 264.0, 279.0, 281.0, 288.0, 357.0, 406.0, 409.0, 412.0, 442.0, 445.0, 471.0, 488.0, 516.0, 529.0, 550.0, 557.0, 559.0, 563.0, 580.0, 591.0, 599.0, 675.0, 691.0, 736.0, 738.0, 749.0, 764.0, 765.0, 776.0, 780.0, 785.0, 806.0, 823.0, 825.0, 830.0, 837.0, 843.0, 864.0, 878.0, 921.0, 930.0, 932.0, 934.0, 937.0, 959.0], - [13.0, 19.0, 35.0, 85.0, 122.0, 128.0, 135.0, 136.0, 161.0, 165.0, 166.0, 203.0, 223.0, 236.0, 241.0, 242.0, 339.0, 353.0, 370.0, 381.0, 387.0, 390.0, 400.0, 407.0, 415.0, 421.0, 454.0, 464.0, 470.0, 471.0, 496.0, 504.0, 511.0, 520.0, 560.0, 565.0, 567.0, 601.0, 635.0, 655.0, 668.0, 705.0, 768.0, 787.0, 799.0, 806.0, 814.0, 835.0, 836.0, 857.0, 862.0, 872.0, 884.0, 888.0, 951.0, 984.0, 1021.0], - [24.0, 53.0, 54.0, 79.0, 89.0, 121.0, 134.0, 155.0, 164.0, 166.0, 205.0, 221.0, 222.0, 231.0, 291.0, 302.0, 334.0, 352.0, 369.0, 387.0, 437.0, 447.0, 451.0, 594.0, 609.0, 646.0, 652.0, 662.0, 681.0, 710.0, 787.0, 829.0, 848.0, 899.0, 912.0, 926.0, 997.0, 1006.0, 1022.0], - [14.0, 20.0, 29.0, 47.0, 52.0, 69.0, 75.0, 117.0, 120.0, 127.0, 146.0, 153.0, 175.0, 181.0, 237.0, 272.0, 287.0, 301.0, 316.0, 343.0, 347.0, 349.0, 395.0, 414.0, 425.0, 487.0, 526.0, 528.0, 538.0, 546.0, 548.0, 558.0, 581.0, 593.0, 630.0, 632.0, 636.0, 642.0, 651.0, 719.0, 726.0, 836.0, 968.0, 998.0, 1006.0], - [6.0, 23.0, 55.0, 90.0, 111.0, 117.0, 118.0, 123.0, 130.0, 131.0, 160.0, 187.0, 196.0, 214.0, 247.0, 253.0, 272.0, 288.0, 292.0, 302.0, 303.0, 307.0, 310.0, 323.0, 334.0, 364.0, 382.0, 384.0, 406.0, 432.0, 433.0, 439.0, 471.0, 524.0, 530.0, 562.0, 683.0, 689.0, 755.0, 769.0, 807.0, 809.0, 813.0, 834.0, 837.0, 880.0, 900.0, 927.0, 930.0, 939.0, 940.0, 970.0, 993.0], - [41.0, 54.0, 82.0, 83.0, 99.0, 139.0, 143.0, 146.0, 150.0, 161.0, 194.0, 227.0, 287.0, 312.0, 313.0, 320.0, 324.0, 340.0, 376.0, 384.0, 393.0, 430.0, 434.0, 476.0, 512.0, 514.0, 536.0, 584.0, 599.0, 600.0, 606.0, 624.0, 708.0, 714.0, 758.0, 785.0, 824.0, 838.0, 849.0, 873.0, 877.0, 881.0, 966.0, 973.0, 997.0, 1016.0], - [14.0, 24.0, 30.0, 36.0, 50.0, 73.0, 78.0, 87.0, 89.0, 107.0, 113.0, 155.0, 165.0, 171.0, 189.0, 190.0, 193.0, 209.0, 218.0, 238.0, 244.0, 288.0, 291.0, 311.0, 318.0, 319.0, 320.0, 325.0, 338.0, 351.0, 353.0, 407.0, 429.0, 475.0, 523.0, 526.0, 530.0, 546.0, 597.0, 599.0, 600.0, 604.0, 628.0, 632.0, 656.0, 658.0, 674.0, 713.0, 726.0, 746.0, 755.0, 756.0, 833.0, 847.0, 848.0, 856.0, 896.0, 911.0, 971.0, 1005.0, 1006.0, 1009.0, 1010.0, 1012.0], - [12.0, 50.0, 121.0, 128.0, 135.0, 161.0, 191.0, 192.0, 207.0, 208.0, 231.0, 266.0, 268.0, 270.0, 298.0, 394.0, 413.0, 483.0, 487.0, 518.0, 523.0, 567.0, 601.0, 606.0, 610.0, 659.0, 660.0, 680.0, 755.0, 791.0, 797.0, 802.0, 816.0, 827.0, 945.0, 974.0, 987.0, 1023.0] - ] +def build_input_spike_train(num_repeats, cycle_time, pop_size, use_old=False): + if use_old: + pattern = pattern_50 + else: + pattern = np.load('1000 neurons - 10Hz - 100*1024s.npy').tolist() - if not pop_size: - pop_size = len(pattern) + # if not pop_size: + # pop_size = len(pattern) spikes = [] l=[] @@ -126,8 +28,147 @@ def build_input_spike_train(num_repeats, cycle_time, pop_size=None): return cycled_spikes -def frozen_poisson_variable_hz(num_repeats, cycle_time, split, speed_up, pop_size=None): - pattern = [ +def frozen_poisson_variable_hz(num_repeats, cycle_time, split, speed_up, pop_size, use_old=False): + if use_old: + pattern = pattern_50 + else: + pattern = np.load('1000 neurons - 10Hz - 100*1024s.npy').tolist() + + if split > pop_size: + print "Cannot split population into sizes smaller than 1 i.e. split > population size" + raise Exception + + spikes = [] + l=[] + for i in range(pop_size): + l = [] + for j in range(len(pattern[i])): + if pattern[i][j] < cycle_time * speed_up: + l.append(float(pattern[i][j]) / speed_up) + else: + break + spikes.append(l) + + speed_up_offset = cycle_time / split + split_spikes = [[] for i in range(pop_size)] + for neuron in range(len(spikes)): + for spike in range(len(spikes[neuron])): + split_spikes[neuron].append((spikes[neuron][spike] / split) + (speed_up_offset * int(neuron / (pop_size / split)))) + + cycled_spikes = [[] for i in range(pop_size)] + for r in range(0, num_repeats): + for p in range(pop_size): + new_iter = [i + r * cycle_time for i in split_spikes[p]] + cycled_spikes[p].extend(new_iter) + + + return cycled_spikes + +pattern_10 = [ + [158.0, 183.0, 184.0, 238.0, 315.0, 348.0, 388.0, 395.0, 403.0, 707.0, 925.0], + [101.0, 304.0, 337.0, 398.0, 402.0, 740.0, 982.0, 984.0], + [213.0, 662.0, 810.0, 904.0, 912.0, 1017.0, 1019.0], + [12.0, 139.0, 236.0, 285.0, 398.0, 407.0, 578.0, 796.0, 888.0, 899.0, 902.0], + [34.0, 37.0, 43.0, 79.0, 86.0, 116.0, 190.0, 235.0, 328.0, 346.0, 380.0, 464.0, 554.0, 595.0, 740.0, 852.0, 874.0, 929.0, 979.0, 995.0, 1009.0], + [88.0, 108.0, 121.0, 196.0, 412.0, 445.0, 746.0, 778.0, 845.0, 1005.0], + [96.0, 166.0, 351.0, 963.0, 980.0], + [3.0, 114.0, 330.0, 424.0, 540.0, 594.0, 704.0, 710.0, 796.0, 832.0, 858.0, 905.0, 906.0], + [204.0, 244.0, 442.0, 446.0, 626.0, 816.0, 838.0, 1012.0], + [89.0, 529.0, 580.0, 626.0, 658.0, 681.0, 729.0, 924.0, 993.0], + [487.0, 505.0, 705.0, 731.0, 799.0, 813.0, 1013.0], + [317.0, 328.0, 674.0, 725.0, 730.0, 750.0, 779.0], + [34.0, 40.0, 226.0, 312.0, 516.0, 743.0, 784.0, 829.0, 864.0, 898.0], + [89.0, 97.0, 174.0, 218.0, 395.0, 465.0, 543.0, 611.0, 677.0, 762.0, 843.0], + [49.0, 64.0, 142.0, 157.0, 169.0, 252.0, 379.0, 527.0, 544.0, 548.0, 576.0, 841.0, 935.0, 989.0], + [11.0, 68.0, 291.0, 368.0, 507.0, 585.0, 604.0, 626.0, 643.0, 662.0, 781.0, 891.0, 902.0, 948.0, 1014.0, 1020.0], + [4.0, 58.0, 227.0, 382.0, 404.0, 532.0, 586.0, 662.0, 728.0, 895.0, 953.0, 1002.0], + [195.0, 215.0, 542.0, 600.0, 720.0, 740.0, 786.0, 791.0, 904.0, 935.0, 1015.0], + [165.0, 200.0, 202.0, 289.0, 312.0, 338.0, 453.0, 459.0, 483.0, 638.0, 653.0, 748.0, 776.0, 856.0, 970.0], + [13.0, 22.0, 38.0, 112.0, 154.0, 378.0, 439.0, 566.0, 609.0, 675.0, 814.0, 870.0, 924.0, 944.0, 952.0], + [166.0, 300.0, 324.0, 329.0, 388.0, 444.0, 502.0], + [10.0, 131.0, 326.0, 351.0, 408.0, 412.0, 446.0, 556.0, 562.0, 625.0, 773.0, 839.0, 900.0, 916.0, 927.0, 944.0, 945.0, 991.0], + [30.0, 533.0, 561.0, 718.0, 738.0, 819.0, 930.0, 946.0], + [106.0, 178.0, 199.0, 308.0, 324.0, 382.0, 426.0, 436.0, 497.0, 509.0, 755.0, 868.0, 893.0, 900.0], + [33.0, 55.0, 95.0, 363.0, 371.0, 402.0, 403.0, 408.0, 627.0, 764.0, 890.0], + [6.0, 141.0, 411.0, 414.0, 426.0, 521.0, 550.0, 765.0, 767.0, 840.0, 947.0, 1008.0, 1012.0, 1016.0], + [387.0, 501.0, 776.0, 820.0, 853.0, 934.0, 940.0], + [31.0, 39.0, 80.0, 133.0, 197.0, 282.0, 322.0, 500.0, 505.0, 557.0, 571.0, 637.0, 713.0, 728.0, 743.0, 767.0], + [70.0, 84.0, 277.0, 289.0, 369.0, 575.0, 579.0, 665.0, 889.0], + [95.0, 139.0, 234.0, 338.0, 365.0, 366.0, 472.0, 486.0, 499.0, 662.0, 918.0, 1003.0], + [32.0, 185.0, 226.0, 311.0, 580.0, 725.0, 830.0, 1018.0], + [313.0, 418.0, 450.0, 499.0, 790.0, 1021.0], + [52.0, 66.0, 275.0, 306.0, 309.0, 474.0, 593.0, 668.0, 673.0, 741.0, 874.0, 1019.0], + [69.0, 192.0, 285.0, 315.0, 379.0, 406.0, 545.0, 574.0, 579.0, 693.0, 815.0, 945.0], + [12.0, 37.0, 165.0, 418.0, 646.0, 697.0, 799.0, 881.0, 963.0], + [40.0, 102.0, 231.0, 375.0, 510.0, 631.0, 677.0, 702.0, 768.0, 860.0, 889.0], + [38.0, 217.0, 260.0, 272.0, 338.0, 371.0, 457.0, 476.0, 576.0, 609.0, 787.0, 813.0, 880.0, 949.0, 951.0], + [78.0, 243.0, 244.0, 247.0, 355.0, 357.0, 841.0, 915.0, 963.0], + [310.0, 374.0, 397.0, 654.0, 699.0, 715.0, 863.0, 868.0, 980.0], + [16.0, 80.0, 173.0, 194.0, 206.0, 212.0, 314.0, 374.0, 418.0, 476.0, 576.0, 591.0, 712.0, 787.0, 894.0], + [52.0, 91.0, 214.0, 302.0, 311.0, 364.0, 431.0, 468.0, 791.0, 932.0], + [38.0, 76.0, 118.0, 132.0, 187.0, 214.0, 283.0, 357.0, 503.0, 810.0, 852.0, 941.0, 994.0, 995.0, 997.0], + [5.0, 142.0, 389.0, 473.0, 562.0, 571.0, 620.0, 679.0, 741.0, 923.0], + [43.0, 58.0, 177.0, 372.0, 376.0, 415.0, 466.0, 628.0, 664.0, 790.0, 831.0, 948.0, 984.0], + [55.0, 156.0, 197.0, 373.0, 375.0, 487.0, 545.0, 661.0, 662.0, 821.0], + [97.0, 182.0, 428.0, 610.0, 812.0, 971.0], + [80.0, 85.0, 86.0, 206.0, 210.0, 214.0, 473.0, 524.0, 538.0, 599.0, 687.0, 819.0, 938.0], + [135.0, 213.0, 257.0, 273.0, 361.0, 429.0, 459.0, 643.0, 727.0, 954.0, 995.0], + [91.0, 408.0, 550.0, 563.0, 908.0], + [88.0, 134.0, 186.0, 347.0, 418.0, 442.0, 578.0, 592.0, 692.0, 711.0, 905.0, 910.0, 987.0], + [9.0, 145.0, 259.0, 306.0, 308.0, 348.0, 407.0, 454.0, 534.0, 601.0, 695.0, 759.0, 805.0, 811.0, 823.0, 848.0], + [233.0, 310.0, 450.0, 645.0, 654.0, 728.0, 747.0, 883.0, 982.0, 983.0], + [256.0, 320.0, 569.0, 753.0, 849.0, 905.0, 943.0], + [24.0, 285.0, 346.0, 440.0, 575.0, 627.0, 786.0, 951.0, 973.0], + [65.0, 184.0, 444.0], + [10.0, 53.0, 70.0, 197.0, 235.0, 261.0, 330.0, 460.0, 506.0, 675.0, 681.0, 748.0, 800.0, 846.0, 854.0, 898.0, 975.0, 976.0], + [214.0, 258.0, 654.0, 815.0, 883.0, 1008.0], + [15.0, 53.0, 142.0, 194.0, 225.0, 275.0, 287.0, 716.0, 909.0, 976.0, 987.0], + [112.0, 436.0, 458.0, 556.0, 610.0, 662.0, 690.0, 778.0, 793.0, 823.0, 974.0], + [100.0, 102.0, 239.0, 389.0, 440.0, 627.0, 777.0, 882.0, 908.0, 1000.0], + [2.0, 30.0, 422.0, 445.0, 660.0, 706.0, 806.0, 895.0, 1015.0], + [34.0, 182.0, 310.0, 503.0, 507.0, 539.0, 571.0, 580.0, 704.0, 889.0, 965.0], + [26.0, 93.0, 185.0, 276.0, 294.0, 415.0, 786.0, 874.0, 877.0], + [119.0, 130.0, 183.0, 271.0, 297.0, 380.0, 384.0, 452.0, 712.0, 836.0, 866.0, 984.0, 987.0, 1016.0], + [65.0, 133.0, 252.0, 292.0, 315.0, 433.0, 642.0, 714.0, 737.0, 738.0, 769.0, 860.0], + [36.0, 114.0, 248.0, 376.0, 393.0, 686.0, 755.0, 853.0, 981.0], + [30.0, 33.0, 130.0, 304.0, 316.0, 364.0, 479.0, 690.0, 714.0, 747.0, 928.0, 1015.0], + [72.0, 111.0, 275.0, 374.0, 391.0, 446.0, 450.0, 457.0, 656.0, 943.0], + [29.0, 142.0, 201.0, 247.0, 366.0, 399.0, 488.0, 659.0, 716.0, 720.0, 922.0, 1013.0], + [70.0, 103.0, 145.0, 197.0, 224.0, 236.0, 508.0, 637.0, 696.0, 746.0, 766.0, 869.0, 966.0], + [15.0, 40.0, 107.0, 119.0, 169.0, 174.0, 403.0, 456.0, 571.0, 627.0, 666.0, 818.0, 916.0], + [85.0, 112.0, 141.0, 307.0, 324.0, 333.0, 334.0, 570.0, 845.0, 942.0], + [241.0, 271.0, 285.0, 717.0, 747.0, 757.0, 838.0, 1003.0], + [61.0, 83.0, 92.0, 120.0, 174.0, 255.0, 259.0, 349.0, 429.0, 457.0, 465.0, 477.0, 530.0, 665.0, 683.0, 846.0, 861.0, 900.0], + [82.0, 124.0, 534.0, 675.0, 897.0, 1015.0], + [189.0, 428.0, 431.0, 579.0, 660.0, 671.0, 701.0, 726.0, 763.0, 870.0, 875.0, 961.0, 965.0, 1006.0], + [75.0, 135.0, 236.0, 329.0, 356.0, 511.0, 596.0, 597.0, 663.0, 668.0, 671.0, 714.0, 786.0, 797.0], + [152.0, 383.0, 582.0, 680.0, 848.0, 886.0, 898.0, 899.0], + [12.0, 39.0, 318.0, 518.0, 583.0, 603.0, 614.0, 624.0, 680.0, 708.0, 738.0, 750.0, 766.0, 769.0, 852.0, 927.0], + [113.0, 125.0, 296.0, 355.0, 416.0, 482.0, 683.0, 774.0, 960.0, 1022.0], + [178.0, 210.0, 283.0, 318.0, 320.0, 329.0, 406.0, 419.0, 574.0, 606.0, 700.0, 841.0, 853.0, 866.0, 871.0, 957.0, 1017.0], + [70.0, 249.0, 284.0, 304.0, 322.0, 371.0, 451.0, 605.0, 650.0, 658.0, 691.0, 778.0, 821.0, 932.0, 936.0, 942.0, 943.0], + [8.0, 133.0, 257.0, 310.0, 398.0, 477.0, 630.0, 670.0, 722.0, 831.0, 916.0], + [64.0, 271.0, 302.0, 341.0, 375.0, 400.0, 522.0, 624.0, 660.0], + [28.0, 87.0, 209.0, 331.0, 414.0, 436.0, 454.0, 584.0, 628.0, 631.0, 667.0, 689.0, 935.0, 1007.0, 1014.0], + [13.0, 33.0, 271.0, 390.0, 391.0, 471.0, 487.0, 737.0, 821.0, 883.0, 956.0], + [3.0, 114.0, 240.0, 365.0, 376.0, 387.0, 525.0, 549.0, 716.0, 781.0, 873.0, 1001.0, 1011.0], + [8.0, 74.0, 182.0, 279.0, 296.0, 401.0, 687.0, 699.0, 705.0, 945.0], + [182.0, 436.0, 443.0, 447.0, 545.0, 771.0, 878.0, 932.0], + [3.0, 12.0, 51.0, 90.0, 173.0, 193.0, 396.0, 515.0, 551.0, 601.0, 641.0, 943.0, 978.0], + [119.0, 219.0, 332.0, 354.0, 421.0, 433.0, 447.0, 460.0, 595.0, 634.0], + [138.0, 225.0, 333.0, 831.0, 854.0, 879.0, 916.0, 929.0, 951.0, 985.0], + [14.0, 113.0, 229.0, 255.0, 274.0, 309.0, 460.0, 637.0, 889.0, 912.0, 941.0], + [21.0, 69.0, 303.0, 356.0, 456.0, 581.0, 613.0, 617.0, 662.0, 700.0, 722.0, 870.0, 913.0, 1001.0], + [18.0, 122.0, 132.0, 208.0, 366.0, 461.0, 580.0, 707.0, 714.0, 746.0, 799.0, 1010.0], + [12.0, 59.0, 148.0, 149.0, 189.0, 270.0, 320.0, 481.0, 622.0, 695.0, 992.0], + [31.0, 414.0, 460.0, 489.0, 499.0, 531.0, 543.0, 587.0, 593.0, 830.0, 844.0], + [140.0, 324.0, 364.0, 582.0, 733.0, 886.0], + [13.0, 86.0, 89.0, 130.0, 295.0, 340.0, 354.0, 522.0, 973.0, 986.0], + [10.0, 75.0, 85.0, 89.0, 93.0, 202.0, 339.0, 469.0, 799.0, 865.0, 899.0, 967.0, 1001.0] + ] + + +pattern_50 = [ [7.0, 14.0, 26.0, 27.0, 42.0, 83.0, 93.0, 99.0, 109.0, 110.0, 144.0, 151.0, 153.0, 164.0, 175.0, 233.0, 245.0, 299.0, 303.0, 354.0, 355.0, 356.0, 432.0, 439.0, 447.0, 491.0, 553.0, 560.0, 583.0, 590.0, 645.0, 659.0, 667.0, 692.0, 693.0, 695.0, 714.0, 715.0, 728.0, 739.0, 756.0, 796.0, 822.0, 825.0, 829.0, 834.0, 862.0, 875.0, 880.0, 896.0, 909.0, 912.0, 940.0, 964.0, 1006.0], [45.0, 63.0, 66.0, 88.0, 125.0, 142.0, 161.0, 167.0, 183.0, 188.0, 194.0, 207.0, 208.0, 235.0, 236.0, 252.0, 296.0, 346.0, 360.0, 384.0, 393.0, 396.0, 412.0, 474.0, 522.0, 543.0, 547.0, 616.0, 626.0, 657.0, 672.0, 681.0, 697.0, 706.0, 735.0, 770.0, 771.0, 774.0, 809.0, 811.0, 840.0, 847.0, 875.0, 965.0, 984.0, 989.0], [26.0, 71.0, 79.0, 89.0, 94.0, 122.0, 123.0, 131.0, 138.0, 150.0, 156.0, 172.0, 195.0, 197.0, 220.0, 221.0, 246.0, 250.0, 251.0, 271.0, 272.0, 282.0, 310.0, 320.0, 351.0, 352.0, 355.0, 423.0, 493.0, 510.0, 523.0, 556.0, 577.0, 622.0, 657.0, 708.0, 748.0, 760.0, 766.0, 792.0, 835.0, 854.0, 890.0, 896.0, 898.0, 919.0, 934.0, 947.0, 948.0, 994.0, 1005.0, 1010.0, 1019.0, 1023.0], @@ -228,33 +269,4 @@ def frozen_poisson_variable_hz(num_repeats, cycle_time, split, speed_up, pop_siz [41.0, 54.0, 82.0, 83.0, 99.0, 139.0, 143.0, 146.0, 150.0, 161.0, 194.0, 227.0, 287.0, 312.0, 313.0, 320.0, 324.0, 340.0, 376.0, 384.0, 393.0, 430.0, 434.0, 476.0, 512.0, 514.0, 536.0, 584.0, 599.0, 600.0, 606.0, 624.0, 708.0, 714.0, 758.0, 785.0, 824.0, 838.0, 849.0, 873.0, 877.0, 881.0, 966.0, 973.0, 997.0, 1016.0], [14.0, 24.0, 30.0, 36.0, 50.0, 73.0, 78.0, 87.0, 89.0, 107.0, 113.0, 155.0, 165.0, 171.0, 189.0, 190.0, 193.0, 209.0, 218.0, 238.0, 244.0, 288.0, 291.0, 311.0, 318.0, 319.0, 320.0, 325.0, 338.0, 351.0, 353.0, 407.0, 429.0, 475.0, 523.0, 526.0, 530.0, 546.0, 597.0, 599.0, 600.0, 604.0, 628.0, 632.0, 656.0, 658.0, 674.0, 713.0, 726.0, 746.0, 755.0, 756.0, 833.0, 847.0, 848.0, 856.0, 896.0, 911.0, 971.0, 1005.0, 1006.0, 1009.0, 1010.0, 1012.0], [12.0, 50.0, 121.0, 128.0, 135.0, 161.0, 191.0, 192.0, 207.0, 208.0, 231.0, 266.0, 268.0, 270.0, 298.0, 394.0, 413.0, 483.0, 487.0, 518.0, 523.0, 567.0, 601.0, 606.0, 610.0, 659.0, 660.0, 680.0, 755.0, 791.0, 797.0, 802.0, 816.0, 827.0, 945.0, 974.0, 987.0, 1023.0] - ] - - if not pop_size: - pop_size = len(pattern) - - spikes = [] - l=[] - for i in range(pop_size): - l = [] - for j in range(len(pattern[i])): - if pattern[i][j] < cycle_time: - l.append(pattern[i][j]) - else: - break - spikes.append(l) - - speed_up_offset = cycle_time / split - split_spikes = [[] for i in range(pop_size)] - for neuron in range(len(spikes)): - for spike in range(len(spikes[neuron])): - split_spikes[neuron].append((spikes[neuron][spike] / speed_up) + (speed_up_offset * int(neuron / (pop_size / split)))) - - cycled_spikes = [[] for i in range(pop_size)] - for r in range(0, num_repeats): - for p in range(pop_size): - new_iter = [i + r * cycle_time for i in split_spikes[p]] - cycled_spikes[p].extend(new_iter) - - - return cycled_spikes \ No newline at end of file + ] \ No newline at end of file diff --git a/eprop_testing/learn_sinusoid_from_frozen_poisson.py b/eprop_testing/learn_sinusoid_from_frozen_poisson.py index c547e550..9a57898b 100644 --- a/eprop_testing/learn_sinusoid_from_frozen_poisson.py +++ b/eprop_testing/learn_sinusoid_from_frozen_poisson.py @@ -46,23 +46,24 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): p_connect_out = 1. recurrent_connections = False synapse_eta = 0.2 -input_split = 20. +input_split = 20 +input_speed_up = 1. +pynn.setup(timestep=1) + + +input_size = 100 readout_neuron_params = { "v": 0, "v_thresh": 30, # controls firing rate of error neurons "target_data": target_data, - "eta": synapse_eta + "eta": synapse_eta #- 0.1 } - -pynn.setup(timestep=1) - -input_size = 100 input_pop = pynn.Population(input_size, pynn.SpikeSourceArray, # {'spike_times': build_input_spike_train(num_repeats, cycle_time, input_size)}, - {'spike_times': frozen_poisson_variable_hz(num_repeats, cycle_time, input_split, input_split, input_size)}, + {'spike_times': frozen_poisson_variable_hz(num_repeats, cycle_time, input_split, input_speed_up, input_size, use_old=False)}, label='input_pop') neuron_pop_size = 100 @@ -74,12 +75,13 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): # "w_fb": [(np.random.random() * 2) - 1. for i in range(neuron_pop_size)], # "B": 0.0, "beta": 0.0, - "target_rate": 10, - "eta": synapse_eta + 0.2 #/ 4. + "target_rate": 10,#[10 + np.random.randn() for i in range(neuron_pop_size)], + "eta": 0#synapse_eta #/ 4. } -neuron = pynn.Population(neuron_pop_size, - pynn.extra_models.EPropAdaptive(**neuron_params), - label='eprop_pop') +if neuron_pop_size: + neuron = pynn.Population(neuron_pop_size, + pynn.extra_models.EPropAdaptive(**neuron_params), + label='eprop_pop') # Output population readout_pop = pynn.Population(3, # HARDCODED 1 @@ -88,49 +90,65 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): ), label="readout_pop" ) +if neuron_pop_size: + start_w = [weight_distribution(neuron_pop_size*input_size) for i in range(input_size)] + eprop_learning_neuron = pynn.STDPMechanism( + timing_dependence=pynn.extra_models.TimingDependenceEprop(), + weight_dependence=pynn.extra_models.WeightDependenceEpropReg( + w_min=-2.0, w_max=2.0, reg_rate=reg_rate)) -start_w = [weight_distribution(neuron_pop_size*input_size) for i in range(input_size)] -eprop_learning_neuron = pynn.STDPMechanism( - timing_dependence=pynn.extra_models.TimingDependenceEprop(), - weight_dependence=pynn.extra_models.WeightDependenceEpropReg( - w_min=-2.0, w_max=2.0, reg_rate=reg_rate)) - -from_list_in, max_syn_per_input = probability_connector(input_size, neuron_pop_size, p_connect_in) -if max_syn_per_input > 100: - Exception -else: - print "max number of synapses per neuron:", max_syn_per_input -in_proj = pynn.Projection(input_pop, - neuron, - pynn.FromListConnector(from_list_in), - synapse_type=eprop_learning_neuron, - label='input_connections', - receptor_type='input_connections') + from_list_in, max_syn_per_input = probability_connector(input_size, neuron_pop_size, p_connect_in) + if max_syn_per_input > 100: + Exception + else: + print "max number of synapses per neuron:", max_syn_per_input + in_proj = pynn.Projection(input_pop, + neuron, + pynn.FromListConnector(from_list_in), + synapse_type=eprop_learning_neuron, + label='input_connections', + receptor_type='input_connections') eprop_learning_output = pynn.STDPMechanism( timing_dependence=pynn.extra_models.TimingDependenceEprop(), weight_dependence=pynn.extra_models.WeightDependenceEpropReg( w_min=-2, w_max=2, reg_rate=0.0)) -# from_list_out = [[i, 0, weight_distribution(input_size), i] for i in range(input_size)] -from_list_out, max_syn_per_output = probability_connector(neuron_pop_size, 1, p_connect_out) -if max_syn_per_output > 100: - Exception +if neuron_pop_size: + # from_list_out = [[i, 0, weight_distribution(input_size), i] for i in range(input_size)] + from_list_out, max_syn_per_output = probability_connector(neuron_pop_size, 1, p_connect_out) + if max_syn_per_output > 100: + Exception + else: + print "max number of synapses per readout:", max_syn_per_output + out_proj = pynn.Projection(neuron, + readout_pop, + # pynn.OneToOneConnector(), + pynn.FromListConnector(from_list_out), + synapse_type=eprop_learning_output, + label='input_connections', + receptor_type='input_connections') + + learning_proj = pynn.Projection(readout_pop, + neuron, + # pynn.OneToOneConnector(), + # pynn.StaticSynapse(weight=[0.5], delay=[0]), + pynn.AllToAllConnector(), + pynn.StaticSynapse(weight=0.5, delay=0), + receptor_type='learning_signal') else: - print "max number of synapses per readout:", max_syn_per_output -out_proj = pynn.Projection(neuron, - readout_pop, - # pynn.OneToOneConnector(), - pynn.FromListConnector(from_list_out), - synapse_type=eprop_learning_output, - label='input_connections', - receptor_type='input_connections') - -learning_proj = pynn.Projection(readout_pop, - neuron, - pynn.OneToOneConnector(), - pynn.StaticSynapse(weight=[0.5], delay=[0]), - receptor_type='learning_signal') + from_list_out, max_syn_per_output = probability_connector(input_size, 1, p_connect_out) + if max_syn_per_output > 100: + Exception + else: + print "max number of synapses per readout:", max_syn_per_output + out_proj = pynn.Projection(input_pop, + readout_pop, + # pynn.OneToOneConnector(), + pynn.FromListConnector(from_list_out), + synapse_type=eprop_learning_output, + label='input_connections', + receptor_type='input_connections') if recurrent_connections: eprop_learning_recurrent = pynn.STDPMechanism( @@ -151,18 +169,20 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): receptor_type='recurrent_connections') # input_pop.record('spikes') -neuron.record('spikes') -neuron.record(['gsyn_exc', 'v', 'gsyn_inh'], indexes=[0, 1, 2, 3]) +if neuron_pop_size: + neuron.record('spikes') + neuron.record(['gsyn_exc', 'v', 'gsyn_inh'], indexes=[0, 1, 9, 17, 25, 33]) readout_pop.record('all') -experiment_label = "eta:{}/{} - size:{}/{} - reg_rate:{} - p_conn:{}/{}/{} - rec:{} - 100/{}hz old reg".format( +experiment_label = "eta:{}/{} - size:{}/{} - reg_rate:{} - p_conn:{}/{}/{} - rec:{} - 10*{}hz all2all".format( readout_neuron_params["eta"], neuron_params["eta"], input_size, neuron_pop_size, reg_rate, p_connect_in, p_connect_rec, p_connect_out, recurrent_connections, input_split) print "\n", experiment_label, "\n" runtime = cycle_time * num_repeats pynn.run(runtime) # in_spikes = input_pop.get_data('spikes') -neuron_res = neuron.get_data('all') +if neuron_pop_size: + neuron_res = neuron.get_data('all') readout_res = readout_pop.get_data('all') total_error = 0.0 @@ -174,18 +194,19 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): cycle_error[cycle] += instantaneous_error total_error += instantaneous_error -new_connections_in = []#in_proj.get('weight', 'delay').connections[0]#[] -for partition in in_proj.get('weight', 'delay').connections: - for conn in partition: - new_connections_in.append(conn) -new_connections_in.sort(key=lambda x:x[1]) -from_list_in.sort(key=lambda x:x[1]) -connection_diff_in = [] -for i in range(len(from_list_in)): - connection_diff_in.append(new_connections_in[i][2] - from_list_in[i][2]) -print "Input connections\noriginal\n", np.array(from_list_in) -print "new\n", np.array(new_connections_in) -print "diff\n", np.array(connection_diff_in) +if neuron_pop_size: + new_connections_in = []#in_proj.get('weight', 'delay').connections[0]#[] + for partition in in_proj.get('weight', 'delay').connections: + for conn in partition: + new_connections_in.append(conn) + new_connections_in.sort(key=lambda x:x[1]) + from_list_in.sort(key=lambda x:x[1]) + connection_diff_in = [] + for i in range(len(from_list_in)): + connection_diff_in.append(new_connections_in[i][2] - from_list_in[i][2]) + print "Input connections\noriginal\n", np.array(from_list_in) + print "new\n", np.array(new_connections_in) + print "diff\n", np.array(connection_diff_in) new_connections_out = []#out_proj.get('weight', 'delay').connections[0]#[] for partition in out_proj.get('weight', 'delay').connections: @@ -220,29 +241,47 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): print "average error = ", np.average(cycle_error) print "weighted average", np.average(cycle_error, weights=[i for i in range(num_repeats)]) print "minimum error = ", np.min(cycle_error) -print "minimum iteration = ", cycle_error.index(np.min(cycle_error)) +print "minimum iteration =", cycle_error.index(np.min(cycle_error)), "- with time stamp =", cycle_error.index(np.min(cycle_error)) * 1024 -plt.figure() -Figure( - Panel(neuron_res.segments[0].filter(name='v')[0], ylabel='Membrane potential (mV)', yticks=True, xticks=True, xlim=(0, runtime)), +if neuron_pop_size: + plt.figure() + Figure( + Panel(neuron_res.segments[0].filter(name='v')[0], ylabel='Membrane potential (mV)', yticks=True, xticks=True, xlim=(0, runtime)), - Panel(neuron_res.segments[0].filter(name='gsyn_exc')[0], ylabel='gsyn_exc', yticks=True, xticks=True, xlim=(0, runtime)), + Panel(neuron_res.segments[0].filter(name='gsyn_exc')[0], ylabel='gsyn_exc', yticks=True, xticks=True, xlim=(0, runtime)), - Panel(neuron_res.segments[0].filter(name='gsyn_inh')[0], ylabel='gsyn_inh', yticks=True, xticks=True, xlim=(0, runtime)), + Panel(neuron_res.segments[0].filter(name='gsyn_inh')[0], ylabel='gsyn_inh', yticks=True, xticks=True, xlim=(0, runtime)), - # Panel(in_spikes.segments[0].spiketrains, ylabel='in_spikes', xlabel='in_spikes', yticks=True, xticks=True, xlim=(0, runtime)), + # Panel(in_spikes.segments[0].spiketrains, ylabel='in_spikes', xlabel='in_spikes', yticks=True, xticks=True, xlim=(0, runtime)), - Panel(neuron_res.segments[0].spiketrains, ylabel='neuron_spikes', xlabel='neuron_spikes', yticks=True, xticks=True, xlim=(0, runtime)), + Panel(neuron_res.segments[0].spiketrains, ylabel='neuron_spikes', xlabel='neuron_spikes', yticks=True, xticks=True, xlim=(0, runtime)), - Panel(readout_res.segments[0].filter(name='v')[0], ylabel='Membrane potential (mV)', yticks=True, xticks=True, xlim=(0, runtime)), + Panel(readout_res.segments[0].filter(name='v')[0], ylabel='Membrane potential (mV)', yticks=True, xticks=True, xlim=(0, runtime)), - Panel(readout_res.segments[0].filter(name='gsyn_exc')[0], ylabel='gsyn_exc', yticks=True, xticks=True, xlim=(0, runtime)), + Panel(readout_res.segments[0].filter(name='gsyn_exc')[0], ylabel='gsyn_exc', yticks=True, xticks=True, xlim=(0, runtime)), - Panel(readout_res.segments[0].filter(name='gsyn_inh')[0], ylabel='gsyn_inh', yticks=True, xticks=True, xlim=(0, runtime)), + Panel(readout_res.segments[0].filter(name='gsyn_inh')[0], ylabel='gsyn_inh', yticks=True, xticks=True, xlim=(0, runtime)), - title="neuron data for {}".format(experiment_label) -) -plt.show() + title="neuron data for {}".format(experiment_label) + ) + plt.show() +else: + plt.figure() + Figure( + # Panel(in_spikes.segments[0].spiketrains, ylabel='in_spikes', xlabel='in_spikes', yticks=True, xticks=True, xlim=(0, runtime)), + + Panel(readout_res.segments[0].filter(name='v')[0], ylabel='Membrane potential (mV)', yticks=True, xticks=True, + xlim=(0, runtime)), + + Panel(readout_res.segments[0].filter(name='gsyn_exc')[0], ylabel='gsyn_exc', yticks=True, xticks=True, + xlim=(0, runtime)), + + Panel(readout_res.segments[0].filter(name='gsyn_inh')[0], ylabel='gsyn_inh', yticks=True, xticks=True, + xlim=(0, runtime)), + + title="neuron data for {}".format(experiment_label) + ) + plt.show() plt.figure() plt.scatter([i for i in range(num_repeats)], cycle_error) @@ -257,4 +296,24 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): plt.scatter([i for i in range(num_repeats)], cycle_error) plt.title(experiment_label) plt.show() + +def moving_average(a, n=3) : + ret = np.cumsum(a, dtype=float) + ret[n:] = ret[n:] - ret[:-n] + return ret[n - 1:] / n + +v_mem = [] +sine_wave = [] +for timestep in readout_res.segments[0].filter(name='v')[0]: + v_mem.append(timestep[0]) + sine_wave.append(timestep[1]) + +ave_mem = moving_average(v_mem, 20) +ave_sine = moving_average(sine_wave, 20) + +plt.figure() +plt.plot([i for i in range(len(ave_mem))], cum_mem) +plt.plot([i for i in range(len(ave_sine))], cum_sine) +plt.title(experiment_label) +plt.show() ''' \ No newline at end of file diff --git a/eprop_testing/learn_sinusoid_only_readout.py b/eprop_testing/learn_sinusoid_only_readout.py index 4f4a7733..77eff638 100644 --- a/eprop_testing/learn_sinusoid_only_readout.py +++ b/eprop_testing/learn_sinusoid_only_readout.py @@ -39,7 +39,9 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): + 2 * np.sin((4 * i * 2* np.pi / 1024)) ) -synapse_eta = 0.01 +synapse_eta = 0.02 +input_split = 30 +input_speed_up = 1. readout_neuron_params = { "v": 0, @@ -54,7 +56,7 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): input_pop = pynn.Population(input_size, pynn.SpikeSourceArray, # {'spike_times': build_input_spike_train(num_repeats, cycle_time, input_size)}, - {'spike_times': frozen_poisson_variable_hz(num_repeats, cycle_time, 7., 7., input_size)}, + {'spike_times': frozen_poisson_variable_hz(num_repeats, cycle_time, input_split, input_speed_up, input_size)}, label='input_pop') # Output population @@ -87,7 +89,7 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): input_pop.record('spikes') readout_pop.record('all') -experiment_label = "eta:{} - in size:{} - reg_rate: {}".format(readout_neuron_params["eta"], input_size, reg_rate) +experiment_label = "eta:{} - in size:{} - reg_rate: {} - 10*{}hz".format(readout_neuron_params["eta"], input_size, reg_rate, input_split) print "\n", experiment_label, "\n" runtime = cycle_time * num_repeats diff --git a/eprop_testing/test_left_right_readout.py b/eprop_testing/test_left_right_readout.py new file mode 100644 index 00000000..e185b613 --- /dev/null +++ b/eprop_testing/test_left_right_readout.py @@ -0,0 +1,290 @@ +import spynnaker8 as pynn +import numpy as np +import matplotlib.pyplot as plt +from frozen_poisson import build_input_spike_train, frozen_poisson_variable_hz +from pyNN.random import NumpyRNG, RandomDistribution +from pyNN.utility.plotting import Figure, Panel +from spynnaker.pyNN.spynnaker_external_device_plugin_manager import SpynnakerExternalDevicePluginManager + +def weight_distribution(pop_size): + base_weight = np.random.randn() / np.sqrt(pop_size) + # base_weight = 0 + return base_weight + +def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): + connections = [] + max_syn_per_neuron = 0 + for j in range(post_pop_size): + neuron_syn_count = 0 + delay_count = offset + for i in range(pre_pop_size): + if np.random.random() < prob: + neuron_syn_count += 1 + conn = [i, j, weight_distribution(pre_pop_size), delay_count] + delay_count += 1 + connections.append(conn) + if neuron_syn_count > max_syn_per_neuron: + max_syn_per_neuron = neuron_syn_count + return connections, max_syn_per_neuron + +np.random.seed(272727) + +cycle_time = 1024 +num_repeats = 300 +pynn.setup(1.0) + +target_data = [] +for i in range(1024): + target_data.append(#1) + 0 + 2 * np.sin(2 * i * 2* np.pi / 1024) \ + + 2 * np.sin((4 * i * 2* np.pi / 1024)) + ) + + +reg_rate = 0.0001 +p_connect_in = 1. +p_connect_rec = 1. +p_connect_out = 1. +recurrent_connections = False +synapse_eta = 0.05 +input_split = 20 + + +pynn.setup(timestep=1) + + +input_size = 80 +readout_neuron_params = { + "v": 0, + "v_thresh": 30, # controls firing rate of error neurons + "poisson_pop_size": 20, + "eta": synapse_eta - 0.02 + } +input_pop = pynn.Population(input_size, + pynn.SpikeSourcePoisson(rate=0), + # {'spike_times': build_input_spike_train(num_repeats, cycle_time, input_size)}, + # {'spike_times': frozen_poisson_variable_hz(num_repeats, cycle_time, input_split, input_split, input_size)}, + label='input_pop') + +neuron_pop_size = 80 +ratio_of_LIF = 0.5 +beta = [] +for i in range(neuron_pop_size): + if i < neuron_pop_size/2: + beta.append(0) + else: + beta.append(1.8) +neuron_params = { + "v": 0, + "i_offset": 0, + "v_rest": 0, + "w_fb": [np.random.random() for i in range(neuron_pop_size)], # best it seems + # "w_fb": [(np.random.random() * 2) - 1. for i in range(neuron_pop_size)], + # "B": 0.0, + "beta": beta, + "target_rate": 10, + "eta": synapse_eta #/ 4. + } +neuron = pynn.Population(neuron_pop_size, + pynn.extra_models.EPropAdaptive(**neuron_params), + label='eprop_pop') + +# Output population +readout_pop = pynn.Population(3, # HARDCODED 1 + pynn.extra_models.LeftRightReadout( + **readout_neuron_params + ), + label="readout_pop" + ) + +SpynnakerExternalDevicePluginManager.add_edge(input_pop._get_vertex, readout_pop._get_vertex, "CONTROL") + +start_w = [weight_distribution(neuron_pop_size*input_size) for i in range(input_size)] +eprop_learning_neuron = pynn.STDPMechanism( + timing_dependence=pynn.extra_models.TimingDependenceEprop(), + weight_dependence=pynn.extra_models.WeightDependenceEpropReg( + w_min=-1.0, w_max=1.0, reg_rate=reg_rate)) + +from_list_in, max_syn_per_input = probability_connector(input_size, neuron_pop_size, p_connect_in) +if max_syn_per_input > 100: + Exception +else: + print "max number of synapses per neuron:", max_syn_per_input +in_proj = pynn.Projection(input_pop, + neuron, + pynn.FromListConnector(from_list_in), + synapse_type=eprop_learning_neuron, + label='input_connections', + receptor_type='input_connections') + +eprop_learning_output = pynn.STDPMechanism( + timing_dependence=pynn.extra_models.TimingDependenceEprop(), + weight_dependence=pynn.extra_models.WeightDependenceEpropReg( + w_min=-1.0, w_max=1.0, reg_rate=0.0)) + +# from_list_out = [[i, 0, weight_distribution(input_size), i] for i in range(input_size)] +from_list_out, max_syn_per_output = probability_connector(neuron_pop_size, 1, p_connect_out) +if max_syn_per_output > 100: + Exception +else: + print "max number of synapses per readout:", max_syn_per_output +out_proj = pynn.Projection(neuron, + readout_pop, + # pynn.OneToOneConnector(), + pynn.FromListConnector(from_list_out), + synapse_type=eprop_learning_output, + label='input_connections', + receptor_type='input_connections') + +learning_proj = pynn.Projection(readout_pop, + neuron, + pynn.AllToAllConnector(), + pynn.StaticSynapse(weight=0.5, delay=0), + receptor_type='learning_signal') + +if recurrent_connections: + eprop_learning_recurrent = pynn.STDPMechanism( + timing_dependence=pynn.extra_models.TimingDependenceEprop(), + weight_dependence=pynn.extra_models.WeightDependenceEpropReg( + w_min=-1.0, w_max=1.0, reg_rate=reg_rate)) + + from_list_rec, max_syn_per_rec = probability_connector(neuron_pop_size, neuron_pop_size, p_connect_rec, offset=0) + if max_syn_per_rec > 150: + Exception + else: + print "max number of synapses per neuron:", max_syn_per_rec + recurrent_proj = pynn.Projection(neuron, + neuron, + pynn.FromListConnector(from_list_rec), + synapse_type=eprop_learning_recurrent, + label='recurrent_connections', + receptor_type='recurrent_connections') + +# input_pop.record('spikes') +neuron.record('spikes') +neuron.record(['gsyn_exc', 'v', 'gsyn_inh'], indexes=[0, 1, 2, 3]) +readout_pop.record('all') + +experiment_label = "eta:{}/{} - size:{}/{} - reg_rate:{} - p_conn:{}/{}/{} - rec:{} - 100/{}hz 2048".format( + readout_neuron_params["eta"], neuron_params["eta"], input_size, neuron_pop_size, reg_rate, p_connect_in, p_connect_rec, p_connect_out, recurrent_connections, input_split) +print "\n", experiment_label, "\n" + +runtime = cycle_time * num_repeats +pynn.run(runtime) +# in_spikes = input_pop.get_data('spikes') +neuron_res = neuron.get_data('all') +readout_res = readout_pop.get_data('all') + +total_error = 0.0 +cycle_error = [0.0 for i in range(num_repeats)] +for cycle in range(num_repeats): + for time_index in range(1024): + instantaneous_error = np.abs(float( + readout_res.segments[0].filter(name='v')[0][time_index+(cycle*1024)][0]) - target_data[time_index]) + cycle_error[cycle] += instantaneous_error + total_error += instantaneous_error + +new_connections_in = []#in_proj.get('weight', 'delay').connections[0]#[] +for partition in in_proj.get('weight', 'delay').connections: + for conn in partition: + new_connections_in.append(conn) +new_connections_in.sort(key=lambda x:x[1]) +from_list_in.sort(key=lambda x:x[1]) +connection_diff_in = [] +for i in range(len(from_list_in)): + connection_diff_in.append(new_connections_in[i][2] - from_list_in[i][2]) +print "Input connections\noriginal\n", np.array(from_list_in) +print "new\n", np.array(new_connections_in) +print "diff\n", np.array(connection_diff_in) + +new_connections_out = []#out_proj.get('weight', 'delay').connections[0]#[] +for partition in out_proj.get('weight', 'delay').connections: + for conn in partition: + new_connections_out.append(conn) +new_connections_out.sort(key=lambda x:x[1]) +from_list_out.sort(key=lambda x:x[1]) +connection_diff_out = [] +for i in range(len(from_list_out)): + connection_diff_out.append(new_connections_out[i][2] - from_list_out[i][2]) +print "Output connections\noriginal\n", np.array(from_list_out) +print "new\n", np.array(new_connections_out) +print "diff\n", np.array(connection_diff_out) + +if recurrent_connections: + new_connections_rec = []#out_proj.get('weight', 'delay').connections[0]#[] + for partition in recurrent_proj.get('weight', 'delay').connections: + for conn in partition: + new_connections_rec.append(conn) + new_connections_rec.sort(key=lambda x:x[1]) + from_list_rec.sort(key=lambda x:x[1]) + connection_diff_rec = [] + for i in range(len(from_list_out)): + connection_diff_rec.append(new_connections_rec[i][2] - from_list_rec[i][2]) + print "Recurrent connections\noriginal\n", np.array(from_list_out) + print "new\n", np.array(new_connections_out) + print "diff\n", np.array(connection_diff_out) + +print experiment_label +print "cycle_error =", cycle_error +print "total error =", total_error +print "average error = ", np.average(cycle_error) +print "weighted average", np.average(cycle_error, weights=[i for i in range(num_repeats)]) +print "minimum error = ", np.min(cycle_error) +print "minimum iteration =", cycle_error.index(np.min(cycle_error)), "- with time stamp =", cycle_error.index(np.min(cycle_error)) * 1024 + +plt.figure() +Figure( + Panel(neuron_res.segments[0].filter(name='v')[0], ylabel='Membrane potential (mV)', yticks=True, xticks=True, xlim=(0, runtime)), + + Panel(neuron_res.segments[0].filter(name='gsyn_exc')[0], ylabel='gsyn_exc', yticks=True, xticks=True, xlim=(0, runtime)), + + Panel(neuron_res.segments[0].filter(name='gsyn_inh')[0], ylabel='gsyn_inh', yticks=True, xticks=True, xlim=(0, runtime)), + + # Panel(in_spikes.segments[0].spiketrains, ylabel='in_spikes', xlabel='in_spikes', yticks=True, xticks=True, xlim=(0, runtime)), + + Panel(neuron_res.segments[0].spiketrains, ylabel='neuron_spikes', xlabel='neuron_spikes', yticks=True, xticks=True, xlim=(0, runtime)), + + Panel(readout_res.segments[0].filter(name='v')[0], ylabel='Membrane potential (mV)', yticks=True, xticks=True, xlim=(0, runtime)), + + Panel(readout_res.segments[0].filter(name='gsyn_exc')[0], ylabel='gsyn_exc', yticks=True, xticks=True, xlim=(0, runtime)), + + Panel(readout_res.segments[0].filter(name='gsyn_inh')[0], ylabel='gsyn_inh', yticks=True, xticks=True, xlim=(0, runtime)), + + title="neuron data for {}".format(experiment_label) +) +plt.show() + +plt.figure() +plt.scatter([i for i in range(num_repeats)], cycle_error) +plt.title(experiment_label) +plt.show() + +pynn.end() +print("job done") + +''' +plt.figure() +plt.scatter([i for i in range(num_repeats)], cycle_error) +plt.title(experiment_label) +plt.show() + +def moving_average(a, n=3) : + ret = np.cumsum(a, dtype=float) + ret[n:] = ret[n:] - ret[:-n] + return ret[n - 1:] / n + +v_mem = [] +sine_wave = [] +for timestep in readout_res.segments[0].filter(name='v')[0]: + v_mem.append(timestep[0]) + sine_wave.append(timestep[1]) + +ave_mem = moving_average(v_mem, 20) +ave_sine = moving_average(sine_wave, 20) + +plt.figure() +plt.plot([i for i in range(len(ave_mem))], cum_mem) +plt.plot([i for i in range(len(ave_sine))], cum_sine) +plt.title(experiment_label) +plt.show() +''' \ No newline at end of file From 58e4b35227e2093e544544fbab3c5c8c009c4920 Mon Sep 17 00:00:00 2001 From: such-a-git Date: Wed, 29 Apr 2020 14:34:43 +0100 Subject: [PATCH 39/68] fixed control edge bug, prints spikes --- eprop_testing/test_left_right_readout.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/eprop_testing/test_left_right_readout.py b/eprop_testing/test_left_right_readout.py index e185b613..569c43b6 100644 --- a/eprop_testing/test_left_right_readout.py +++ b/eprop_testing/test_left_right_readout.py @@ -30,7 +30,7 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): np.random.seed(272727) cycle_time = 1024 -num_repeats = 300 +num_repeats = 2 pynn.setup(1.0) target_data = [] @@ -41,7 +41,7 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): ) -reg_rate = 0.0001 +reg_rate = 0.01 p_connect_in = 1. p_connect_rec = 1. p_connect_out = 1. @@ -57,7 +57,7 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): readout_neuron_params = { "v": 0, "v_thresh": 30, # controls firing rate of error neurons - "poisson_pop_size": 20, + "poisson_pop_size": input_size / 4, "eta": synapse_eta - 0.02 } input_pop = pynn.Population(input_size, @@ -97,7 +97,7 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): label="readout_pop" ) -SpynnakerExternalDevicePluginManager.add_edge(input_pop._get_vertex, readout_pop._get_vertex, "CONTROL") +SpynnakerExternalDevicePluginManager.add_edge(readout_pop._get_vertex, input_pop._get_vertex, "CONTROL") start_w = [weight_distribution(neuron_pop_size*input_size) for i in range(input_size)] eprop_learning_neuron = pynn.STDPMechanism( @@ -160,7 +160,7 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): label='recurrent_connections', receptor_type='recurrent_connections') -# input_pop.record('spikes') +input_pop.record('spikes') neuron.record('spikes') neuron.record(['gsyn_exc', 'v', 'gsyn_inh'], indexes=[0, 1, 2, 3]) readout_pop.record('all') @@ -171,7 +171,7 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): runtime = cycle_time * num_repeats pynn.run(runtime) -# in_spikes = input_pop.get_data('spikes') +in_spikes = input_pop.get_data('spikes') neuron_res = neuron.get_data('all') readout_res = readout_pop.get_data('all') @@ -240,7 +240,7 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): Panel(neuron_res.segments[0].filter(name='gsyn_inh')[0], ylabel='gsyn_inh', yticks=True, xticks=True, xlim=(0, runtime)), - # Panel(in_spikes.segments[0].spiketrains, ylabel='in_spikes', xlabel='in_spikes', yticks=True, xticks=True, xlim=(0, runtime)), + Panel(in_spikes.segments[0].spiketrains, ylabel='in_spikes', xlabel='in_spikes', yticks=True, xticks=True, xlim=(0, runtime)), Panel(neuron_res.segments[0].spiketrains, ylabel='neuron_spikes', xlabel='neuron_spikes', yticks=True, xticks=True, xlim=(0, runtime)), From 83822dec76c64b0ac77e44394b91f9788d916e1d Mon Sep 17 00:00:00 2001 From: oliverrhodes Date: Tue, 26 May 2020 16:41:42 +0100 Subject: [PATCH 40/68] Tests for delayed weight update --- eprop_testing/frozen_poisson.py | 6 +++--- eprop_testing/learn_sinusoid_from_frozen_poisson.py | 4 ++-- eprop_testing/learn_sinusoid_only_readout.py | 4 ++-- .../learn_sinusoid_only_readout_single_cycle_input.py | 8 +++++--- eprop_testing/test_single_plastic_update.py | 4 ++-- 5 files changed, 14 insertions(+), 12 deletions(-) diff --git a/eprop_testing/frozen_poisson.py b/eprop_testing/frozen_poisson.py index 4bcbe20a..ef7ca2e9 100644 --- a/eprop_testing/frozen_poisson.py +++ b/eprop_testing/frozen_poisson.py @@ -30,12 +30,12 @@ def build_input_spike_train(num_repeats, cycle_time, pop_size, use_old=False): def frozen_poisson_variable_hz(num_repeats, cycle_time, split, speed_up, pop_size, use_old=False): if use_old: - pattern = pattern_50 + pattern = pattern_10 else: - pattern = np.load('1000 neurons - 10Hz - 100*1024s.npy').tolist() + pattern = np.load('1000 neurons - 10Hz - 100*1024s.npy', allow_pickle=True).tolist() if split > pop_size: - print "Cannot split population into sizes smaller than 1 i.e. split > population size" + print("Cannot split population into sizes smaller than 1 i.e. split > population size") raise Exception spikes = [] diff --git a/eprop_testing/learn_sinusoid_from_frozen_poisson.py b/eprop_testing/learn_sinusoid_from_frozen_poisson.py index 049ad961..53fff5a6 100644 --- a/eprop_testing/learn_sinusoid_from_frozen_poisson.py +++ b/eprop_testing/learn_sinusoid_from_frozen_poisson.py @@ -29,7 +29,7 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): np.random.seed(272727) cycle_time = 1024 -num_repeats = 300 +num_repeats = 10 pynn.setup(1.0) target_data = [] @@ -141,7 +141,7 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): if max_syn_per_output > 100: Exception else: - print "max number of synapses per readout:", max_syn_per_output + print("max number of synapses per readout:", max_syn_per_output) out_proj = pynn.Projection(input_pop, readout_pop, # pynn.OneToOneConnector(), diff --git a/eprop_testing/learn_sinusoid_only_readout.py b/eprop_testing/learn_sinusoid_only_readout.py index 5a92452e..d27eba32 100644 --- a/eprop_testing/learn_sinusoid_only_readout.py +++ b/eprop_testing/learn_sinusoid_only_readout.py @@ -29,7 +29,7 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): np.random.seed(272727) cycle_time = 1024 -num_repeats = 200 +num_repeats =250 pynn.setup(1.0) target_data = [] @@ -39,7 +39,7 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): + 2 * np.sin((4 * i * 2* np.pi / 1024)) ) -synapse_eta = 0.02 +synapse_eta = 40 input_split = 30 input_speed_up = 1. diff --git a/eprop_testing/learn_sinusoid_only_readout_single_cycle_input.py b/eprop_testing/learn_sinusoid_only_readout_single_cycle_input.py index 5274f744..f3b91dce 100644 --- a/eprop_testing/learn_sinusoid_only_readout_single_cycle_input.py +++ b/eprop_testing/learn_sinusoid_only_readout_single_cycle_input.py @@ -29,7 +29,7 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): np.random.seed(272727) cycle_time = 1024 -num_repeats = 100 # 200 +num_repeats = 400 # 200 pynn.setup(1.0) target_data = [] @@ -39,11 +39,12 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): + 2 * np.sin((4 * i * 2* np.pi / 1024)) ) -synapse_eta = 100 +synapse_eta = 20 readout_neuron_params = { "v": 0, "v_thresh": 30, # controls firing rate of error neurons + "tau_m": 100, "target_data": target_data, "eta": synapse_eta } @@ -53,7 +54,7 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): input_size = 100 input_pop = pynn.Population(input_size, pynn.SpikeSourceArray, - {'spike_times': build_input_spike_train(num_repeats, cycle_time, input_size)}, + {'spike_times': build_input_spike_train(num_repeats, cycle_time, input_size, use_old=True)}, label='input_pop') # Output population @@ -92,6 +93,7 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): runtime = cycle_time * num_repeats for i in range(num_repeats): + print('\nrepeat: {}\n'.format(i)) pynn.run(cycle_time) in_spikes = input_pop.get_data('spikes') diff --git a/eprop_testing/test_single_plastic_update.py b/eprop_testing/test_single_plastic_update.py index 68879d3a..789b91eb 100644 --- a/eprop_testing/test_single_plastic_update.py +++ b/eprop_testing/test_single_plastic_update.py @@ -5,7 +5,7 @@ from pyNN.utility.plotting import Figure, Panel -runtime = 100 +runtime = 2000 pynn.setup(1.0) neuron_params = { @@ -17,7 +17,7 @@ spike_source = pynn.Population(2, pynn.SpikeSourceArray, - {'spike_times': [10]}, + {'spike_times': [1025]}, label='Spike Source') neuron = pynn.Population(2, From 82f35a1fc376d3dbaa4578799abfbd4532a8e5f5 Mon Sep 17 00:00:00 2001 From: such-a-git Date: Mon, 1 Jun 2020 19:35:03 +0100 Subject: [PATCH 41/68] better plots and more up to date tests, test script for comparing firing rate calculation for eprop --- eprop_testing/pop_rate_test.py | 85 ++++++++++++++ eprop_testing/test_left_right_readout.py | 134 ++++++++++++++++++----- 2 files changed, 193 insertions(+), 26 deletions(-) create mode 100644 eprop_testing/pop_rate_test.py diff --git a/eprop_testing/pop_rate_test.py b/eprop_testing/pop_rate_test.py new file mode 100644 index 00000000..1370e6b8 --- /dev/null +++ b/eprop_testing/pop_rate_test.py @@ -0,0 +1,85 @@ +import numpy as np +import matplotlib.pyplot as plt + + +def frozen_poisson_variable_hz(num_repeats, cycle_time, split, speed_up, pop_size): + pattern = np.load('1000 neurons - 10Hz - 100*1024s.npy').tolist() + + if split > pop_size: + print "Cannot split population into sizes smaller than 1 i.e. split > population size" + raise Exception + + spikes = [] + l=[] + for i in range(pop_size): + l = [] + for j in range(len(pattern[i])): + if pattern[i][j] < cycle_time:# * speed_up: + l.append(float(pattern[i][j]) / speed_up) + else: + break + spikes.append(l) + + speed_up_offset = cycle_time / split + split_spikes = [[] for i in range(pop_size)] + for neuron in range(len(spikes)): + for spike in range(len(spikes[neuron])): + split_spikes[neuron].append((spikes[neuron][spike] / split) + (speed_up_offset * int(neuron / (pop_size / split)))) + + cycled_spikes = [[] for i in range(pop_size)] + for r in range(0, num_repeats): + for p in range(pop_size): + new_iter = [i + r * cycle_time for i in split_spikes[p]] + cycled_spikes[p].extend(new_iter) + + return cycled_spikes + + +cycle_time = 2200 +repeats = 5 +pop_size = 8 +spike_times = frozen_poisson_variable_hz(repeats, cycle_time, 8, 10, pop_size) + +scatterable_spike_times = [[], []] +for neuron in range(len(spike_times)): + for spike_time in range(len(spike_times[neuron])): + scatterable_spike_times[0].append(spike_times[neuron][spike_time]) + scatterable_spike_times[1].append(neuron) + spike_times[neuron][spike_time] = int(spike_times[neuron][spike_time]) + +instantaneous_rate = 0 +rate_decay_over_time = [] +decay = np.exp(-1./1000.) +total_spikes = 0 +running_average = [] +reset_time = cycle_time +runtime = cycle_time*repeats +time_since_reset = 0 + +for time_step in range(1, runtime): + if time_step % reset_time == 0: + total_spikes = 0 + time_since_reset = 0 + time_since_reset += 1 + instantaneous_rate *= decay + for neuron in range(len(spike_times)): + for spike_time in spike_times[neuron]: + if spike_time == time_step: + total_spikes += 1 + instantaneous_rate += 1 + elif spike_time > time_step: + break + rate_decay_over_time.append(instantaneous_rate / pop_size) + running_average.append((total_spikes / (time_since_reset / 1000.)) / pop_size) + +fig, axs = plt.subplots(2, 1) +axs[0].set_title('rates calculated different ways') +axs[0].plot([i for i in range(len(rate_decay_over_time))], rate_decay_over_time, label='exponential') +axs[0].plot([i for i in range(len(running_average))], running_average, label='running average') +axs[0].legend(loc="bottom right") +axs[0].plot([0, runtime], [10, 10], 'r') +axs[1].scatter(scatterable_spike_times[0], scatterable_spike_times[1]) +axs[0].set_xlim([-100, runtime+100]) +axs[1].set_xlim([-100, runtime+100]) +plt.show() +print("done") \ No newline at end of file diff --git a/eprop_testing/test_left_right_readout.py b/eprop_testing/test_left_right_readout.py index 569c43b6..852426c8 100644 --- a/eprop_testing/test_left_right_readout.py +++ b/eprop_testing/test_left_right_readout.py @@ -7,7 +7,7 @@ from spynnaker.pyNN.spynnaker_external_device_plugin_manager import SpynnakerExternalDevicePluginManager def weight_distribution(pop_size): - base_weight = np.random.randn() / np.sqrt(pop_size) + base_weight = np.random.randn() / np.sqrt(pop_size) #+ 0.5 # base_weight = 0 return base_weight @@ -29,8 +29,9 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): np.random.seed(272727) -cycle_time = 1024 -num_repeats = 2 +number_of_cues = 1 +cycle_time = (number_of_cues*150)+1000+150 +num_repeats = 800 pynn.setup(1.0) target_data = [] @@ -41,36 +42,44 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): ) -reg_rate = 0.01 +reg_rate = 0.000 p_connect_in = 1. p_connect_rec = 1. p_connect_out = 1. -recurrent_connections = False -synapse_eta = 0.05 +recurrent_connections = True +synapse_eta = 0.5 +tau_a = 1500#[cycle_time - 150 + (np.random.randn() * 200) for i in range(100)] input_split = 20 pynn.setup(timestep=1) -input_size = 80 +input_size = 40 readout_neuron_params = { "v": 0, "v_thresh": 30, # controls firing rate of error neurons "poisson_pop_size": input_size / 4, - "eta": synapse_eta - 0.02 + # "tau_m": tau_a, + "eta": synapse_eta / 5. } +rates = [] +for i in range(input_size): + if i >= (3*input_size) / 4: + rates.append(10) + else: + rates.append(0) input_pop = pynn.Population(input_size, - pynn.SpikeSourcePoisson(rate=0), + pynn.SpikeSourcePoisson(rate=rates), # {'spike_times': build_input_spike_train(num_repeats, cycle_time, input_size)}, # {'spike_times': frozen_poisson_variable_hz(num_repeats, cycle_time, input_split, input_split, input_size)}, label='input_pop') -neuron_pop_size = 80 +neuron_pop_size = 100 ratio_of_LIF = 0.5 beta = [] for i in range(neuron_pop_size): - if i < neuron_pop_size/2: + if i % 2 == 0: beta.append(0) else: beta.append(1.8) @@ -78,12 +87,14 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): "v": 0, "i_offset": 0, "v_rest": 0, - "w_fb": [np.random.random() for i in range(neuron_pop_size)], # best it seems + # "w_fb": [np.random.random() for i in range(neuron_pop_size)], # best it seems # "w_fb": [(np.random.random() * 2) - 1. for i in range(neuron_pop_size)], + "w_fb": [np.random.random() - np.random.random() for i in range(neuron_pop_size)], ## for both feedback weights # "B": 0.0, "beta": beta, "target_rate": 10, - "eta": synapse_eta #/ 4. + "tau_a": tau_a, + "eta": synapse_eta / 20. } neuron = pynn.Population(neuron_pop_size, pynn.extra_models.EPropAdaptive(**neuron_params), @@ -103,7 +114,7 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): eprop_learning_neuron = pynn.STDPMechanism( timing_dependence=pynn.extra_models.TimingDependenceEprop(), weight_dependence=pynn.extra_models.WeightDependenceEpropReg( - w_min=-1.0, w_max=1.0, reg_rate=reg_rate)) + w_min=-2.0, w_max=2.0, reg_rate=reg_rate)) from_list_in, max_syn_per_input = probability_connector(input_size, neuron_pop_size, p_connect_in) if max_syn_per_input > 100: @@ -113,6 +124,7 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): in_proj = pynn.Projection(input_pop, neuron, pynn.FromListConnector(from_list_in), + # pynn.AllToAllConnector(), synapse_type=eprop_learning_neuron, label='input_connections', receptor_type='input_connections') @@ -120,10 +132,10 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): eprop_learning_output = pynn.STDPMechanism( timing_dependence=pynn.extra_models.TimingDependenceEprop(), weight_dependence=pynn.extra_models.WeightDependenceEpropReg( - w_min=-1.0, w_max=1.0, reg_rate=0.0)) + w_min=-2.0, w_max=2.0, reg_rate=0.0)) # from_list_out = [[i, 0, weight_distribution(input_size), i] for i in range(input_size)] -from_list_out, max_syn_per_output = probability_connector(neuron_pop_size, 1, p_connect_out) +from_list_out, max_syn_per_output = probability_connector(neuron_pop_size, 2, p_connect_out) if max_syn_per_output > 100: Exception else: @@ -142,11 +154,17 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): pynn.StaticSynapse(weight=0.5, delay=0), receptor_type='learning_signal') +learning_proj = pynn.Projection(readout_pop, + readout_pop, + pynn.AllToAllConnector(), + pynn.StaticSynapse(weight=0.5, delay=0), + receptor_type='learning_signal') + if recurrent_connections: eprop_learning_recurrent = pynn.STDPMechanism( timing_dependence=pynn.extra_models.TimingDependenceEprop(), weight_dependence=pynn.extra_models.WeightDependenceEpropReg( - w_min=-1.0, w_max=1.0, reg_rate=reg_rate)) + w_min=-2.0, w_max=2.0, reg_rate=reg_rate)) from_list_rec, max_syn_per_rec = probability_connector(neuron_pop_size, neuron_pop_size, p_connect_rec, offset=0) if max_syn_per_rec > 150: @@ -162,14 +180,15 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): input_pop.record('spikes') neuron.record('spikes') -neuron.record(['gsyn_exc', 'v', 'gsyn_inh'], indexes=[0, 1, 2, 3]) +neuron.record(['gsyn_exc', 'v', 'gsyn_inh'], indexes=[i for i in range(45, 55)]) readout_pop.record('all') -experiment_label = "eta:{}/{} - size:{}/{} - reg_rate:{} - p_conn:{}/{}/{} - rec:{} - 100/{}hz 2048".format( - readout_neuron_params["eta"], neuron_params["eta"], input_size, neuron_pop_size, reg_rate, p_connect_in, p_connect_rec, p_connect_out, recurrent_connections, input_split) +runtime = cycle_time * num_repeats + +experiment_label = "eta:{}/{} - size:{}/{} - reg_rate:{} - p_conn:{}/{}/{} - rec:{} - cycle:{}/{} -=10 5050 reg>0.5".format( + readout_neuron_params["eta"], neuron_params["eta"], input_size, neuron_pop_size, reg_rate, p_connect_in, p_connect_rec, p_connect_out, recurrent_connections, cycle_time, runtime) print "\n", experiment_label, "\n" -runtime = cycle_time * num_repeats pynn.run(runtime) in_spikes = input_pop.get_data('spikes') neuron_res = neuron.get_data('all') @@ -177,13 +196,65 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): total_error = 0.0 cycle_error = [0.0 for i in range(num_repeats)] +soft_max = [[], []] +cross_entropy = [] # how do I extract the answer easily? final gsyn exc value? +all_cross = [[], []] +from_soft = [[], []] for cycle in range(num_repeats): - for time_index in range(1024): + ticks_for_mean = 0 + mean_0 = 0. + mean_1 = 0. + # mean_0_all = 0. + # mean_1_all = 0. + for time_index in range(cycle_time): instantaneous_error = np.abs(float( - readout_res.segments[0].filter(name='v')[0][time_index+(cycle*1024)][0]) - target_data[time_index]) + readout_res.segments[0].filter(name='gsyn_inh')[0][time_index+(cycle*cycle_time)][0])) cycle_error[cycle] += instantaneous_error total_error += instantaneous_error + # if time_index > cycle_time - 150: + # ticks_for_mean = 1 + # instantaneous_v0 = float(readout_res.segments[0].filter(name='v')[0][time_index+(cycle*cycle_time)][0]) + # instantaneous_v1 = float(readout_res.segments[0].filter(name='v')[0][time_index+(cycle*cycle_time)][1]) + # mean_0 = instantaneous_v0 * 0.1 + # mean_1 = instantaneous_v1 * 0.1 + # exp_0 = np.exp(mean_0 / ticks_for_mean) + # exp_1 = np.exp(mean_1 / ticks_for_mean) + # if exp_0 == 0 and exp_1 == 0: + # if instantaneous_v0 > instantaneous_v1: + # soft_max[0].append(1) + # soft_max[1].append(0) + # else: + # soft_max[0].append(0) + # soft_max[1].append(1) + # else: + # soft_max[0].append(-np.log(exp_0 / (exp_0 + exp_1))) + # soft_max[1].append(-np.log(exp_1 / (exp_0 + exp_1))) + # if float(readout_res.segments[0].filter(name='gsyn_exc')[0][time_index+(cycle*cycle_time)][2]) < 3.5: + # cross_entropy.append(soft_max[0][-1]) + # else: + # cross_entropy.append(soft_max[1][-1]) + # + # from_soft[0].append(-np.log(float(readout_res.segments[0].filter(name='gsyn_exc')[0][time_index+(cycle*cycle_time)][0]))) + # from_soft[1].append(-np.log(float(readout_res.segments[0].filter(name='gsyn_exc')[0][time_index+(cycle*cycle_time)][1]))) + # else: + # soft_max[0].append(0) + # soft_max[1].append(0) + # from_soft[0].append(0) + # from_soft[1].append(0) + # cross_entropy.append(0) + # + # instantaneous_v0 = float(readout_res.segments[0].filter(name='v')[0][time_index + (cycle * cycle_time)][0]) + # instantaneous_v1 = float(readout_res.segments[0].filter(name='v')[0][time_index + (cycle * cycle_time)][1]) + # # mean_0_all += instantaneous_v0 + # # mean_1_all += instantaneous_v1 + # exp_0 = np.exp(instantaneous_v0 * 0.1) + # exp_1 = np.exp(instantaneous_v1 * 0.1) + # all_cross[0].append(-np.log(exp_0 / (exp_0 + exp_1))) + # all_cross[1].append(-np.log(exp_1 / (exp_0 + exp_1))) + + + new_connections_in = []#in_proj.get('weight', 'delay').connections[0]#[] for partition in in_proj.get('weight', 'delay').connections: for conn in partition: @@ -254,9 +325,14 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): ) plt.show() -plt.figure() -plt.scatter([i for i in range(num_repeats)], cycle_error) -plt.title(experiment_label) +fig, axs = plt.subplots(1, 1) +axs.set_title(experiment_label) +# axs[0].plot([i for i in range(len(cross_entropy))], cross_entropy) +# axs[1].plot([i for i in range(len(all_cross[0]))], all_cross[0]) +# axs[2].plot([i for i in range(len(all_cross[1]))], all_cross[1]) +axs.scatter([i for i in range(len(cycle_error))], cycle_error) +# axs[1].plot([i for i in range(len(from_soft[0]))], from_soft[0]) +# axs[2].plot([i for i in range(len(from_soft[1]))], from_soft[1]) plt.show() pynn.end() @@ -287,4 +363,10 @@ def moving_average(a, n=3) : plt.plot([i for i in range(len(ave_sine))], cum_sine) plt.title(experiment_label) plt.show() + +plt.figure() +plt.plot([i for i in range(len(soft_max[0]))], soft_max[0]) +plt.plot([i for i in range(len(soft_max[1]))], soft_max[1]) +plt.title(experiment_label) +plt.show() ''' \ No newline at end of file From 66301b8b727928f6ced679173343c17b476ca1c4 Mon Sep 17 00:00:00 2001 From: such-a-git Date: Thu, 11 Jun 2020 14:11:14 +0100 Subject: [PATCH 42/68] created test for network that completes the task to a low level, minor changes to left right to reflect variable window size --- eprop_testing/hand_crafted_left_right.py | 378 +++++++++++++++++++++++ eprop_testing/test_left_right_readout.py | 27 +- 2 files changed, 395 insertions(+), 10 deletions(-) create mode 100644 eprop_testing/hand_crafted_left_right.py diff --git a/eprop_testing/hand_crafted_left_right.py b/eprop_testing/hand_crafted_left_right.py new file mode 100644 index 00000000..3b4a653a --- /dev/null +++ b/eprop_testing/hand_crafted_left_right.py @@ -0,0 +1,378 @@ +import spynnaker8 as pynn +import numpy as np +import matplotlib.pyplot as plt +from frozen_poisson import build_input_spike_train, frozen_poisson_variable_hz +from pyNN.random import NumpyRNG, RandomDistribution +from pyNN.utility.plotting import Figure, Panel +from spynnaker.pyNN.spynnaker_external_device_plugin_manager import SpynnakerExternalDevicePluginManager + +def weight_distribution(pop_size): + base_weight = np.random.randn() / np.sqrt(pop_size) #+ 0.5 + # base_weight = 0 + return base_weight + +def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): + connections = [] + max_syn_per_neuron = 0 + for j in range(post_pop_size): + neuron_syn_count = 0 + delay_count = offset + for i in range(pre_pop_size): + if np.random.random() < prob: + neuron_syn_count += 1 + conn = [i, j, weight_distribution(pre_pop_size), delay_count] + delay_count += 1 + connections.append(conn) + if neuron_syn_count > max_syn_per_neuron: + max_syn_per_neuron = neuron_syn_count + return connections, max_syn_per_neuron + +def range_connector(pre_min, pre_max, post_min, post_max, weight=2., delay_offset=0): + connections = [] + for j in range(post_min, post_max): + delay = delay_offset + for i in range(pre_min, pre_max): + connections.append([i, j, weight, delay]) + delay += 1 + return connections + +np.random.seed(272727) + +number_of_cues = 1 +cycle_time = (number_of_cues*150)+1000+150 +num_repeats = 50 +pynn.setup(1.0) + +target_data = [] +for i in range(1024): + target_data.append(#1) + 0 + 2 * np.sin(2 * i * 2* np.pi / 1024) \ + + 2 * np.sin((4 * i * 2* np.pi / 1024)) + ) + + +reg_rate = 0.000 +p_connect_in = 1. +p_connect_rec = 1. +p_connect_out = 1. +recurrent_connections = True +synapse_eta = 0.5 +tau_a = 2500#[cycle_time - 150 + (np.random.randn() * 200) for i in range(100)] +input_split = 20 + + +pynn.setup(timestep=1) + + +input_size = 40 +readout_neuron_params = { + "v": 0, + "v_thresh": 30, # controls firing rate of error neurons + "poisson_pop_size": input_size / 4, + # "tau_m": tau_a, + "w_fb": [1, -1, 0], + "eta": synapse_eta / 5. + } +rates = [] +for i in range(input_size): + if i >= (3*input_size) / 4: + rates.append(10) + else: + rates.append(0) +input_pop = pynn.Population(input_size, + pynn.SpikeSourcePoisson(rate=rates), + # {'spike_times': build_input_spike_train(num_repeats, cycle_time, input_size)}, + # {'spike_times': frozen_poisson_variable_hz(num_repeats, cycle_time, input_split, input_split, input_size)}, + label='input_pop') + +neuron_pop_size = 100 +ratio_of_LIF = 0.5 +beta = [] +for i in range(neuron_pop_size): + if i < neuron_pop_size/2: + # if i % 2 == 0: + beta.append(2.8) + else: + beta.append(2.8) +neuron_params = { + "v": 0, + "i_offset": 0, + "v_rest": 0, + # "w_fb": [np.random.random() for i in range(neuron_pop_size)], # best it seems + # "w_fb": [(np.random.random() * 2) - 1. for i in range(neuron_pop_size)], + "w_fb": [np.random.random() - np.random.random() for i in range(neuron_pop_size)], ## for both feedback weights + # "B": 0.0, + "beta": beta, + "target_rate": 10, + "tau_a": tau_a, + "eta": synapse_eta / 20. + } +neuron = pynn.Population(neuron_pop_size, + pynn.extra_models.EPropAdaptive(**neuron_params), + label='eprop_pop') + +# Output population +readout_pop = pynn.Population(3, # HARDCODED 1 + pynn.extra_models.LeftRightReadout( + **readout_neuron_params + ), + label="readout_pop" + ) + +SpynnakerExternalDevicePluginManager.add_edge(readout_pop._get_vertex, input_pop._get_vertex, "CONTROL") + +start_w = [weight_distribution(neuron_pop_size*input_size) for i in range(input_size)] +eprop_learning_neuron = pynn.STDPMechanism( + timing_dependence=pynn.extra_models.TimingDependenceEprop(), + weight_dependence=pynn.extra_models.WeightDependenceEpropReg( + w_min=-2.0, w_max=2.0, reg_rate=reg_rate)) + +# from_list_in, max_syn_per_input = probability_connector(input_size, neuron_pop_size, p_connect_in) +from_list_in = range_connector(0, 10, 0, 50) +from_list_in += range_connector(10, 20, 50, 100) +from_list_in += range_connector(20, 30, 0, 100, delay_offset=10) +in_proj = pynn.Projection(input_pop, + neuron, + pynn.FromListConnector(from_list_in), + # pynn.AllToAllConnector(), + synapse_type=eprop_learning_neuron, + label='input_connections', + receptor_type='input_connections') + +eprop_learning_output = pynn.STDPMechanism( + timing_dependence=pynn.extra_models.TimingDependenceEprop(), + weight_dependence=pynn.extra_models.WeightDependenceEpropReg( + w_min=-2.0, w_max=2.0, reg_rate=0.0)) + +# from_list_out = [[i, 0, weight_distribution(input_size), i] for i in range(input_size)] +# from_list_out, max_syn_per_output = probability_connector(neuron_pop_size, 2, p_connect_out) +from_list_out = range_connector(0, 50, 1, 2) +from_list_out += range_connector(50, 100, 0, 1) +out_proj = pynn.Projection(neuron, + readout_pop, + # pynn.OneToOneConnector(), + pynn.FromListConnector(from_list_out), + synapse_type=eprop_learning_output, + label='input_connections', + receptor_type='input_connections') + +learning_proj = pynn.Projection(readout_pop, + neuron, + pynn.AllToAllConnector(), + pynn.StaticSynapse(weight=0.5, delay=0), + receptor_type='learning_signal') + +learning_proj = pynn.Projection(readout_pop, + readout_pop, + pynn.AllToAllConnector(), + pynn.StaticSynapse(weight=0.5, delay=0), + receptor_type='learning_signal') + +if recurrent_connections: + eprop_learning_recurrent = pynn.STDPMechanism( + timing_dependence=pynn.extra_models.TimingDependenceEprop(), + weight_dependence=pynn.extra_models.WeightDependenceEpropReg( + w_min=-2.0, w_max=2.0, reg_rate=reg_rate)) + + # from_list_rec, max_syn_per_rec = probability_connector(neuron_pop_size, neuron_pop_size, p_connect_rec, offset=0) + from_list_rec = range_connector(0, 50, 50, 100, weight=-5., delay_offset=100) + from_list_rec += range_connector(50, 100, 0, 50, weight=-5., delay_offset=100) + recurrent_proj = pynn.Projection(neuron, + neuron, + pynn.FromListConnector(from_list_rec), + synapse_type=eprop_learning_recurrent, + label='recurrent_connections', + receptor_type='recurrent_connections') + +input_pop.record('spikes') +neuron.record('spikes') +neuron.record(['gsyn_exc', 'v', 'gsyn_inh'], indexes=[i for i in range(45, 55)]) +readout_pop.record('all') + +runtime = cycle_time * num_repeats + +experiment_label = "eta:{}/{} - size:{}/{} - reg_rate:{} - p_conn:{}/{}/{} - rec:{} - cycle:{}/{} delayed rec".format( + readout_neuron_params["eta"], neuron_params["eta"], input_size, neuron_pop_size, reg_rate, p_connect_in, p_connect_rec, p_connect_out, recurrent_connections, cycle_time, runtime) +print "\n", experiment_label, "\n" + +pynn.run(runtime) +in_spikes = input_pop.get_data('spikes') +neuron_res = neuron.get_data('all') +readout_res = readout_pop.get_data('all') + +total_error = 0.0 +cycle_error = [0.0 for i in range(num_repeats)] +soft_max = [[], []] +cross_entropy = [] # how do I extract the answer easily? final gsyn exc value? +all_cross = [[], []] +from_soft = [[], []] +for cycle in range(num_repeats): + ticks_for_mean = 0 + mean_0 = 0. + mean_1 = 0. + # mean_0_all = 0. + # mean_1_all = 0. + for time_index in range(cycle_time): + instantaneous_error = np.abs(float( + readout_res.segments[0].filter(name='gsyn_inh')[0][time_index+(cycle*cycle_time)][0])) + cycle_error[cycle] += instantaneous_error + total_error += instantaneous_error + + # if time_index > cycle_time - 150: + # ticks_for_mean = 1 + # instantaneous_v0 = float(readout_res.segments[0].filter(name='v')[0][time_index+(cycle*cycle_time)][0]) + # instantaneous_v1 = float(readout_res.segments[0].filter(name='v')[0][time_index+(cycle*cycle_time)][1]) + # mean_0 = instantaneous_v0 * 0.1 + # mean_1 = instantaneous_v1 * 0.1 + # exp_0 = np.exp(mean_0 / ticks_for_mean) + # exp_1 = np.exp(mean_1 / ticks_for_mean) + # if exp_0 == 0 and exp_1 == 0: + # if instantaneous_v0 > instantaneous_v1: + # soft_max[0].append(1) + # soft_max[1].append(0) + # else: + # soft_max[0].append(0) + # soft_max[1].append(1) + # else: + # soft_max[0].append(-np.log(exp_0 / (exp_0 + exp_1))) + # soft_max[1].append(-np.log(exp_1 / (exp_0 + exp_1))) + # if float(readout_res.segments[0].filter(name='gsyn_exc')[0][time_index+(cycle*cycle_time)][2]) < 3.5: + # cross_entropy.append(soft_max[0][-1]) + # else: + # cross_entropy.append(soft_max[1][-1]) + # + # from_soft[0].append(-np.log(float(readout_res.segments[0].filter(name='gsyn_exc')[0][time_index+(cycle*cycle_time)][0]))) + # from_soft[1].append(-np.log(float(readout_res.segments[0].filter(name='gsyn_exc')[0][time_index+(cycle*cycle_time)][1]))) + # else: + # soft_max[0].append(0) + # soft_max[1].append(0) + # from_soft[0].append(0) + # from_soft[1].append(0) + # cross_entropy.append(0) + # + # instantaneous_v0 = float(readout_res.segments[0].filter(name='v')[0][time_index + (cycle * cycle_time)][0]) + # instantaneous_v1 = float(readout_res.segments[0].filter(name='v')[0][time_index + (cycle * cycle_time)][1]) + # # mean_0_all += instantaneous_v0 + # # mean_1_all += instantaneous_v1 + # exp_0 = np.exp(instantaneous_v0 * 0.1) + # exp_1 = np.exp(instantaneous_v1 * 0.1) + # all_cross[0].append(-np.log(exp_0 / (exp_0 + exp_1))) + # all_cross[1].append(-np.log(exp_1 / (exp_0 + exp_1))) + + + +# new_connections_in = []#in_proj.get('weight', 'delay').connections[0]#[] +# for partition in in_proj.get('weight', 'delay').connections: +# for conn in partition: +# new_connections_in.append(conn) +# new_connections_in.sort(key=lambda x:x[1]) +# from_list_in.sort(key=lambda x:x[1]) +# connection_diff_in = [] +# for i in range(len(from_list_in)): +# connection_diff_in.append(new_connections_in[i][2] - from_list_in[i][2]) +# print "Input connections\noriginal\n", np.array(from_list_in) +# print "new\n", np.array(new_connections_in) +# print "diff\n", np.array(connection_diff_in) +# +# new_connections_out = []#out_proj.get('weight', 'delay').connections[0]#[] +# for partition in out_proj.get('weight', 'delay').connections: +# for conn in partition: +# new_connections_out.append(conn) +# new_connections_out.sort(key=lambda x:x[1]) +# from_list_out.sort(key=lambda x:x[1]) +# connection_diff_out = [] +# for i in range(len(from_list_out)): +# connection_diff_out.append(new_connections_out[i][2] - from_list_out[i][2]) +# print "Output connections\noriginal\n", np.array(from_list_out) +# print "new\n", np.array(new_connections_out) +# print "diff\n", np.array(connection_diff_out) +# +# if recurrent_connections: +# new_connections_rec = []#out_proj.get('weight', 'delay').connections[0]#[] +# for partition in recurrent_proj.get('weight', 'delay').connections: +# for conn in partition: +# new_connections_rec.append(conn) +# new_connections_rec.sort(key=lambda x:x[1]) +# from_list_rec.sort(key=lambda x:x[1]) +# connection_diff_rec = [] +# for i in range(len(from_list_out)): +# connection_diff_rec.append(new_connections_rec[i][2] - from_list_rec[i][2]) +# print "Recurrent connections\noriginal\n", np.array(from_list_out) +# print "new\n", np.array(new_connections_out) +# print "diff\n", np.array(connection_diff_out) + +print experiment_label +print "cycle_error =", cycle_error +print "total error =", total_error +print "average error = ", np.average(cycle_error) +print "weighted average", np.average(cycle_error, weights=[i for i in range(num_repeats)]) +print "minimum error = ", np.min(cycle_error) +print "minimum iteration =", cycle_error.index(np.min(cycle_error)), "- with time stamp =", cycle_error.index(np.min(cycle_error)) * 1024 + +plt.figure() +Figure( + Panel(neuron_res.segments[0].filter(name='v')[0], ylabel='Membrane potential (mV)', yticks=True, xticks=True, xlim=(0, runtime)), + + Panel(neuron_res.segments[0].filter(name='gsyn_exc')[0], ylabel='gsyn_exc', yticks=True, xticks=True, xlim=(0, runtime)), + + Panel(neuron_res.segments[0].filter(name='gsyn_inh')[0], ylabel='gsyn_inh', yticks=True, xticks=True, xlim=(0, runtime)), + + Panel(in_spikes.segments[0].spiketrains, ylabel='in_spikes', xlabel='in_spikes', yticks=True, xticks=True, xlim=(0, runtime)), + + Panel(neuron_res.segments[0].spiketrains, ylabel='neuron_spikes', xlabel='neuron_spikes', yticks=True, xticks=True, xlim=(0, runtime)), + + Panel(readout_res.segments[0].filter(name='v')[0], ylabel='Membrane potential (mV)', yticks=True, xticks=True, xlim=(0, runtime)), + + Panel(readout_res.segments[0].filter(name='gsyn_exc')[0], ylabel='gsyn_exc', yticks=True, xticks=True, xlim=(0, runtime)), + + Panel(readout_res.segments[0].filter(name='gsyn_inh')[0], ylabel='gsyn_inh', yticks=True, xticks=True, xlim=(0, runtime)), + + title="neuron data for {}".format(experiment_label) +) +plt.show() + +fig, axs = plt.subplots(1, 1) +axs.set_title(experiment_label) +# axs[0].plot([i for i in range(len(cross_entropy))], cross_entropy) +# axs[1].plot([i for i in range(len(all_cross[0]))], all_cross[0]) +# axs[2].plot([i for i in range(len(all_cross[1]))], all_cross[1]) +axs.scatter([i for i in range(len(cycle_error))], cycle_error) +# axs[1].plot([i for i in range(len(from_soft[0]))], from_soft[0]) +# axs[2].plot([i for i in range(len(from_soft[1]))], from_soft[1]) +plt.show() + +pynn.end() +print("job done") + +''' +plt.figure() +plt.scatter([i for i in range(num_repeats)], cycle_error) +plt.title(experiment_label) +plt.show() + +def moving_average(a, n=3) : + ret = np.cumsum(a, dtype=float) + ret[n:] = ret[n:] - ret[:-n] + return ret[n - 1:] / n + +v_mem = [] +sine_wave = [] +for timestep in readout_res.segments[0].filter(name='v')[0]: + v_mem.append(timestep[0]) + sine_wave.append(timestep[1]) + +ave_mem = moving_average(v_mem, 20) +ave_sine = moving_average(sine_wave, 20) + +plt.figure() +plt.plot([i for i in range(len(ave_mem))], cum_mem) +plt.plot([i for i in range(len(ave_sine))], cum_sine) +plt.title(experiment_label) +plt.show() + +plt.figure() +plt.plot([i for i in range(len(soft_max[0]))], soft_max[0]) +plt.plot([i for i in range(len(soft_max[1]))], soft_max[1]) +plt.title(experiment_label) +plt.show() +''' \ No newline at end of file diff --git a/eprop_testing/test_left_right_readout.py b/eprop_testing/test_left_right_readout.py index 852426c8..09eee325 100644 --- a/eprop_testing/test_left_right_readout.py +++ b/eprop_testing/test_left_right_readout.py @@ -7,7 +7,9 @@ from spynnaker.pyNN.spynnaker_external_device_plugin_manager import SpynnakerExternalDevicePluginManager def weight_distribution(pop_size): - base_weight = np.random.randn() / np.sqrt(pop_size) #+ 0.5 + base_weight = np.random.randn() / np.sqrt(pop_size) + 0.25 + if abs(base_weight) < np.exp(-10): # checking because if too many are small neurons can't learn + print "stop" # base_weight = 0 return base_weight @@ -47,9 +49,10 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): p_connect_rec = 1. p_connect_out = 1. recurrent_connections = True -synapse_eta = 0.5 -tau_a = 1500#[cycle_time - 150 + (np.random.randn() * 200) for i in range(100)] +synapse_eta = 0.25 +tau_a = 2000#[cycle_time - 150 + (np.random.randn() * 200) for i in range(100)] input_split = 20 +window_size = 14300 pynn.setup(timestep=1) @@ -61,7 +64,9 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): "v_thresh": 30, # controls firing rate of error neurons "poisson_pop_size": input_size / 4, # "tau_m": tau_a, - "eta": synapse_eta / 5. + "w_fb": [1, -1, 0], + "eta": synapse_eta / 5., + "window_size": window_size, } rates = [] for i in range(input_size): @@ -79,10 +84,11 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): ratio_of_LIF = 0.5 beta = [] for i in range(neuron_pop_size): - if i % 2 == 0: - beta.append(0) + if i < neuron_pop_size/2: + # if i % 2 == 0: + beta.append(0) #this should be 0, just testing all ALIF else: - beta.append(1.8) + beta.append(2.8) neuron_params = { "v": 0, "i_offset": 0, @@ -94,7 +100,8 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): "beta": beta, "target_rate": 10, "tau_a": tau_a, - "eta": synapse_eta / 20. + "eta": synapse_eta / 20., + "window_size": window_size, } neuron = pynn.Population(neuron_pop_size, pynn.extra_models.EPropAdaptive(**neuron_params), @@ -185,8 +192,8 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): runtime = cycle_time * num_repeats -experiment_label = "eta:{}/{} - size:{}/{} - reg_rate:{} - p_conn:{}/{}/{} - rec:{} - cycle:{}/{} -=10 5050 reg>0.5".format( - readout_neuron_params["eta"], neuron_params["eta"], input_size, neuron_pop_size, reg_rate, p_connect_in, p_connect_rec, p_connect_out, recurrent_connections, cycle_time, runtime) +experiment_label = "eta:{}/{} - size:{}/{} - reg_rate:{} - p_conn:{}/{}/{} - rec:{} - cycle:{}/{}/{} fullreg0".format( + readout_neuron_params["eta"], neuron_params["eta"], input_size, neuron_pop_size, reg_rate, p_connect_in, p_connect_rec, p_connect_out, recurrent_connections, cycle_time, window_size, runtime) print "\n", experiment_label, "\n" pynn.run(runtime) From 7206e3e86245ccc7195dc2c65aedaf681cb22524 Mon Sep 17 00:00:00 2001 From: such-a-git Date: Wed, 17 Jun 2020 15:59:11 +0100 Subject: [PATCH 43/68] New tests to explore readout and left-right issues --- eprop_testing/hand_crafted_left_right.py | 136 +++---- eprop_testing/input_buffer_overflow_test.py | 329 +++++++++++++++++ eprop_testing/readout_input_test.py | 386 ++++++++++++++++++++ eprop_testing/test_left_right_readout.py | 22 +- 4 files changed, 799 insertions(+), 74 deletions(-) create mode 100644 eprop_testing/input_buffer_overflow_test.py create mode 100644 eprop_testing/readout_input_test.py diff --git a/eprop_testing/hand_crafted_left_right.py b/eprop_testing/hand_crafted_left_right.py index 3b4a653a..0b3abdf3 100644 --- a/eprop_testing/hand_crafted_left_right.py +++ b/eprop_testing/hand_crafted_left_right.py @@ -27,20 +27,20 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): max_syn_per_neuron = neuron_syn_count return connections, max_syn_per_neuron -def range_connector(pre_min, pre_max, post_min, post_max, weight=2., delay_offset=0): +def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offset=0): connections = [] for j in range(post_min, post_max): - delay = delay_offset + # delay = delay_offset for i in range(pre_min, pre_max): - connections.append([i, j, weight, delay]) - delay += 1 + connections.append([i, j, weight, i+delay_offset]) + # delay += 1 return connections np.random.seed(272727) number_of_cues = 1 cycle_time = (number_of_cues*150)+1000+150 -num_repeats = 50 +num_repeats = 21 pynn.setup(1.0) target_data = [] @@ -58,7 +58,13 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=2., delay_offse recurrent_connections = True synapse_eta = 0.5 tau_a = 2500#[cycle_time - 150 + (np.random.randn() * 200) for i in range(100)] -input_split = 20 +input_split = 100 +window_size = cycle_time*10 + +in_weight = 2 +prompt_weight = 1 +rec_weight = -1.9 +out_weight = 1 pynn.setup(timestep=1) @@ -69,9 +75,12 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=2., delay_offse "v": 0, "v_thresh": 30, # controls firing rate of error neurons "poisson_pop_size": input_size / 4, + "rate_on": 40, + "rate_off": 0, # "tau_m": tau_a, "w_fb": [1, -1, 0], - "eta": synapse_eta / 5. + "eta": synapse_eta / 5., + "window_size": window_size, } rates = [] for i in range(input_size): @@ -105,7 +114,8 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=2., delay_offse "beta": beta, "target_rate": 10, "tau_a": tau_a, - "eta": synapse_eta / 20. + "eta": 0.0,#synapse_eta / 20., + "window_size": window_size, } neuron = pynn.Population(neuron_pop_size, pynn.extra_models.EPropAdaptive(**neuron_params), @@ -128,9 +138,10 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=2., delay_offse w_min=-2.0, w_max=2.0, reg_rate=reg_rate)) # from_list_in, max_syn_per_input = probability_connector(input_size, neuron_pop_size, p_connect_in) -from_list_in = range_connector(0, 10, 0, 50) -from_list_in += range_connector(10, 20, 50, 100) -from_list_in += range_connector(20, 30, 0, 100, delay_offset=10) +ps = readout_neuron_params["poisson_pop_size"] +from_list_in = range_connector(0, ps, 0, neuron_pop_size/2, weight=in_weight) +from_list_in += range_connector(ps, ps*2, neuron_pop_size/2, neuron_pop_size, weight=in_weight) +from_list_in += range_connector(ps*2, ps*3, 0, neuron_pop_size, delay_offset=0, weight=prompt_weight) in_proj = pynn.Projection(input_pop, neuron, pynn.FromListConnector(from_list_in), @@ -146,8 +157,10 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=2., delay_offse # from_list_out = [[i, 0, weight_distribution(input_size), i] for i in range(input_size)] # from_list_out, max_syn_per_output = probability_connector(neuron_pop_size, 2, p_connect_out) -from_list_out = range_connector(0, 50, 1, 2) -from_list_out += range_connector(50, 100, 0, 1) +from_list_out = range_connector(0, neuron_pop_size/2, 1, 2, weight=out_weight) +from_list_out += range_connector(neuron_pop_size/2, neuron_pop_size, 0, 1, weight=out_weight) +from_list_out += range_connector(0, neuron_pop_size/2, 0, 1, weight=-out_weight) +from_list_out += range_connector(neuron_pop_size/2, neuron_pop_size, 1, 2, weight=-out_weight) out_proj = pynn.Projection(neuron, readout_pop, # pynn.OneToOneConnector(), @@ -162,11 +175,11 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=2., delay_offse pynn.StaticSynapse(weight=0.5, delay=0), receptor_type='learning_signal') -learning_proj = pynn.Projection(readout_pop, - readout_pop, - pynn.AllToAllConnector(), - pynn.StaticSynapse(weight=0.5, delay=0), - receptor_type='learning_signal') +# learning_proj = pynn.Projection(readout_pop, +# readout_pop, +# pynn.AllToAllConnector(), +# pynn.StaticSynapse(weight=0.5, delay=0), +# receptor_type='learning_signal') if recurrent_connections: eprop_learning_recurrent = pynn.STDPMechanism( @@ -175,8 +188,8 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=2., delay_offse w_min=-2.0, w_max=2.0, reg_rate=reg_rate)) # from_list_rec, max_syn_per_rec = probability_connector(neuron_pop_size, neuron_pop_size, p_connect_rec, offset=0) - from_list_rec = range_connector(0, 50, 50, 100, weight=-5., delay_offset=100) - from_list_rec += range_connector(50, 100, 0, 50, weight=-5., delay_offset=100) + from_list_rec = range_connector(0, neuron_pop_size/2, neuron_pop_size/2, neuron_pop_size, weight=rec_weight, delay_offset=100) + from_list_rec += range_connector(neuron_pop_size/2, neuron_pop_size, 0, neuron_pop_size/2, weight=rec_weight, delay_offset=100) recurrent_proj = pynn.Projection(neuron, neuron, pynn.FromListConnector(from_list_rec), @@ -191,8 +204,8 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=2., delay_offse runtime = cycle_time * num_repeats -experiment_label = "eta:{}/{} - size:{}/{} - reg_rate:{} - p_conn:{}/{}/{} - rec:{} - cycle:{}/{} delayed rec".format( - readout_neuron_params["eta"], neuron_params["eta"], input_size, neuron_pop_size, reg_rate, p_connect_in, p_connect_rec, p_connect_out, recurrent_connections, cycle_time, runtime) +experiment_label = "eta:{}/{} - size:{}/{} - reg_rate:{} - p_conn:{}/{}/{} - rec:{} - cycle:{}/{}/{} regoff delai".format( + readout_neuron_params["eta"], neuron_params["eta"], input_size, neuron_pop_size, reg_rate, p_connect_in, p_connect_rec, p_connect_out, recurrent_connections, cycle_time, window_size, runtime) print "\n", experiment_label, "\n" pynn.run(runtime) @@ -258,48 +271,45 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=2., delay_offse # exp_1 = np.exp(instantaneous_v1 * 0.1) # all_cross[0].append(-np.log(exp_0 / (exp_0 + exp_1))) # all_cross[1].append(-np.log(exp_1 / (exp_0 + exp_1))) +new_connections_in = []#in_proj.get('weight', 'delay').connections[0]#[] +for partition in in_proj.get('weight', 'delay').connections: + for conn in partition: + new_connections_in.append(conn) +new_connections_in.sort(key=lambda x:x[1]) +from_list_in.sort(key=lambda x:x[1]) +connection_diff_in = [] +for i in range(len(from_list_in)): + connection_diff_in.append(new_connections_in[i][2] - from_list_in[i][2]) +print "Input connections\noriginal\n", np.array(from_list_in) +print "new\n", np.array(new_connections_in) +print "diff\n", np.array(connection_diff_in) + +new_connections_out = []#out_proj.get('weight', 'delay').connections[0]#[] +for partition in out_proj.get('weight', 'delay').connections: + for conn in partition: + new_connections_out.append(conn) +new_connections_out.sort(key=lambda x:x[1]) +from_list_out.sort(key=lambda x:x[1]) +connection_diff_out = [] +for i in range(len(from_list_out)): + connection_diff_out.append(new_connections_out[i][2] - from_list_out[i][2]) +print "Output connections\noriginal\n", np.array(from_list_out) +print "new\n", np.array(new_connections_out) +print "diff\n", np.array(connection_diff_out) - - -# new_connections_in = []#in_proj.get('weight', 'delay').connections[0]#[] -# for partition in in_proj.get('weight', 'delay').connections: -# for conn in partition: -# new_connections_in.append(conn) -# new_connections_in.sort(key=lambda x:x[1]) -# from_list_in.sort(key=lambda x:x[1]) -# connection_diff_in = [] -# for i in range(len(from_list_in)): -# connection_diff_in.append(new_connections_in[i][2] - from_list_in[i][2]) -# print "Input connections\noriginal\n", np.array(from_list_in) -# print "new\n", np.array(new_connections_in) -# print "diff\n", np.array(connection_diff_in) -# -# new_connections_out = []#out_proj.get('weight', 'delay').connections[0]#[] -# for partition in out_proj.get('weight', 'delay').connections: -# for conn in partition: -# new_connections_out.append(conn) -# new_connections_out.sort(key=lambda x:x[1]) -# from_list_out.sort(key=lambda x:x[1]) -# connection_diff_out = [] -# for i in range(len(from_list_out)): -# connection_diff_out.append(new_connections_out[i][2] - from_list_out[i][2]) -# print "Output connections\noriginal\n", np.array(from_list_out) -# print "new\n", np.array(new_connections_out) -# print "diff\n", np.array(connection_diff_out) -# -# if recurrent_connections: -# new_connections_rec = []#out_proj.get('weight', 'delay').connections[0]#[] -# for partition in recurrent_proj.get('weight', 'delay').connections: -# for conn in partition: -# new_connections_rec.append(conn) -# new_connections_rec.sort(key=lambda x:x[1]) -# from_list_rec.sort(key=lambda x:x[1]) -# connection_diff_rec = [] -# for i in range(len(from_list_out)): -# connection_diff_rec.append(new_connections_rec[i][2] - from_list_rec[i][2]) -# print "Recurrent connections\noriginal\n", np.array(from_list_out) -# print "new\n", np.array(new_connections_out) -# print "diff\n", np.array(connection_diff_out) +if recurrent_connections: + new_connections_rec = []#out_proj.get('weight', 'delay').connections[0]#[] + for partition in recurrent_proj.get('weight', 'delay').connections: + for conn in partition: + new_connections_rec.append(conn) + new_connections_rec.sort(key=lambda x:x[1]) + from_list_rec.sort(key=lambda x:x[1]) + connection_diff_rec = [] + for i in range(len(from_list_rec)): + connection_diff_rec.append(new_connections_rec[i][2] - from_list_rec[i][2]) + print "Recurrent connections\noriginal\n", np.array(from_list_rec) + print "new\n", np.array(new_connections_rec) + print "diff\n", np.array(connection_diff_rec) print experiment_label print "cycle_error =", cycle_error diff --git a/eprop_testing/input_buffer_overflow_test.py b/eprop_testing/input_buffer_overflow_test.py new file mode 100644 index 00000000..505981ae --- /dev/null +++ b/eprop_testing/input_buffer_overflow_test.py @@ -0,0 +1,329 @@ +import spynnaker8 as pynn +import numpy as np +import matplotlib.pyplot as plt +from frozen_poisson import build_input_spike_train, frozen_poisson_variable_hz +from pyNN.random import NumpyRNG, RandomDistribution +from pyNN.utility.plotting import Figure, Panel +from spynnaker.pyNN.spynnaker_external_device_plugin_manager import SpynnakerExternalDevicePluginManager + +def weight_distribution(pop_size): + base_weight = np.random.randn() / np.sqrt(pop_size) #+ 0.5 + # base_weight = 0 + return base_weight + +def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): + connections = [] + max_syn_per_neuron = 0 + for j in range(post_pop_size): + neuron_syn_count = 0 + delay_count = offset + for i in range(pre_pop_size): + if np.random.random() < prob: + neuron_syn_count += 1 + conn = [i, j, weight_distribution(pre_pop_size), delay_count] + delay_count += 1 + connections.append(conn) + if neuron_syn_count > max_syn_per_neuron: + max_syn_per_neuron = neuron_syn_count + return connections, max_syn_per_neuron + +def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offset=0): + connections = [] + for j in range(post_min, post_max): + delay = delay_offset + for i in range(pre_min, pre_max): + connections.append([i, j, weight, i+delay_offset]) + delay += 1 + return connections + +np.random.seed(272727) + +number_of_cues = 1 +cycle_time = (number_of_cues*150)+1000+150 +num_repeats = 4 +pynn.setup(1.0) + +target_data = [] +for i in range(1024): + target_data.append(#1) + 0 + 2 * np.sin(2 * i * 2* np.pi / 1024) \ + + 2 * np.sin((4 * i * 2* np.pi / 1024)) + ) + + +reg_rate = 0.000 +p_connect_in = 1. +p_connect_rec = 1. +p_connect_out = 1. +recurrent_connections = False +synapse_eta = 0.5 +tau_a = 5500#[cycle_time - 150 + (np.random.randn() * 200) for i in range(100)] +input_split = 100 +window_size = 1300*10 + +in_weight = 2 +prompt_weight = 2 +rec_weight = -1.9 +out_weight = 1 + + +pynn.setup(timestep=1) + + +input_size = 24 +readout_neuron_params = { + "v": 0, + "v_thresh": 30, # controls firing rate of error neurons + "poisson_pop_size": input_size / 4, + "rate_on": 40, + "rate_off": 0, + # "tau_m": tau_a, + "w_fb": [1, -1, 0], + "eta": synapse_eta / 5., + "window_size": window_size, + } +rates = [] +for i in range(input_size): + if i >= (3*input_size) / 4: + rates.append(10) + else: + rates.append(0) +input_pop = pynn.Population(input_size, + pynn.SpikeSourcePoisson(rate=rates), + # {'spike_times': build_input_spike_train(num_repeats, cycle_time, input_size)}, + # {'spike_times': frozen_poisson_variable_hz(num_repeats, cycle_time, input_split, input_split, input_size)}, + label='input_pop') + +neuron_pop_size = 10 +ratio_of_LIF = 0.5 +beta = [] +for i in range(neuron_pop_size): + if i < neuron_pop_size/2: + # if i % 2 == 0: + beta.append(25.8) + else: + beta.append(25.8) +neuron_params = { + "v": 0, + "i_offset": 0, + "v_rest": 0, + # "w_fb": [np.random.random() for i in range(neuron_pop_size)], # best it seems + # "w_fb": [(np.random.random() * 2) - 1. for i in range(neuron_pop_size)], + "w_fb": [np.random.random() - np.random.random() for i in range(neuron_pop_size)], ## for both feedback weights + # "B": 0.0, + "beta": beta, + "target_rate": 10, + "tau_a": tau_a, + "eta": 0.0,#synapse_eta / 20., + "window_size": window_size, + } +neuron = pynn.Population(neuron_pop_size, + pynn.extra_models.EPropAdaptive(**neuron_params), + label='eprop_pop') + +# Output population +readout_pop = pynn.Population(3, # HARDCODED 1 + pynn.extra_models.LeftRightReadout( + **readout_neuron_params + ), + label="readout_pop" + ) + +SpynnakerExternalDevicePluginManager.add_edge(readout_pop._get_vertex, input_pop._get_vertex, "CONTROL") + +start_w = [weight_distribution(neuron_pop_size*input_size) for i in range(input_size)] +eprop_learning_neuron = pynn.STDPMechanism( + timing_dependence=pynn.extra_models.TimingDependenceEprop(), + weight_dependence=pynn.extra_models.WeightDependenceEpropReg( + w_min=-2.0, w_max=2.0, reg_rate=reg_rate)) + +# from_list_in, max_syn_per_input = probability_connector(input_size, neuron_pop_size, p_connect_in) +ps = readout_neuron_params["poisson_pop_size"] +from_list_in = range_connector(0, ps, 0, neuron_pop_size/2, weight=in_weight) +from_list_in += range_connector(ps, ps*2, neuron_pop_size/2, neuron_pop_size, weight=in_weight) +from_list_in += range_connector(ps*2, ps*3, 0, neuron_pop_size, delay_offset=0, weight=prompt_weight) +in_proj = pynn.Projection(input_pop, + neuron, + pynn.FromListConnector(from_list_in), + # pynn.AllToAllConnector(), + synapse_type=eprop_learning_neuron, + label='input_connections', + receptor_type='input_connections') + +eprop_learning_output = pynn.STDPMechanism( + timing_dependence=pynn.extra_models.TimingDependenceEprop(), + weight_dependence=pynn.extra_models.WeightDependenceEpropReg( + w_min=-2.0, w_max=2.0, reg_rate=0.0)) + +overflow_pop_size = 20 +overflow_spike_times = [] +inhibitory_spike_times = [] +dt = 100 +for i in range(overflow_pop_size): + overflow_spike_times.append([(overflow_pop_size - i) * dt for i in range(i+1)]) + inhibitory_spike_times.append([(overflow_pop_size*dt) + (overflow_pop_size - i) * dt for i in range(i+1)]) + +# from_list_out = [[i, 0, weight_distribution(input_size), i] for i in range(input_size)] +# from_list_out, max_syn_per_output = probability_connector(neuron_pop_size, 2, p_connect_out) +# from_list_out = range_connector(0, neuron_pop_size/2, 1, 2, weight=out_weight) +# from_list_out += range_connector(neuron_pop_size/2, neuron_pop_size, 0, 1, weight=out_weight) +from_list_out = range_connector(0, overflow_pop_size, 0, 2, weight=out_weight) +from_list_inhib = range_connector(0, overflow_pop_size, 0, 2, weight=-out_weight) +overflow_neurons = pynn.Population(overflow_pop_size, + pynn.SpikeSourceArray(spike_times=overflow_spike_times), + # {'spike_times': build_input_spike_train(num_repeats, cycle_time, input_size)}, + # {'spike_times': frozen_poisson_variable_hz(num_repeats, cycle_time, input_split, input_split, input_size)}, + label='overflow_pop') +inhib_neurons = pynn.Population(overflow_pop_size, + pynn.SpikeSourceArray(spike_times=inhibitory_spike_times), + # {'spike_times': build_input_spike_train(num_repeats, cycle_time, input_size)}, + # {'spike_times': frozen_poisson_variable_hz(num_repeats, cycle_time, input_split, input_split, input_size)}, + label='overflow_pop') + +out_proj = pynn.Projection(overflow_neurons, + readout_pop, + # pynn.OneToOneConnector(), + pynn.FromListConnector(from_list_out), + synapse_type=eprop_learning_output, + label='input_connections', + receptor_type='input_connections') + +inh_proj = pynn.Projection(inhib_neurons, + readout_pop, + # pynn.OneToOneConnector(), + pynn.FromListConnector(from_list_inhib), + synapse_type=eprop_learning_output, + label='input_connections', + receptor_type='input_connections') + +learning_proj = pynn.Projection(readout_pop, + neuron, + pynn.AllToAllConnector(), + pynn.StaticSynapse(weight=0.5, delay=0), + receptor_type='learning_signal') + +input_pop.record('spikes') +neuron.record('spikes') +neuron.record(['gsyn_exc', 'v', 'gsyn_inh'])#, indexes=[i for i in range(45, 55)]) +readout_pop.record('all') + +runtime = cycle_time * num_repeats + +experiment_label = "eta:{}/{} - size:{}/{} - reg_rate:{} - p_conn:{}/{}/{} - rec:{} - cycle:{}/{}/{} regoff delai".format( + readout_neuron_params["eta"], neuron_params["eta"], input_size, neuron_pop_size, reg_rate, p_connect_in, p_connect_rec, p_connect_out, recurrent_connections, cycle_time, window_size, runtime) +print "\n", experiment_label, "\n" + +pynn.run(runtime) +in_spikes = input_pop.get_data('spikes') +neuron_res = neuron.get_data('all') +readout_res = readout_pop.get_data('all') + +total_error = 0.0 +cycle_error = [0.0 for i in range(num_repeats)] +soft_max = [[], []] +cross_entropy = [] # how do I extract the answer easily? final gsyn exc value? +all_cross = [[], []] +from_soft = [[], []] +for cycle in range(num_repeats): + ticks_for_mean = 0 + mean_0 = 0. + mean_1 = 0. + # mean_0_all = 0. + # mean_1_all = 0. + for time_index in range(cycle_time): + instantaneous_error = np.abs(float( + readout_res.segments[0].filter(name='gsyn_inh')[0][time_index+(cycle*cycle_time)][0])) + cycle_error[cycle] += instantaneous_error + total_error += instantaneous_error + +new_connections_in = []#in_proj.get('weight', 'delay').connections[0]#[] +for partition in in_proj.get('weight', 'delay').connections: + for conn in partition: + new_connections_in.append(conn) +new_connections_in.sort(key=lambda x:x[1]) +from_list_in.sort(key=lambda x:x[1]) +connection_diff_in = [] +for i in range(len(from_list_in)): + connection_diff_in.append(new_connections_in[i][2] - from_list_in[i][2]) +print "Input connections\noriginal\n", np.array(from_list_in) +print "new\n", np.array(new_connections_in) +print "diff\n", np.array(connection_diff_in) + +new_connections_out = []#out_proj.get('weight', 'delay').connections[0]#[] +for partition in out_proj.get('weight', 'delay').connections: + for conn in partition: + new_connections_out.append(conn) +new_connections_out.sort(key=lambda x:x[1]) +from_list_out.sort(key=lambda x:x[1]) +connection_diff_out = [] +for i in range(len(from_list_out)): + connection_diff_out.append(new_connections_out[i][2] - from_list_out[i][2]) +print "Output connections\noriginal\n", np.array(from_list_out) +print "new\n", np.array(new_connections_out) +print "diff\n", np.array(connection_diff_out) + +print experiment_label +print "cycle_error =", cycle_error +print "total error =", total_error +print "average error = ", np.average(cycle_error) +print "weighted average", np.average(cycle_error, weights=[i for i in range(num_repeats)]) +print "minimum error = ", np.min(cycle_error) +print "minimum iteration =", cycle_error.index(np.min(cycle_error)), "- with time stamp =", cycle_error.index(np.min(cycle_error)) * 1024 + +plt.figure() +Figure( + Panel(neuron_res.segments[0].filter(name='v')[0], ylabel='Membrane potential (mV)', yticks=True, xticks=True, xlim=(0, runtime)), + + Panel(neuron_res.segments[0].filter(name='gsyn_exc')[0], ylabel='gsyn_exc', yticks=True, xticks=True, xlim=(0, runtime)), + + Panel(neuron_res.segments[0].filter(name='gsyn_inh')[0], ylabel='gsyn_inh', yticks=True, xticks=True, xlim=(0, runtime)), + + Panel(in_spikes.segments[0].spiketrains, ylabel='in_spikes', xlabel='in_spikes', yticks=True, xticks=True, xlim=(0, runtime)), + + Panel(neuron_res.segments[0].spiketrains, ylabel='neuron_spikes', xlabel='neuron_spikes', yticks=True, xticks=True, xlim=(0, runtime)), + + Panel(readout_res.segments[0].filter(name='v')[0], ylabel='Membrane potential (mV)', yticks=True, xticks=True, xlim=(0, runtime)), + + Panel(readout_res.segments[0].filter(name='gsyn_exc')[0], ylabel='gsyn_exc', yticks=True, xticks=True, xlim=(0, runtime)), + + Panel(readout_res.segments[0].filter(name='gsyn_inh')[0], ylabel='gsyn_inh', yticks=True, xticks=True, xlim=(0, runtime)), + + title="neuron data for {}".format(experiment_label) +) +plt.show() + +pynn.end() +print("job done") + +''' +plt.figure() +plt.scatter([i for i in range(num_repeats)], cycle_error) +plt.title(experiment_label) +plt.show() + +def moving_average(a, n=3) : + ret = np.cumsum(a, dtype=float) + ret[n:] = ret[n:] - ret[:-n] + return ret[n - 1:] / n + +v_mem = [] +sine_wave = [] +for timestep in readout_res.segments[0].filter(name='v')[0]: + v_mem.append(timestep[0]) + sine_wave.append(timestep[1]) + +ave_mem = moving_average(v_mem, 20) +ave_sine = moving_average(sine_wave, 20) + +plt.figure() +plt.plot([i for i in range(len(ave_mem))], cum_mem) +plt.plot([i for i in range(len(ave_sine))], cum_sine) +plt.title(experiment_label) +plt.show() + +plt.figure() +plt.plot([i for i in range(len(soft_max[0]))], soft_max[0]) +plt.plot([i for i in range(len(soft_max[1]))], soft_max[1]) +plt.title(experiment_label) +plt.show() +''' \ No newline at end of file diff --git a/eprop_testing/readout_input_test.py b/eprop_testing/readout_input_test.py new file mode 100644 index 00000000..db97477a --- /dev/null +++ b/eprop_testing/readout_input_test.py @@ -0,0 +1,386 @@ +import spynnaker8 as pynn +import numpy as np +import matplotlib.pyplot as plt +from frozen_poisson import build_input_spike_train, frozen_poisson_variable_hz +from pyNN.random import NumpyRNG, RandomDistribution +from pyNN.utility.plotting import Figure, Panel +from spynnaker.pyNN.spynnaker_external_device_plugin_manager import SpynnakerExternalDevicePluginManager + +def weight_distribution(pop_size): + base_weight = np.random.randn() / np.sqrt(pop_size) #+ 0.5 + # base_weight = 0 + return base_weight + +def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): + connections = [] + max_syn_per_neuron = 0 + for j in range(post_pop_size): + neuron_syn_count = 0 + delay_count = offset + for i in range(pre_pop_size): + if np.random.random() < prob: + neuron_syn_count += 1 + conn = [i, j, weight_distribution(pre_pop_size), delay_count] + delay_count += 1 + connections.append(conn) + if neuron_syn_count > max_syn_per_neuron: + max_syn_per_neuron = neuron_syn_count + return connections, max_syn_per_neuron + +def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offset=0): + connections = [] + for j in range(post_min, post_max): + delay = delay_offset + for i in range(pre_min, pre_max): + connections.append([i, j, weight, i+delay_offset]) + delay += 1 + return connections + +np.random.seed(272727) + +number_of_cues = 1 +cycle_time = (number_of_cues*150)+1000+150 +num_repeats = 4 +pynn.setup(1.0) + +target_data = [] +for i in range(1024): + target_data.append(#1) + 0 + 2 * np.sin(2 * i * 2* np.pi / 1024) \ + + 2 * np.sin((4 * i * 2* np.pi / 1024)) + ) + + +reg_rate = 0.000 +p_connect_in = 1. +p_connect_rec = 1. +p_connect_out = 1. +recurrent_connections = False +synapse_eta = 0.5 +tau_a = 5500#[cycle_time - 150 + (np.random.randn() * 200) for i in range(100)] +input_split = 100 +window_size = 1300*10 + +in_weight = 2 +prompt_weight = 2 +rec_weight = -1.9 +out_weight = 1 + + +pynn.setup(timestep=1) + + +input_size = 24 +readout_neuron_params = { + "v": 0, + "v_thresh": 30, # controls firing rate of error neurons + "poisson_pop_size": input_size / 4, + "rate_on": 40, + "rate_off": 0, + # "tau_m": tau_a, + "w_fb": [1, -1, 0], + "eta": synapse_eta / 5., + "window_size": window_size, + } +rates = [] +for i in range(input_size): + if i >= (3*input_size) / 4: + rates.append(10) + else: + rates.append(0) +input_pop = pynn.Population(input_size, + pynn.SpikeSourcePoisson(rate=rates), + # {'spike_times': build_input_spike_train(num_repeats, cycle_time, input_size)}, + # {'spike_times': frozen_poisson_variable_hz(num_repeats, cycle_time, input_split, input_split, input_size)}, + label='input_pop') + +neuron_pop_size = 10 +ratio_of_LIF = 0.5 +beta = [] +for i in range(neuron_pop_size): + if i < neuron_pop_size/2: + # if i % 2 == 0: + beta.append(25.8) + else: + beta.append(25.8) +neuron_params = { + "v": 0, + "i_offset": 0, + "v_rest": 0, + # "w_fb": [np.random.random() for i in range(neuron_pop_size)], # best it seems + # "w_fb": [(np.random.random() * 2) - 1. for i in range(neuron_pop_size)], + "w_fb": [np.random.random() - np.random.random() for i in range(neuron_pop_size)], ## for both feedback weights + # "B": 0.0, + "beta": beta, + "target_rate": 10, + "tau_a": tau_a, + "eta": 0.0,#synapse_eta / 20., + "window_size": window_size, + } +neuron = pynn.Population(neuron_pop_size, + pynn.extra_models.EPropAdaptive(**neuron_params), + label='eprop_pop') + +# Output population +readout_pop = pynn.Population(3, # HARDCODED 1 + pynn.extra_models.LeftRightReadout( + **readout_neuron_params + ), + label="readout_pop" + ) + +SpynnakerExternalDevicePluginManager.add_edge(readout_pop._get_vertex, input_pop._get_vertex, "CONTROL") + +start_w = [weight_distribution(neuron_pop_size*input_size) for i in range(input_size)] +eprop_learning_neuron = pynn.STDPMechanism( + timing_dependence=pynn.extra_models.TimingDependenceEprop(), + weight_dependence=pynn.extra_models.WeightDependenceEpropReg( + w_min=-2.0, w_max=2.0, reg_rate=reg_rate)) + +# from_list_in, max_syn_per_input = probability_connector(input_size, neuron_pop_size, p_connect_in) +ps = readout_neuron_params["poisson_pop_size"] +from_list_in = range_connector(0, ps, 0, neuron_pop_size/2, weight=in_weight) +from_list_in += range_connector(ps, ps*2, neuron_pop_size/2, neuron_pop_size, weight=in_weight) +from_list_in += range_connector(ps*2, ps*3, 0, neuron_pop_size, delay_offset=0, weight=prompt_weight) +in_proj = pynn.Projection(input_pop, + neuron, + pynn.FromListConnector(from_list_in), + # pynn.AllToAllConnector(), + synapse_type=eprop_learning_neuron, + label='input_connections', + receptor_type='input_connections') + +eprop_learning_output = pynn.STDPMechanism( + timing_dependence=pynn.extra_models.TimingDependenceEprop(), + weight_dependence=pynn.extra_models.WeightDependenceEpropReg( + w_min=-2.0, w_max=2.0, reg_rate=0.0)) + +# from_list_out = [[i, 0, weight_distribution(input_size), i] for i in range(input_size)] +# from_list_out, max_syn_per_output = probability_connector(neuron_pop_size, 2, p_connect_out) +from_list_out = range_connector(0, neuron_pop_size/2, 1, 2, weight=out_weight) +from_list_out += range_connector(neuron_pop_size/2, neuron_pop_size, 0, 1, weight=out_weight) +out_proj = pynn.Projection(neuron, + readout_pop, + # pynn.OneToOneConnector(), + pynn.FromListConnector(from_list_out), + synapse_type=eprop_learning_output, + label='input_connections', + receptor_type='input_connections') + +learning_proj = pynn.Projection(readout_pop, + neuron, + pynn.AllToAllConnector(), + pynn.StaticSynapse(weight=0.5, delay=0), + receptor_type='learning_signal') + +# learning_proj = pynn.Projection(readout_pop, +# readout_pop, +# pynn.AllToAllConnector(), +# pynn.StaticSynapse(weight=0.5, delay=0), +# receptor_type='learning_signal') + +if recurrent_connections: + eprop_learning_recurrent = pynn.STDPMechanism( + timing_dependence=pynn.extra_models.TimingDependenceEprop(), + weight_dependence=pynn.extra_models.WeightDependenceEpropReg( + w_min=-2.0, w_max=2.0, reg_rate=reg_rate)) + + # from_list_rec, max_syn_per_rec = probability_connector(neuron_pop_size, neuron_pop_size, p_connect_rec, offset=0) + from_list_rec = range_connector(0, 50, 50, 100, weight=rec_weight, delay_offset=100) + from_list_rec += range_connector(50, 100, 0, 50, weight=rec_weight, delay_offset=100) + recurrent_proj = pynn.Projection(neuron, + neuron, + pynn.FromListConnector(from_list_rec), + synapse_type=eprop_learning_recurrent, + label='recurrent_connections', + receptor_type='recurrent_connections') + +input_pop.record('spikes') +neuron.record('spikes') +neuron.record(['gsyn_exc', 'v', 'gsyn_inh'])#, indexes=[i for i in range(45, 55)]) +readout_pop.record('all') + +runtime = cycle_time * num_repeats + +experiment_label = "eta:{}/{} - size:{}/{} - reg_rate:{} - p_conn:{}/{}/{} - rec:{} - cycle:{}/{}/{} regoff delai".format( + readout_neuron_params["eta"], neuron_params["eta"], input_size, neuron_pop_size, reg_rate, p_connect_in, p_connect_rec, p_connect_out, recurrent_connections, cycle_time, window_size, runtime) +print "\n", experiment_label, "\n" + +pynn.run(runtime) +in_spikes = input_pop.get_data('spikes') +neuron_res = neuron.get_data('all') +readout_res = readout_pop.get_data('all') + +total_error = 0.0 +cycle_error = [0.0 for i in range(num_repeats)] +soft_max = [[], []] +cross_entropy = [] # how do I extract the answer easily? final gsyn exc value? +all_cross = [[], []] +from_soft = [[], []] +for cycle in range(num_repeats): + ticks_for_mean = 0 + mean_0 = 0. + mean_1 = 0. + # mean_0_all = 0. + # mean_1_all = 0. + for time_index in range(cycle_time): + instantaneous_error = np.abs(float( + readout_res.segments[0].filter(name='gsyn_inh')[0][time_index+(cycle*cycle_time)][0])) + cycle_error[cycle] += instantaneous_error + total_error += instantaneous_error + + # if time_index > cycle_time - 150: + # ticks_for_mean = 1 + # instantaneous_v0 = float(readout_res.segments[0].filter(name='v')[0][time_index+(cycle*cycle_time)][0]) + # instantaneous_v1 = float(readout_res.segments[0].filter(name='v')[0][time_index+(cycle*cycle_time)][1]) + # mean_0 = instantaneous_v0 * 0.1 + # mean_1 = instantaneous_v1 * 0.1 + # exp_0 = np.exp(mean_0 / ticks_for_mean) + # exp_1 = np.exp(mean_1 / ticks_for_mean) + # if exp_0 == 0 and exp_1 == 0: + # if instantaneous_v0 > instantaneous_v1: + # soft_max[0].append(1) + # soft_max[1].append(0) + # else: + # soft_max[0].append(0) + # soft_max[1].append(1) + # else: + # soft_max[0].append(-np.log(exp_0 / (exp_0 + exp_1))) + # soft_max[1].append(-np.log(exp_1 / (exp_0 + exp_1))) + # if float(readout_res.segments[0].filter(name='gsyn_exc')[0][time_index+(cycle*cycle_time)][2]) < 3.5: + # cross_entropy.append(soft_max[0][-1]) + # else: + # cross_entropy.append(soft_max[1][-1]) + # + # from_soft[0].append(-np.log(float(readout_res.segments[0].filter(name='gsyn_exc')[0][time_index+(cycle*cycle_time)][0]))) + # from_soft[1].append(-np.log(float(readout_res.segments[0].filter(name='gsyn_exc')[0][time_index+(cycle*cycle_time)][1]))) + # else: + # soft_max[0].append(0) + # soft_max[1].append(0) + # from_soft[0].append(0) + # from_soft[1].append(0) + # cross_entropy.append(0) + # + # instantaneous_v0 = float(readout_res.segments[0].filter(name='v')[0][time_index + (cycle * cycle_time)][0]) + # instantaneous_v1 = float(readout_res.segments[0].filter(name='v')[0][time_index + (cycle * cycle_time)][1]) + # # mean_0_all += instantaneous_v0 + # # mean_1_all += instantaneous_v1 + # exp_0 = np.exp(instantaneous_v0 * 0.1) + # exp_1 = np.exp(instantaneous_v1 * 0.1) + # all_cross[0].append(-np.log(exp_0 / (exp_0 + exp_1))) + # all_cross[1].append(-np.log(exp_1 / (exp_0 + exp_1))) +new_connections_in = []#in_proj.get('weight', 'delay').connections[0]#[] +for partition in in_proj.get('weight', 'delay').connections: + for conn in partition: + new_connections_in.append(conn) +new_connections_in.sort(key=lambda x:x[1]) +from_list_in.sort(key=lambda x:x[1]) +connection_diff_in = [] +for i in range(len(from_list_in)): + connection_diff_in.append(new_connections_in[i][2] - from_list_in[i][2]) +print "Input connections\noriginal\n", np.array(from_list_in) +print "new\n", np.array(new_connections_in) +print "diff\n", np.array(connection_diff_in) + +new_connections_out = []#out_proj.get('weight', 'delay').connections[0]#[] +for partition in out_proj.get('weight', 'delay').connections: + for conn in partition: + new_connections_out.append(conn) +new_connections_out.sort(key=lambda x:x[1]) +from_list_out.sort(key=lambda x:x[1]) +connection_diff_out = [] +for i in range(len(from_list_out)): + connection_diff_out.append(new_connections_out[i][2] - from_list_out[i][2]) +print "Output connections\noriginal\n", np.array(from_list_out) +print "new\n", np.array(new_connections_out) +print "diff\n", np.array(connection_diff_out) + +if recurrent_connections: + new_connections_rec = []#out_proj.get('weight', 'delay').connections[0]#[] + for partition in recurrent_proj.get('weight', 'delay').connections: + for conn in partition: + new_connections_rec.append(conn) + new_connections_rec.sort(key=lambda x:x[1]) + from_list_rec.sort(key=lambda x:x[1]) + connection_diff_rec = [] + for i in range(len(from_list_rec)): + connection_diff_rec.append(new_connections_rec[i][2] - from_list_rec[i][2]) + print "Recurrent connections\noriginal\n", np.array(from_list_rec) + print "new\n", np.array(new_connections_rec) + print "diff\n", np.array(connection_diff_rec) + +print experiment_label +print "cycle_error =", cycle_error +print "total error =", total_error +print "average error = ", np.average(cycle_error) +print "weighted average", np.average(cycle_error, weights=[i for i in range(num_repeats)]) +print "minimum error = ", np.min(cycle_error) +print "minimum iteration =", cycle_error.index(np.min(cycle_error)), "- with time stamp =", cycle_error.index(np.min(cycle_error)) * 1024 + +plt.figure() +Figure( + Panel(neuron_res.segments[0].filter(name='v')[0], ylabel='Membrane potential (mV)', yticks=True, xticks=True, xlim=(0, runtime)), + + Panel(neuron_res.segments[0].filter(name='gsyn_exc')[0], ylabel='gsyn_exc', yticks=True, xticks=True, xlim=(0, runtime)), + + Panel(neuron_res.segments[0].filter(name='gsyn_inh')[0], ylabel='gsyn_inh', yticks=True, xticks=True, xlim=(0, runtime)), + + Panel(in_spikes.segments[0].spiketrains, ylabel='in_spikes', xlabel='in_spikes', yticks=True, xticks=True, xlim=(0, runtime)), + + Panel(neuron_res.segments[0].spiketrains, ylabel='neuron_spikes', xlabel='neuron_spikes', yticks=True, xticks=True, xlim=(0, runtime)), + + Panel(readout_res.segments[0].filter(name='v')[0], ylabel='Membrane potential (mV)', yticks=True, xticks=True, xlim=(0, runtime)), + + Panel(readout_res.segments[0].filter(name='gsyn_exc')[0], ylabel='gsyn_exc', yticks=True, xticks=True, xlim=(0, runtime)), + + Panel(readout_res.segments[0].filter(name='gsyn_inh')[0], ylabel='gsyn_inh', yticks=True, xticks=True, xlim=(0, runtime)), + + title="neuron data for {}".format(experiment_label) +) +plt.show() + +fig, axs = plt.subplots(1, 1) +axs.set_title(experiment_label) +# axs[0].plot([i for i in range(len(cross_entropy))], cross_entropy) +# axs[1].plot([i for i in range(len(all_cross[0]))], all_cross[0]) +# axs[2].plot([i for i in range(len(all_cross[1]))], all_cross[1]) +axs.scatter([i for i in range(len(cycle_error))], cycle_error) +# axs[1].plot([i for i in range(len(from_soft[0]))], from_soft[0]) +# axs[2].plot([i for i in range(len(from_soft[1]))], from_soft[1]) +plt.show() + +pynn.end() +print("job done") + +''' +plt.figure() +plt.scatter([i for i in range(num_repeats)], cycle_error) +plt.title(experiment_label) +plt.show() + +def moving_average(a, n=3) : + ret = np.cumsum(a, dtype=float) + ret[n:] = ret[n:] - ret[:-n] + return ret[n - 1:] / n + +v_mem = [] +sine_wave = [] +for timestep in readout_res.segments[0].filter(name='v')[0]: + v_mem.append(timestep[0]) + sine_wave.append(timestep[1]) + +ave_mem = moving_average(v_mem, 20) +ave_sine = moving_average(sine_wave, 20) + +plt.figure() +plt.plot([i for i in range(len(ave_mem))], cum_mem) +plt.plot([i for i in range(len(ave_sine))], cum_sine) +plt.title(experiment_label) +plt.show() + +plt.figure() +plt.plot([i for i in range(len(soft_max[0]))], soft_max[0]) +plt.plot([i for i in range(len(soft_max[1]))], soft_max[1]) +plt.title(experiment_label) +plt.show() +''' \ No newline at end of file diff --git a/eprop_testing/test_left_right_readout.py b/eprop_testing/test_left_right_readout.py index 09eee325..115b8e70 100644 --- a/eprop_testing/test_left_right_readout.py +++ b/eprop_testing/test_left_right_readout.py @@ -7,7 +7,7 @@ from spynnaker.pyNN.spynnaker_external_device_plugin_manager import SpynnakerExternalDevicePluginManager def weight_distribution(pop_size): - base_weight = np.random.randn() / np.sqrt(pop_size) + 0.25 + base_weight = np.random.randn() / np.sqrt(pop_size) + 0.5 if abs(base_weight) < np.exp(-10): # checking because if too many are small neurons can't learn print "stop" # base_weight = 0 @@ -33,7 +33,7 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): number_of_cues = 1 cycle_time = (number_of_cues*150)+1000+150 -num_repeats = 800 +num_repeats = 200 pynn.setup(1.0) target_data = [] @@ -48,11 +48,11 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): p_connect_in = 1. p_connect_rec = 1. p_connect_out = 1. -recurrent_connections = True +recurrent_connections = False synapse_eta = 0.25 -tau_a = 2000#[cycle_time - 150 + (np.random.randn() * 200) for i in range(100)] +tau_a = 2500#[cycle_time - 150 + (np.random.randn() * 200) for i in range(100)] input_split = 20 -window_size = 14300 +window_size = cycle_time*10 pynn.setup(timestep=1) @@ -161,11 +161,11 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): pynn.StaticSynapse(weight=0.5, delay=0), receptor_type='learning_signal') -learning_proj = pynn.Projection(readout_pop, - readout_pop, - pynn.AllToAllConnector(), - pynn.StaticSynapse(weight=0.5, delay=0), - receptor_type='learning_signal') +# learning_proj = pynn.Projection(readout_pop, +# readout_pop, +# pynn.AllToAllConnector(), +# pynn.StaticSynapse(weight=0.5, delay=0), +# receptor_type='learning_signal') if recurrent_connections: eprop_learning_recurrent = pynn.STDPMechanism( @@ -192,7 +192,7 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): runtime = cycle_time * num_repeats -experiment_label = "eta:{}/{} - size:{}/{} - reg_rate:{} - p_conn:{}/{}/{} - rec:{} - cycle:{}/{}/{} fullreg0".format( +experiment_label = "eta:{}/{} - size:{}/{} - reg_rate:{} - p_conn:{}/{}/{} - rec:{} - cycle:{}/{}/{} 0reg 0.5sd".format( readout_neuron_params["eta"], neuron_params["eta"], input_size, neuron_pop_size, reg_rate, p_connect_in, p_connect_rec, p_connect_out, recurrent_connections, cycle_time, window_size, runtime) print "\n", experiment_label, "\n" From 4df74b6b1b0687cad079d5b41ff8022eb7403f98 Mon Sep 17 00:00:00 2001 From: such-a-git Date: Fri, 26 Jun 2020 19:12:10 +0100 Subject: [PATCH 44/68] beta input, binary classification added, connections sorted properly for comarison --- eprop_testing/hand_crafted_left_right.py | 49 +++++++++++++++--------- eprop_testing/test_left_right_readout.py | 31 ++++++++++----- 2 files changed, 52 insertions(+), 28 deletions(-) diff --git a/eprop_testing/hand_crafted_left_right.py b/eprop_testing/hand_crafted_left_right.py index 0b3abdf3..32a5db39 100644 --- a/eprop_testing/hand_crafted_left_right.py +++ b/eprop_testing/hand_crafted_left_right.py @@ -32,7 +32,8 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs for j in range(post_min, post_max): # delay = delay_offset for i in range(pre_min, pre_max): - connections.append([i, j, weight, i+delay_offset]) + nd_weight = weight_distribution(pre_max-pre_min) + connections.append([i, j, weight+nd_weight, i+delay_offset]) # delay += 1 return connections @@ -40,7 +41,7 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs number_of_cues = 1 cycle_time = (number_of_cues*150)+1000+150 -num_repeats = 21 +num_repeats = 400 pynn.setup(1.0) target_data = [] @@ -56,14 +57,16 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs p_connect_rec = 1. p_connect_out = 1. recurrent_connections = True -synapse_eta = 0.5 +synapse_eta = 0.25 tau_a = 2500#[cycle_time - 150 + (np.random.randn() * 200) for i in range(100)] input_split = 100 -window_size = cycle_time*10 +window_size = cycle_time*20 +threshold_beta = 0.02 +max_weight = 8.0 -in_weight = 2 -prompt_weight = 1 -rec_weight = -1.9 +in_weight = 1.2 +prompt_weight = 0.5 +rec_weight = -0.5 out_weight = 1 @@ -79,7 +82,7 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs "rate_off": 0, # "tau_m": tau_a, "w_fb": [1, -1, 0], - "eta": synapse_eta / 5., + "eta": 0.0,#synapse_eta / 5., "window_size": window_size, } rates = [] @@ -94,15 +97,15 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs # {'spike_times': frozen_poisson_variable_hz(num_repeats, cycle_time, input_split, input_split, input_size)}, label='input_pop') -neuron_pop_size = 100 +neuron_pop_size = 50 ratio_of_LIF = 0.5 beta = [] for i in range(neuron_pop_size): if i < neuron_pop_size/2: # if i % 2 == 0: - beta.append(2.8) + beta.append(threshold_beta) else: - beta.append(2.8) + beta.append(threshold_beta) neuron_params = { "v": 0, "i_offset": 0, @@ -114,7 +117,7 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs "beta": beta, "target_rate": 10, "tau_a": tau_a, - "eta": 0.0,#synapse_eta / 20., + "eta": synapse_eta * 10,#/ 20., "window_size": window_size, } neuron = pynn.Population(neuron_pop_size, @@ -135,7 +138,7 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs eprop_learning_neuron = pynn.STDPMechanism( timing_dependence=pynn.extra_models.TimingDependenceEprop(), weight_dependence=pynn.extra_models.WeightDependenceEpropReg( - w_min=-2.0, w_max=2.0, reg_rate=reg_rate)) + w_min=-max_weight, w_max=max_weight, reg_rate=reg_rate)) # from_list_in, max_syn_per_input = probability_connector(input_size, neuron_pop_size, p_connect_in) ps = readout_neuron_params["poisson_pop_size"] @@ -153,7 +156,7 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs eprop_learning_output = pynn.STDPMechanism( timing_dependence=pynn.extra_models.TimingDependenceEprop(), weight_dependence=pynn.extra_models.WeightDependenceEpropReg( - w_min=-2.0, w_max=2.0, reg_rate=0.0)) + w_min=-max_weight, w_max=max_weight, reg_rate=0.0)) # from_list_out = [[i, 0, weight_distribution(input_size), i] for i in range(input_size)] # from_list_out, max_syn_per_output = probability_connector(neuron_pop_size, 2, p_connect_out) @@ -185,7 +188,7 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs eprop_learning_recurrent = pynn.STDPMechanism( timing_dependence=pynn.extra_models.TimingDependenceEprop(), weight_dependence=pynn.extra_models.WeightDependenceEpropReg( - w_min=-2.0, w_max=2.0, reg_rate=reg_rate)) + w_min=-max_weight, w_max=max_weight, reg_rate=reg_rate)) # from_list_rec, max_syn_per_rec = probability_connector(neuron_pop_size, neuron_pop_size, p_connect_rec, offset=0) from_list_rec = range_connector(0, neuron_pop_size/2, neuron_pop_size/2, neuron_pop_size, weight=rec_weight, delay_offset=100) @@ -199,13 +202,13 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs input_pop.record('spikes') neuron.record('spikes') -neuron.record(['gsyn_exc', 'v', 'gsyn_inh'], indexes=[i for i in range(45, 55)]) +neuron.record(['gsyn_exc', 'v', 'gsyn_inh'])#, indexes=[i for i in range(45, 55)]) readout_pop.record('all') runtime = cycle_time * num_repeats -experiment_label = "eta:{}/{} - size:{}/{} - reg_rate:{} - p_conn:{}/{}/{} - rec:{} - cycle:{}/{}/{} regoff delai".format( - readout_neuron_params["eta"], neuron_params["eta"], input_size, neuron_pop_size, reg_rate, p_connect_in, p_connect_rec, p_connect_out, recurrent_connections, cycle_time, window_size, runtime) +experiment_label = "eta:{}/{} - size:{}/{} - reg_rate:{} - p_conn:{}/{}/{} - rec:{} - cycle:{}/{}/{} regoff nd b:{}".format( + readout_neuron_params["eta"], neuron_params["eta"], input_size, neuron_pop_size, reg_rate, p_connect_in, p_connect_rec, p_connect_out, recurrent_connections, cycle_time, window_size, runtime, threshold_beta) print "\n", experiment_label, "\n" pynn.run(runtime) @@ -215,6 +218,7 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs total_error = 0.0 cycle_error = [0.0 for i in range(num_repeats)] +correct_or_not = [0 for i in range(num_repeats)] soft_max = [[], []] cross_entropy = [] # how do I extract the answer easily? final gsyn exc value? all_cross = [[], []] @@ -230,6 +234,8 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs readout_res.segments[0].filter(name='gsyn_inh')[0][time_index+(cycle*cycle_time)][0])) cycle_error[cycle] += instantaneous_error total_error += instantaneous_error + if cycle_error[cycle] < 75: + correct_or_not[cycle] = 1 # if time_index > cycle_time - 150: # ticks_for_mean = 1 @@ -276,7 +282,9 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs for conn in partition: new_connections_in.append(conn) new_connections_in.sort(key=lambda x:x[1]) +new_connections_in.sort(key=lambda x:x[0]) from_list_in.sort(key=lambda x:x[1]) +from_list_in.sort(key=lambda x:x[0]) connection_diff_in = [] for i in range(len(from_list_in)): connection_diff_in.append(new_connections_in[i][2] - from_list_in[i][2]) @@ -289,7 +297,9 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs for conn in partition: new_connections_out.append(conn) new_connections_out.sort(key=lambda x:x[1]) +new_connections_out.sort(key=lambda x:x[0]) from_list_out.sort(key=lambda x:x[1]) +from_list_out.sort(key=lambda x:x[0]) connection_diff_out = [] for i in range(len(from_list_out)): connection_diff_out.append(new_connections_out[i][2] - from_list_out[i][2]) @@ -303,7 +313,9 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs for conn in partition: new_connections_rec.append(conn) new_connections_rec.sort(key=lambda x:x[1]) + new_connections_rec.sort(key=lambda x:x[0]) from_list_rec.sort(key=lambda x:x[1]) + from_list_rec.sort(key=lambda x:x[0]) connection_diff_rec = [] for i in range(len(from_list_rec)): connection_diff_rec.append(new_connections_rec[i][2] - from_list_rec[i][2]) @@ -314,6 +326,7 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs print experiment_label print "cycle_error =", cycle_error print "total error =", total_error +print "correct =", correct_or_not print "average error = ", np.average(cycle_error) print "weighted average", np.average(cycle_error, weights=[i for i in range(num_repeats)]) print "minimum error = ", np.min(cycle_error) diff --git a/eprop_testing/test_left_right_readout.py b/eprop_testing/test_left_right_readout.py index 115b8e70..34b7da97 100644 --- a/eprop_testing/test_left_right_readout.py +++ b/eprop_testing/test_left_right_readout.py @@ -7,9 +7,9 @@ from spynnaker.pyNN.spynnaker_external_device_plugin_manager import SpynnakerExternalDevicePluginManager def weight_distribution(pop_size): - base_weight = np.random.randn() / np.sqrt(pop_size) + 0.5 + base_weight = np.random.randn() / np.sqrt(pop_size) #+ 0.5 if abs(base_weight) < np.exp(-10): # checking because if too many are small neurons can't learn - print "stop" + print "\nweight too small: {}\n".format(base_weight) # base_weight = 0 return base_weight @@ -33,7 +33,7 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): number_of_cues = 1 cycle_time = (number_of_cues*150)+1000+150 -num_repeats = 200 +num_repeats = 400 pynn.setup(1.0) target_data = [] @@ -48,11 +48,12 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): p_connect_in = 1. p_connect_rec = 1. p_connect_out = 1. -recurrent_connections = False -synapse_eta = 0.25 +recurrent_connections = True +synapse_eta = 0.01 tau_a = 2500#[cycle_time - 150 + (np.random.randn() * 200) for i in range(100)] input_split = 20 -window_size = cycle_time*10 +window_size = cycle_time*20 +eprop_beta = 0.02 pynn.setup(timestep=1) @@ -88,7 +89,7 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): # if i % 2 == 0: beta.append(0) #this should be 0, just testing all ALIF else: - beta.append(2.8) + beta.append(eprop_beta) neuron_params = { "v": 0, "i_offset": 0, @@ -100,7 +101,7 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): "beta": beta, "target_rate": 10, "tau_a": tau_a, - "eta": synapse_eta / 20., + "eta": synapse_eta / 5., "window_size": window_size, } neuron = pynn.Population(neuron_pop_size, @@ -192,8 +193,8 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): runtime = cycle_time * num_repeats -experiment_label = "eta:{}/{} - size:{}/{} - reg_rate:{} - p_conn:{}/{}/{} - rec:{} - cycle:{}/{}/{} 0reg 0.5sd".format( - readout_neuron_params["eta"], neuron_params["eta"], input_size, neuron_pop_size, reg_rate, p_connect_in, p_connect_rec, p_connect_out, recurrent_connections, cycle_time, window_size, runtime) +experiment_label = "eta:{}/{} - size:{}/{} - reg_rate:{} - p_conn:{}/{}/{} - rec:{} - cycle:{}/{}/{} fullregtest 0sd b:{}".format( + readout_neuron_params["eta"], neuron_params["eta"], input_size, neuron_pop_size, reg_rate, p_connect_in, p_connect_rec, p_connect_out, recurrent_connections, cycle_time, window_size, runtime, eprop_beta) print "\n", experiment_label, "\n" pynn.run(runtime) @@ -203,6 +204,7 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): total_error = 0.0 cycle_error = [0.0 for i in range(num_repeats)] +correct_or_not = [0 for i in range(num_repeats)] soft_max = [[], []] cross_entropy = [] # how do I extract the answer easily? final gsyn exc value? all_cross = [[], []] @@ -218,6 +220,8 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): readout_res.segments[0].filter(name='gsyn_inh')[0][time_index+(cycle*cycle_time)][0])) cycle_error[cycle] += instantaneous_error total_error += instantaneous_error + if cycle_error[cycle] < 75: + correct_or_not[cycle] = 1 # if time_index > cycle_time - 150: # ticks_for_mean = 1 @@ -267,7 +271,9 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): for conn in partition: new_connections_in.append(conn) new_connections_in.sort(key=lambda x:x[1]) +new_connections_in.sort(key=lambda x:x[0]) from_list_in.sort(key=lambda x:x[1]) +from_list_in.sort(key=lambda x:x[0]) connection_diff_in = [] for i in range(len(from_list_in)): connection_diff_in.append(new_connections_in[i][2] - from_list_in[i][2]) @@ -280,7 +286,9 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): for conn in partition: new_connections_out.append(conn) new_connections_out.sort(key=lambda x:x[1]) +new_connections_out.sort(key=lambda x:x[0]) from_list_out.sort(key=lambda x:x[1]) +from_list_out.sort(key=lambda x:x[0]) connection_diff_out = [] for i in range(len(from_list_out)): connection_diff_out.append(new_connections_out[i][2] - from_list_out[i][2]) @@ -294,7 +302,9 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): for conn in partition: new_connections_rec.append(conn) new_connections_rec.sort(key=lambda x:x[1]) + new_connections_rec.sort(key=lambda x:x[0]) from_list_rec.sort(key=lambda x:x[1]) + from_list_rec.sort(key=lambda x:x[0]) connection_diff_rec = [] for i in range(len(from_list_out)): connection_diff_rec.append(new_connections_rec[i][2] - from_list_rec[i][2]) @@ -305,6 +315,7 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): print experiment_label print "cycle_error =", cycle_error print "total error =", total_error +print "correct =", correct_or_not print "average error = ", np.average(cycle_error) print "weighted average", np.average(cycle_error, weights=[i for i in range(num_repeats)]) print "minimum error = ", np.min(cycle_error) From 22fe35f0bc0141fa7802470a4b81508c1cd220f6 Mon Sep 17 00:00:00 2001 From: such-a-git Date: Fri, 3 Jul 2020 11:51:08 +0100 Subject: [PATCH 45/68] good parameters for learning --- eprop_testing/hand_crafted_left_right.py | 83 ++++++++++++++++-------- eprop_testing/test_left_right_readout.py | 39 +++++++++-- 2 files changed, 87 insertions(+), 35 deletions(-) diff --git a/eprop_testing/hand_crafted_left_right.py b/eprop_testing/hand_crafted_left_right.py index 32a5db39..9e82ea59 100644 --- a/eprop_testing/hand_crafted_left_right.py +++ b/eprop_testing/hand_crafted_left_right.py @@ -32,7 +32,7 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs for j in range(post_min, post_max): # delay = delay_offset for i in range(pre_min, pre_max): - nd_weight = weight_distribution(pre_max-pre_min) + nd_weight = 0#weight_distribution(pre_max-pre_min) connections.append([i, j, weight+nd_weight, i+delay_offset]) # delay += 1 return connections @@ -41,7 +41,7 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs number_of_cues = 1 cycle_time = (number_of_cues*150)+1000+150 -num_repeats = 400 +num_repeats = 200 pynn.setup(1.0) target_data = [] @@ -57,17 +57,18 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs p_connect_rec = 1. p_connect_out = 1. recurrent_connections = True -synapse_eta = 0.25 +synapse_eta = 0.01 tau_a = 2500#[cycle_time - 150 + (np.random.randn() * 200) for i in range(100)] input_split = 100 -window_size = cycle_time*20 -threshold_beta = 0.02 +window_cycles = 2 +window_size = cycle_time*window_cycles +threshold_beta = 0.3 max_weight = 8.0 -in_weight = 1.2 -prompt_weight = 0.5 +in_weight = 2 +prompt_weight = 1 rec_weight = -0.5 -out_weight = 1 +out_weight = 0.01 pynn.setup(timestep=1) @@ -78,11 +79,11 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs "v": 0, "v_thresh": 30, # controls firing rate of error neurons "poisson_pop_size": input_size / 4, - "rate_on": 40, + "rate_on": 100, "rate_off": 0, # "tau_m": tau_a, "w_fb": [1, -1, 0], - "eta": 0.0,#synapse_eta / 5., + "eta": synapse_eta * 5., "window_size": window_size, } rates = [] @@ -97,7 +98,7 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs # {'spike_times': frozen_poisson_variable_hz(num_repeats, cycle_time, input_split, input_split, input_size)}, label='input_pop') -neuron_pop_size = 50 +neuron_pop_size = 4 ratio_of_LIF = 0.5 beta = [] for i in range(neuron_pop_size): @@ -112,7 +113,9 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs "v_rest": 0, # "w_fb": [np.random.random() for i in range(neuron_pop_size)], # best it seems # "w_fb": [(np.random.random() * 2) - 1. for i in range(neuron_pop_size)], - "w_fb": [np.random.random() - np.random.random() for i in range(neuron_pop_size)], ## for both feedback weights + # "w_fb": [np.random.random() - np.random.random() for i in range(neuron_pop_size)], ## for both feedback weights + "w_fb": [-1]*(neuron_pop_size/2) + [1]*(neuron_pop_size/2), + # "w_fb": [1]*(neuron_pop_size/4) + [-1]*(neuron_pop_size/4) + [1]*(neuron_pop_size/4) + [-1]*(neuron_pop_size/4), # "B": 0.0, "beta": beta, "target_rate": 10, @@ -142,9 +145,9 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs # from_list_in, max_syn_per_input = probability_connector(input_size, neuron_pop_size, p_connect_in) ps = readout_neuron_params["poisson_pop_size"] -from_list_in = range_connector(0, ps, 0, neuron_pop_size/2, weight=in_weight) -from_list_in += range_connector(ps, ps*2, neuron_pop_size/2, neuron_pop_size, weight=in_weight) -from_list_in += range_connector(ps*2, ps*3, 0, neuron_pop_size, delay_offset=0, weight=prompt_weight) +from_list_in = range_connector(0, ps, 0, neuron_pop_size/2, weight=in_weight) # connect 1/2st 2 left +from_list_in += range_connector(ps, ps*2, neuron_pop_size/2, neuron_pop_size, weight=in_weight) # connect 2/2nd 2 right +from_list_in += range_connector(ps*2, ps*3, 0, neuron_pop_size, delay_offset=0, weight=prompt_weight) # connect all 2 prompt in_proj = pynn.Projection(input_pop, neuron, pynn.FromListConnector(from_list_in), @@ -160,10 +163,10 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs # from_list_out = [[i, 0, weight_distribution(input_size), i] for i in range(input_size)] # from_list_out, max_syn_per_output = probability_connector(neuron_pop_size, 2, p_connect_out) -from_list_out = range_connector(0, neuron_pop_size/2, 1, 2, weight=out_weight) -from_list_out += range_connector(neuron_pop_size/2, neuron_pop_size, 0, 1, weight=out_weight) -from_list_out += range_connector(0, neuron_pop_size/2, 0, 1, weight=-out_weight) -from_list_out += range_connector(neuron_pop_size/2, neuron_pop_size, 1, 2, weight=-out_weight) +from_list_out = range_connector(0, neuron_pop_size/2, 1, 2, weight=out_weight) # connect 1/2st 2 right output +from_list_out += range_connector(neuron_pop_size/2, neuron_pop_size, 0, 1, weight=out_weight) # connect 2/2nd 2 left output +from_list_out += range_connector(0, neuron_pop_size/2, 0, 1, weight=-out_weight) # connect 1/2st -2 left output +from_list_out += range_connector(neuron_pop_size/2, neuron_pop_size, 1, 2, weight=-out_weight) # connect 2/2nd -2 right output out_proj = pynn.Projection(neuron, readout_pop, # pynn.OneToOneConnector(), @@ -191,8 +194,8 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs w_min=-max_weight, w_max=max_weight, reg_rate=reg_rate)) # from_list_rec, max_syn_per_rec = probability_connector(neuron_pop_size, neuron_pop_size, p_connect_rec, offset=0) - from_list_rec = range_connector(0, neuron_pop_size/2, neuron_pop_size/2, neuron_pop_size, weight=rec_weight, delay_offset=100) - from_list_rec += range_connector(neuron_pop_size/2, neuron_pop_size, 0, neuron_pop_size/2, weight=rec_weight, delay_offset=100) + from_list_rec = range_connector(0, neuron_pop_size/2, neuron_pop_size/2, neuron_pop_size, weight=rec_weight, delay_offset=100) # inhibitory connections between 1/2s + from_list_rec += range_connector(neuron_pop_size/2, neuron_pop_size, 0, neuron_pop_size/2, weight=rec_weight, delay_offset=100) # inhibitory connections between 1/2s recurrent_proj = pynn.Projection(neuron, neuron, pynn.FromListConnector(from_list_rec), @@ -281,10 +284,10 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs for partition in in_proj.get('weight', 'delay').connections: for conn in partition: new_connections_in.append(conn) -new_connections_in.sort(key=lambda x:x[1]) new_connections_in.sort(key=lambda x:x[0]) -from_list_in.sort(key=lambda x:x[1]) +new_connections_in.sort(key=lambda x:x[1]) from_list_in.sort(key=lambda x:x[0]) +from_list_in.sort(key=lambda x:x[1]) connection_diff_in = [] for i in range(len(from_list_in)): connection_diff_in.append(new_connections_in[i][2] - from_list_in[i][2]) @@ -296,10 +299,10 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs for partition in out_proj.get('weight', 'delay').connections: for conn in partition: new_connections_out.append(conn) -new_connections_out.sort(key=lambda x:x[1]) new_connections_out.sort(key=lambda x:x[0]) -from_list_out.sort(key=lambda x:x[1]) +new_connections_out.sort(key=lambda x:x[1]) from_list_out.sort(key=lambda x:x[0]) +from_list_out.sort(key=lambda x:x[1]) connection_diff_out = [] for i in range(len(from_list_out)): connection_diff_out.append(new_connections_out[i][2] - from_list_out[i][2]) @@ -312,10 +315,10 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs for partition in recurrent_proj.get('weight', 'delay').connections: for conn in partition: new_connections_rec.append(conn) - new_connections_rec.sort(key=lambda x:x[1]) new_connections_rec.sort(key=lambda x:x[0]) - from_list_rec.sort(key=lambda x:x[1]) + new_connections_rec.sort(key=lambda x:x[1]) from_list_rec.sort(key=lambda x:x[0]) + from_list_rec.sort(key=lambda x:x[1]) connection_diff_rec = [] for i in range(len(from_list_rec)): connection_diff_rec.append(new_connections_rec[i][2] - from_list_rec[i][2]) @@ -326,7 +329,9 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs print experiment_label print "cycle_error =", cycle_error print "total error =", total_error -print "correct =", correct_or_not +print "correct:"# =", correct_or_not +for i in range(int(np.ceil(len(correct_or_not) / float(window_cycles)))): + print correct_or_not[i*window_cycles:(i+1)*window_cycles], np.average(correct_or_not[i*window_cycles:(i+1)*window_cycles]) print "average error = ", np.average(cycle_error) print "weighted average", np.average(cycle_error, weights=[i for i in range(num_repeats)]) print "minimum error = ", np.min(cycle_error) @@ -354,6 +359,28 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs ) plt.show() +# plt.figure() +# Figure( +# Panel(neuron_res.segments[0].filter(name='v')[0], ylabel='Membrane potential (mV)', yticks=True, xticks=True, xlim=(runtime-(window_size*1.5), runtime)), +# +# Panel(neuron_res.segments[0].filter(name='gsyn_exc')[0], ylabel='gsyn_exc', yticks=True, xticks=True, xlim=(runtime-(window_size*1.5), runtime)), +# +# Panel(neuron_res.segments[0].filter(name='gsyn_inh')[0], ylabel='gsyn_inh', yticks=True, xticks=True, xlim=(runtime-(window_size*1.5), runtime)), +# +# Panel(in_spikes.segments[0].spiketrains, ylabel='in_spikes', xlabel='in_spikes', yticks=True, xticks=True, xlim=(runtime-(window_size*1.5), runtime)), +# +# Panel(neuron_res.segments[0].spiketrains, ylabel='neuron_spikes', xlabel='neuron_spikes', yticks=True, xticks=True, xlim=(runtime-(window_size*1.5), runtime)), +# +# Panel(readout_res.segments[0].filter(name='v')[0], ylabel='Membrane potential (mV)', yticks=True, xticks=True, xlim=(runtime-(window_size*1.5), runtime)), +# +# Panel(readout_res.segments[0].filter(name='gsyn_exc')[0], ylabel='gsyn_exc', yticks=True, xticks=True, xlim=(runtime-(window_size*1.5), runtime)), +# +# Panel(readout_res.segments[0].filter(name='gsyn_inh')[0], ylabel='gsyn_inh', yticks=True, xticks=True, xlim=(runtime-(window_size*1.5), runtime)), +# +# title="neuron data for {}".format(experiment_label) +# ) +# plt.show() + fig, axs = plt.subplots(1, 1) axs.set_title(experiment_label) # axs[0].plot([i for i in range(len(cross_entropy))], cross_entropy) diff --git a/eprop_testing/test_left_right_readout.py b/eprop_testing/test_left_right_readout.py index 34b7da97..74f1c119 100644 --- a/eprop_testing/test_left_right_readout.py +++ b/eprop_testing/test_left_right_readout.py @@ -49,11 +49,12 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): p_connect_rec = 1. p_connect_out = 1. recurrent_connections = True -synapse_eta = 0.01 +synapse_eta = 0.002 tau_a = 2500#[cycle_time - 150 + (np.random.randn() * 200) for i in range(100)] input_split = 20 -window_size = cycle_time*20 -eprop_beta = 0.02 +window_cycles = 4 +window_size = cycle_time*window_cycles +eprop_beta = 0.3 pynn.setup(timestep=1) @@ -66,7 +67,7 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): "poisson_pop_size": input_size / 4, # "tau_m": tau_a, "w_fb": [1, -1, 0], - "eta": synapse_eta / 5., + "eta": synapse_eta * 5., "window_size": window_size, } rates = [] @@ -101,7 +102,7 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): "beta": beta, "target_rate": 10, "tau_a": tau_a, - "eta": synapse_eta / 5., + "eta": synapse_eta * 5., "window_size": window_size, } neuron = pynn.Population(neuron_pop_size, @@ -193,7 +194,7 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): runtime = cycle_time * num_repeats -experiment_label = "eta:{}/{} - size:{}/{} - reg_rate:{} - p_conn:{}/{}/{} - rec:{} - cycle:{}/{}/{} fullregtest 0sd b:{}".format( +experiment_label = "eta:{}/{} - size:{}/{} - reg_rate:{} - p_conn:{}/{}/{} - rec:{} - cycle:{}/{}/{} vmemregtest 0.5sd b:{}".format( readout_neuron_params["eta"], neuron_params["eta"], input_size, neuron_pop_size, reg_rate, p_connect_in, p_connect_rec, p_connect_out, recurrent_connections, cycle_time, window_size, runtime, eprop_beta) print "\n", experiment_label, "\n" @@ -315,7 +316,9 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): print experiment_label print "cycle_error =", cycle_error print "total error =", total_error -print "correct =", correct_or_not +print "correct:"# =", correct_or_not +for i in range(int(np.ceil(len(correct_or_not) / float(window_cycles)))): + print correct_or_not[i*window_cycles:(i+1)*window_cycles], np.average(correct_or_not[i*window_cycles:(i+1)*window_cycles]) print "average error = ", np.average(cycle_error) print "weighted average", np.average(cycle_error, weights=[i for i in range(num_repeats)]) print "minimum error = ", np.min(cycle_error) @@ -343,6 +346,28 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): ) plt.show() +# plt.figure() +# Figure( +# Panel(neuron_res.segments[0].filter(name='v')[0], ylabel='Membrane potential (mV)', yticks=True, xticks=True, xlim=(runtime-(window_size*1.5), runtime)), +# +# Panel(neuron_res.segments[0].filter(name='gsyn_exc')[0], ylabel='gsyn_exc', yticks=True, xticks=True, xlim=(runtime-(window_size*1.5), runtime)), +# +# Panel(neuron_res.segments[0].filter(name='gsyn_inh')[0], ylabel='gsyn_inh', yticks=True, xticks=True, xlim=(runtime-(window_size*1.5), runtime)), +# +# Panel(in_spikes.segments[0].spiketrains, ylabel='in_spikes', xlabel='in_spikes', yticks=True, xticks=True, xlim=(runtime-(window_size*1.5), runtime)), +# +# Panel(neuron_res.segments[0].spiketrains, ylabel='neuron_spikes', xlabel='neuron_spikes', yticks=True, xticks=True, xlim=(runtime-(window_size*1.5), runtime)), +# +# Panel(readout_res.segments[0].filter(name='v')[0], ylabel='Membrane potential (mV)', yticks=True, xticks=True, xlim=(runtime-(window_size*1.5), runtime)), +# +# Panel(readout_res.segments[0].filter(name='gsyn_exc')[0], ylabel='gsyn_exc', yticks=True, xticks=True, xlim=(runtime-(window_size*1.5), runtime)), +# +# Panel(readout_res.segments[0].filter(name='gsyn_inh')[0], ylabel='gsyn_inh', yticks=True, xticks=True, xlim=(runtime-(window_size*1.5), runtime)), +# +# title="neuron data for {}".format(experiment_label) +# ) +# plt.show() + fig, axs = plt.subplots(1, 1) axs.set_title(experiment_label) # axs[0].plot([i for i in range(len(cross_entropy))], cross_entropy) From d3cb44547dadf23ba3b60904586ac4c1cf9d8384 Mon Sep 17 00:00:00 2001 From: such-a-git Date: Thu, 16 Jul 2020 14:38:46 +0100 Subject: [PATCH 46/68] parameter updates, xavier init, incremental learning with plotting and loading from pretrained networks, script to plot graphs mainly of network architecture --- eprop_testing/hand_crafted_left_right.py | 138 +++--- eprop_testing/incremental_graph_drawing.py | 494 +++++++++++++++++++++ eprop_testing/plot_graph.py | 196 ++++++++ eprop_testing/test_left_right_readout.py | 34 +- 4 files changed, 765 insertions(+), 97 deletions(-) create mode 100644 eprop_testing/incremental_graph_drawing.py create mode 100644 eprop_testing/plot_graph.py diff --git a/eprop_testing/hand_crafted_left_right.py b/eprop_testing/hand_crafted_left_right.py index 9e82ea59..c53ab7f6 100644 --- a/eprop_testing/hand_crafted_left_right.py +++ b/eprop_testing/hand_crafted_left_right.py @@ -5,6 +5,7 @@ from pyNN.random import NumpyRNG, RandomDistribution from pyNN.utility.plotting import Figure, Panel from spynnaker.pyNN.spynnaker_external_device_plugin_manager import SpynnakerExternalDevicePluginManager +from plot_graph import draw_graph_from_list, plot_learning_curve def weight_distribution(pop_size): base_weight = np.random.randn() / np.sqrt(pop_size) #+ 0.5 @@ -32,16 +33,16 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs for j in range(post_min, post_max): # delay = delay_offset for i in range(pre_min, pre_max): - nd_weight = 0#weight_distribution(pre_max-pre_min) + nd_weight = weight_distribution(pre_max-pre_min) connections.append([i, j, weight+nd_weight, i+delay_offset]) # delay += 1 return connections -np.random.seed(272727) +np.random.seed(28) number_of_cues = 1 cycle_time = (number_of_cues*150)+1000+150 -num_repeats = 200 +num_repeats = 500 pynn.setup(1.0) target_data = [] @@ -63,14 +64,13 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs window_cycles = 2 window_size = cycle_time*window_cycles threshold_beta = 0.3 -max_weight = 8.0 - -in_weight = 2 -prompt_weight = 1 -rec_weight = -0.5 -out_weight = 0.01 - +max_weight = 8.0 +in_weight = 0.55 +prompt_weight = 0.55 +rec_weight = 0#-0.5 +out_weight = 0#0.01 +weight_string = "i{}-p{}-r{}-o{}".format(in_weight, prompt_weight, rec_weight, out_weight) pynn.setup(timestep=1) @@ -83,7 +83,7 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs "rate_off": 0, # "tau_m": tau_a, "w_fb": [1, -1, 0], - "eta": synapse_eta * 5., + "eta": synapse_eta * 10., "window_size": window_size, } rates = [] @@ -98,7 +98,7 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs # {'spike_times': frozen_poisson_variable_hz(num_repeats, cycle_time, input_split, input_split, input_size)}, label='input_pop') -neuron_pop_size = 4 +neuron_pop_size = 4*5 ratio_of_LIF = 0.5 beta = [] for i in range(neuron_pop_size): @@ -113,14 +113,14 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs "v_rest": 0, # "w_fb": [np.random.random() for i in range(neuron_pop_size)], # best it seems # "w_fb": [(np.random.random() * 2) - 1. for i in range(neuron_pop_size)], - # "w_fb": [np.random.random() - np.random.random() for i in range(neuron_pop_size)], ## for both feedback weights - "w_fb": [-1]*(neuron_pop_size/2) + [1]*(neuron_pop_size/2), - # "w_fb": [1]*(neuron_pop_size/4) + [-1]*(neuron_pop_size/4) + [1]*(neuron_pop_size/4) + [-1]*(neuron_pop_size/4), + # "w_fb": [4*np.random.random() - 4*np.random.random() for i in range(neuron_pop_size)], ## for both feedback weights + # "w_fb": [-3]*(neuron_pop_size/2) + [3]*(neuron_pop_size/2), + "w_fb": [3]*(neuron_pop_size/4) + [-3]*(neuron_pop_size/4) + [3]*(neuron_pop_size/4) + [-3]*(neuron_pop_size/4), # "B": 0.0, "beta": beta, "target_rate": 10, "tau_a": tau_a, - "eta": synapse_eta * 10,#/ 20., + "eta": synapse_eta * 5,#/ 20., "window_size": window_size, } neuron = pynn.Population(neuron_pop_size, @@ -145,9 +145,11 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs # from_list_in, max_syn_per_input = probability_connector(input_size, neuron_pop_size, p_connect_in) ps = readout_neuron_params["poisson_pop_size"] -from_list_in = range_connector(0, ps, 0, neuron_pop_size/2, weight=in_weight) # connect 1/2st 2 left -from_list_in += range_connector(ps, ps*2, neuron_pop_size/2, neuron_pop_size, weight=in_weight) # connect 2/2nd 2 right -from_list_in += range_connector(ps*2, ps*3, 0, neuron_pop_size, delay_offset=0, weight=prompt_weight) # connect all 2 prompt +# from_list_in = range_connector(0, ps, 0, neuron_pop_size/2, weight=in_weight) # connect 1/2st 2 left +# from_list_in += range_connector(ps, ps*2, neuron_pop_size/2, neuron_pop_size, weight=in_weight) # connect 2/2nd 2 right +# from_list_in = range_connector(0, ps*2, 0, neuron_pop_size, weight=in_weight) # connect all cues to pop +# from_list_in += range_connector(ps*2, ps*3, 0, neuron_pop_size, delay_offset=0, weight=prompt_weight) # connect all 2 prompt +from_list_in = range_connector(0, ps*4, 0, neuron_pop_size, delay_offset=0, weight=prompt_weight) # connect all 2 prompt in_proj = pynn.Projection(input_pop, neuron, pynn.FromListConnector(from_list_in), @@ -163,10 +165,11 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs # from_list_out = [[i, 0, weight_distribution(input_size), i] for i in range(input_size)] # from_list_out, max_syn_per_output = probability_connector(neuron_pop_size, 2, p_connect_out) -from_list_out = range_connector(0, neuron_pop_size/2, 1, 2, weight=out_weight) # connect 1/2st 2 right output -from_list_out += range_connector(neuron_pop_size/2, neuron_pop_size, 0, 1, weight=out_weight) # connect 2/2nd 2 left output -from_list_out += range_connector(0, neuron_pop_size/2, 0, 1, weight=-out_weight) # connect 1/2st -2 left output -from_list_out += range_connector(neuron_pop_size/2, neuron_pop_size, 1, 2, weight=-out_weight) # connect 2/2nd -2 right output +# from_list_out = range_connector(0, neuron_pop_size/2, 1, 2, weight=out_weight) # connect 1/2st 2 right output +# from_list_out += range_connector(neuron_pop_size/2, neuron_pop_size, 0, 1, weight=out_weight) # connect 2/2nd 2 left output +# from_list_out += range_connector(0, neuron_pop_size/2, 0, 1, weight=-out_weight) # connect 1/2st -2 left output +# from_list_out += range_connector(neuron_pop_size/2, neuron_pop_size, 1, 2, weight=-out_weight) # connect 2/2nd -2 right output +from_list_out = range_connector(0, neuron_pop_size, 0, 2, weight=out_weight) # connect 2/2nd -2 right output out_proj = pynn.Projection(neuron, readout_pop, # pynn.OneToOneConnector(), @@ -194,8 +197,9 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs w_min=-max_weight, w_max=max_weight, reg_rate=reg_rate)) # from_list_rec, max_syn_per_rec = probability_connector(neuron_pop_size, neuron_pop_size, p_connect_rec, offset=0) - from_list_rec = range_connector(0, neuron_pop_size/2, neuron_pop_size/2, neuron_pop_size, weight=rec_weight, delay_offset=100) # inhibitory connections between 1/2s - from_list_rec += range_connector(neuron_pop_size/2, neuron_pop_size, 0, neuron_pop_size/2, weight=rec_weight, delay_offset=100) # inhibitory connections between 1/2s + # from_list_rec = range_connector(0, neuron_pop_size/2, neuron_pop_size/2, neuron_pop_size, weight=rec_weight, delay_offset=100) # inhibitory connections between 1/2s + # from_list_rec += range_connector(neuron_pop_size/2, neuron_pop_size, 0, neuron_pop_size/2, weight=rec_weight, delay_offset=100) # inhibitory connections between 1/2s + from_list_rec = range_connector(0, neuron_pop_size, 0, neuron_pop_size, weight=rec_weight, delay_offset=100) # recurrent connections recurrent_proj = pynn.Projection(neuron, neuron, pynn.FromListConnector(from_list_rec), @@ -205,13 +209,13 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs input_pop.record('spikes') neuron.record('spikes') -neuron.record(['gsyn_exc', 'v', 'gsyn_inh'])#, indexes=[i for i in range(45, 55)]) +neuron.record(['gsyn_exc', 'v', 'gsyn_inh'], indexes=[i for i in range((neuron_pop_size/2)-5, (neuron_pop_size/2)+5)]) readout_pop.record('all') runtime = cycle_time * num_repeats -experiment_label = "eta:{}/{} - size:{}/{} - reg_rate:{} - p_conn:{}/{}/{} - rec:{} - cycle:{}/{}/{} regoff nd b:{}".format( - readout_neuron_params["eta"], neuron_params["eta"], input_size, neuron_pop_size, reg_rate, p_connect_in, p_connect_rec, p_connect_out, recurrent_connections, cycle_time, window_size, runtime, threshold_beta) +experiment_label = "eta:{}/{} - size:{}/{} - weights:{} - p_conn:{}/{}/{} - rec:{} - cycle:{}/{}/{} xavier noreset b:{}".format( + readout_neuron_params["eta"], neuron_params["eta"], input_size, neuron_pop_size, weight_string, p_connect_in, p_connect_rec, p_connect_out, recurrent_connections, cycle_time, window_size, runtime, threshold_beta) print "\n", experiment_label, "\n" pynn.run(runtime) @@ -240,46 +244,6 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs if cycle_error[cycle] < 75: correct_or_not[cycle] = 1 - # if time_index > cycle_time - 150: - # ticks_for_mean = 1 - # instantaneous_v0 = float(readout_res.segments[0].filter(name='v')[0][time_index+(cycle*cycle_time)][0]) - # instantaneous_v1 = float(readout_res.segments[0].filter(name='v')[0][time_index+(cycle*cycle_time)][1]) - # mean_0 = instantaneous_v0 * 0.1 - # mean_1 = instantaneous_v1 * 0.1 - # exp_0 = np.exp(mean_0 / ticks_for_mean) - # exp_1 = np.exp(mean_1 / ticks_for_mean) - # if exp_0 == 0 and exp_1 == 0: - # if instantaneous_v0 > instantaneous_v1: - # soft_max[0].append(1) - # soft_max[1].append(0) - # else: - # soft_max[0].append(0) - # soft_max[1].append(1) - # else: - # soft_max[0].append(-np.log(exp_0 / (exp_0 + exp_1))) - # soft_max[1].append(-np.log(exp_1 / (exp_0 + exp_1))) - # if float(readout_res.segments[0].filter(name='gsyn_exc')[0][time_index+(cycle*cycle_time)][2]) < 3.5: - # cross_entropy.append(soft_max[0][-1]) - # else: - # cross_entropy.append(soft_max[1][-1]) - # - # from_soft[0].append(-np.log(float(readout_res.segments[0].filter(name='gsyn_exc')[0][time_index+(cycle*cycle_time)][0]))) - # from_soft[1].append(-np.log(float(readout_res.segments[0].filter(name='gsyn_exc')[0][time_index+(cycle*cycle_time)][1]))) - # else: - # soft_max[0].append(0) - # soft_max[1].append(0) - # from_soft[0].append(0) - # from_soft[1].append(0) - # cross_entropy.append(0) - # - # instantaneous_v0 = float(readout_res.segments[0].filter(name='v')[0][time_index + (cycle * cycle_time)][0]) - # instantaneous_v1 = float(readout_res.segments[0].filter(name='v')[0][time_index + (cycle * cycle_time)][1]) - # # mean_0_all += instantaneous_v0 - # # mean_1_all += instantaneous_v1 - # exp_0 = np.exp(instantaneous_v0 * 0.1) - # exp_1 = np.exp(instantaneous_v1 * 0.1) - # all_cross[0].append(-np.log(exp_0 / (exp_0 + exp_1))) - # all_cross[1].append(-np.log(exp_1 / (exp_0 + exp_1))) new_connections_in = []#in_proj.get('weight', 'delay').connections[0]#[] for partition in in_proj.get('weight', 'delay').connections: for conn in partition: @@ -359,42 +323,48 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs ) plt.show() +# plot_start = runtime-(window_size*1.5) +# plot_end = runtime # plt.figure() # Figure( -# Panel(neuron_res.segments[0].filter(name='v')[0], ylabel='Membrane potential (mV)', yticks=True, xticks=True, xlim=(runtime-(window_size*1.5), runtime)), +# Panel(neuron_res.segments[0].filter(name='v')[0], ylabel='Membrane potential (mV)', yticks=True, xticks=True, xlim=(plot_start, plot_end)), # -# Panel(neuron_res.segments[0].filter(name='gsyn_exc')[0], ylabel='gsyn_exc', yticks=True, xticks=True, xlim=(runtime-(window_size*1.5), runtime)), +# Panel(neuron_res.segments[0].filter(name='gsyn_exc')[0], ylabel='gsyn_exc', yticks=True, xticks=True, xlim=(plot_start, plot_end)), # -# Panel(neuron_res.segments[0].filter(name='gsyn_inh')[0], ylabel='gsyn_inh', yticks=True, xticks=True, xlim=(runtime-(window_size*1.5), runtime)), +# Panel(neuron_res.segments[0].filter(name='gsyn_inh')[0], ylabel='gsyn_inh', yticks=True, xticks=True, xlim=(plot_start, plot_end)), # -# Panel(in_spikes.segments[0].spiketrains, ylabel='in_spikes', xlabel='in_spikes', yticks=True, xticks=True, xlim=(runtime-(window_size*1.5), runtime)), +# Panel(in_spikes.segments[0].spiketrains, ylabel='in_spikes', xlabel='in_spikes', yticks=True, xticks=True, xlim=(plot_start, plot_end)), # -# Panel(neuron_res.segments[0].spiketrains, ylabel='neuron_spikes', xlabel='neuron_spikes', yticks=True, xticks=True, xlim=(runtime-(window_size*1.5), runtime)), +# Panel(neuron_res.segments[0].spiketrains, ylabel='neuron_spikes', xlabel='neuron_spikes', yticks=True, xticks=True, xlim=(plot_start, plot_end)), # -# Panel(readout_res.segments[0].filter(name='v')[0], ylabel='Membrane potential (mV)', yticks=True, xticks=True, xlim=(runtime-(window_size*1.5), runtime)), +# Panel(readout_res.segments[0].filter(name='v')[0], ylabel='Membrane potential (mV)', yticks=True, xticks=True, xlim=(plot_start, plot_end)), # -# Panel(readout_res.segments[0].filter(name='gsyn_exc')[0], ylabel='gsyn_exc', yticks=True, xticks=True, xlim=(runtime-(window_size*1.5), runtime)), +# Panel(readout_res.segments[0].filter(name='gsyn_exc')[0], ylabel='gsyn_exc', yticks=True, xticks=True, xlim=(plot_start, plot_end)), # -# Panel(readout_res.segments[0].filter(name='gsyn_inh')[0], ylabel='gsyn_inh', yticks=True, xticks=True, xlim=(runtime-(window_size*1.5), runtime)), +# Panel(readout_res.segments[0].filter(name='gsyn_inh')[0], ylabel='gsyn_inh', yticks=True, xticks=True, xlim=(plot_start, plot_end)), # # title="neuron data for {}".format(experiment_label) # ) # plt.show() -fig, axs = plt.subplots(1, 1) -axs.set_title(experiment_label) -# axs[0].plot([i for i in range(len(cross_entropy))], cross_entropy) -# axs[1].plot([i for i in range(len(all_cross[0]))], all_cross[0]) -# axs[2].plot([i for i in range(len(all_cross[1]))], all_cross[1]) -axs.scatter([i for i in range(len(cycle_error))], cycle_error) -# axs[1].plot([i for i in range(len(from_soft[0]))], from_soft[0]) -# axs[2].plot([i for i in range(len(from_soft[1]))], from_soft[1]) +fig, axs = plt.subplots(2, 1) +axs[0].set_title(experiment_label) +axs[0].scatter([i for i in range(len(correct_or_not))], correct_or_not) +axs[1].scatter([i for i in range(len(cycle_error))], cycle_error) +axs[1].plot([0, len(cycle_error)], [75, 75], 'r') plt.show() pynn.end() print("job done") ''' +draw_graph_from_list(new_connections_in, new_connections_rec, new_connections_out) + +base_string = 'connection_lists/good 1 cue 20n recF' +np.save(base_string+' in.npy', new_connections_in) +np.save(base_string+' out.npy', new_connections_out) +np.save(base_string+' rec.npy', new_connections_rec) + plt.figure() plt.scatter([i for i in range(num_repeats)], cycle_error) plt.title(experiment_label) diff --git a/eprop_testing/incremental_graph_drawing.py b/eprop_testing/incremental_graph_drawing.py new file mode 100644 index 00000000..048a3e21 --- /dev/null +++ b/eprop_testing/incremental_graph_drawing.py @@ -0,0 +1,494 @@ +import spynnaker8 as pynn +import numpy as np +import matplotlib.pyplot as plt +from frozen_poisson import build_input_spike_train, frozen_poisson_variable_hz +from pyNN.random import NumpyRNG, RandomDistribution +from pyNN.utility.plotting import Figure, Panel +from spynnaker.pyNN.spynnaker_external_device_plugin_manager import SpynnakerExternalDevicePluginManager +from plot_graph import draw_graph_from_list, plot_learning_curve + +def load_connections(npy_label, pop_size, rec=True): + in_conn = [list(ele) for ele in np.load(npy_label+' in.npy').tolist()] + if rec: + rec_conn = [list(ele) for ele in np.load(npy_label+' rec.npy').tolist()] + out_conn = [list(ele) for ele in np.load(npy_label+' out.npy').tolist()] + for ndx in range(len(in_conn)): + if in_conn[ndx][3] == 16 and in_conn[ndx][0] == 0: + in_conn[ndx][3] = 0 + if rec: + for ndx in range(len(rec_conn)): + if rec_conn[ndx][3] == 16 and rec_conn[ndx][0] == 0: + rec_conn[ndx][3] = 0 + for ndx in range(len(out_conn)): + if out_conn[ndx][3] == 16 and out_conn[ndx][0] == 0: + out_conn[ndx][3] = 0 + checking_delays = [[] for i in range(pop_size)] + list_to_check = in_conn + if rec: + list_to_check = in_conn+rec_conn + for [pre, post, weight, delay] in list_to_check: + if delay not in checking_delays[post]: + checking_delays.append(delay) + else: + print "delays are overlapped" + Exception + if not rec: + rec_conn = [] + return in_conn, rec_conn, out_conn + +def weight_distribution(pop_size): + base_weight = np.random.randn() / np.sqrt(pop_size) #+ 0.5 + # base_weight = 0 + return base_weight + +def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): + connections = [] + max_syn_per_neuron = 0 + for j in range(post_pop_size): + neuron_syn_count = 0 + delay_count = offset + for i in range(pre_pop_size): + if np.random.random() < prob: + neuron_syn_count += 1 + conn = [i, j, weight_distribution(pre_pop_size), delay_count] + delay_count += 1 + connections.append(conn) + if neuron_syn_count > max_syn_per_neuron: + max_syn_per_neuron = neuron_syn_count + return connections, max_syn_per_neuron + +def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offset=0): + connections = [] + for j in range(post_min, post_max): + # delay = delay_offset + for i in range(pre_min, pre_max): + nd_weight = weight_distribution(pre_max-pre_min) + connections.append([i, j, weight+nd_weight, i+delay_offset]) + # delay += 1 + return connections + +np.random.seed(2727) + +number_of_cues = 3 +cycle_time = (number_of_cues*150)+1000+150 +num_repeats = 300 +pynn.setup(1.0) + +target_data = [] +for i in range(1024): + target_data.append(#1) + 0 + 2 * np.sin(2 * i * 2* np.pi / 1024) \ + + 2 * np.sin((4 * i * 2* np.pi / 1024)) + ) + + +reg_rate = 0.000 +p_connect_in = 1. +p_connect_rec = 1. +p_connect_out = 1. +recurrent_connections = False +synapse_eta = 0.01 +tau_a = 2500#[cycle_time - 150 + (np.random.randn() * 200) for i in range(100)] +input_split = 100 +window_cycles = 2 +window_size = cycle_time*window_cycles +threshold_beta = 3 + +max_weight = 8.0 +in_weight = 0.55 +prompt_weight = 0.55 +rec_weight = 0#-0.5 +out_weight = 0#0.01 +weight_string = "i{}-p{}-r{}-o{}".format(in_weight, prompt_weight, rec_weight, out_weight) + + +pynn.setup(timestep=1) + + +input_size = 40 +readout_neuron_params = { + "v": 0, + "v_thresh": 30, # controls firing rate of error neurons + "poisson_pop_size": input_size / 4, + "rate_on": 100, + "rate_off": 0, + # "tau_m": tau_a, + "w_fb": [1, -1, 0], + "eta": synapse_eta * 10., + "window_size": window_size, + } +rates = [] +for i in range(input_size): + if i >= (3*input_size) / 4: + rates.append(10) + else: + rates.append(0) + +input_pop = pynn.Population(input_size, + pynn.SpikeSourcePoisson(rate=rates), + # {'spike_times': build_input_spike_train(num_repeats, cycle_time, input_size)}, + # {'spike_times': frozen_poisson_variable_hz(num_repeats, cycle_time, input_split, input_split, input_size)}, + label='input_pop') + +neuron_pop_size = 4*5 +# from_list_in, from_list_rec, from_list_out = load_connections('good 1 cue 20n recT', neuron_pop_size) + +ratio_of_LIF = 0.5 +beta = [] +for i in range(neuron_pop_size): + if i < neuron_pop_size/2: + # if i % 2 == 0: + beta.append(threshold_beta) + else: + beta.append(threshold_beta) +neuron_params = { + "v": 0, + "i_offset": 0, + "v_rest": 0, + # "w_fb": [np.random.random() for i in range(neuron_pop_size)], # best it seems + # "w_fb": [(np.random.random() * 2) - 1. for i in range(neuron_pop_size)], + # "w_fb": [-4*np.random.random() - 4*np.random.random() for i in range(neuron_pop_size)], ## for both feedback weights + # "w_fb": [-3]*(neuron_pop_size/2) + [3]*(neuron_pop_size/2), + "w_fb": [3]*(neuron_pop_size/4) + [-3]*(neuron_pop_size/4) + [3]*(neuron_pop_size/4) + [-3]*(neuron_pop_size/4), + # "B": 0.0, + "beta": beta, + "target_rate": 10, + "tau_a": tau_a, + "eta": synapse_eta * 5,#/ 20., + "window_size": window_size, + } +neuron = pynn.Population(neuron_pop_size, + pynn.extra_models.EPropAdaptive(**neuron_params), + label='eprop_pop') + +# Output population +readout_pop = pynn.Population(3, # HARDCODED 1 + pynn.extra_models.LeftRightReadout( + **readout_neuron_params + ), + label="readout_pop" + ) + +SpynnakerExternalDevicePluginManager.add_edge(readout_pop._get_vertex, input_pop._get_vertex, "CONTROL") + +eprop_learning_neuron = pynn.STDPMechanism( + timing_dependence=pynn.extra_models.TimingDependenceEprop(), + weight_dependence=pynn.extra_models.WeightDependenceEpropReg( + w_min=-max_weight, w_max=max_weight, reg_rate=reg_rate)) + +# from_list_in, max_syn_per_input = probability_connector(input_size, neuron_pop_size, p_connect_in) +ps = readout_neuron_params["poisson_pop_size"] +# from_list_in = range_connector(0, ps, 0, neuron_pop_size/2, weight=in_weight) # connect 1/2st 2 left +# from_list_in += range_connector(ps, ps*2, neuron_pop_size/2, neuron_pop_size, weight=in_weight) # connect 2/2nd 2 right +# from_list_in = range_connector(0, ps*2, 0, neuron_pop_size, weight=in_weight) # connect all cues to pop +# from_list_in += range_connector(ps*2, ps*3, 0, neuron_pop_size, delay_offset=0, weight=prompt_weight) # connect all 2 prompt +from_list_in = range_connector(0, ps*4, 0, neuron_pop_size, delay_offset=0, weight=prompt_weight) # connect all 2 prompt +in_proj = pynn.Projection(input_pop, + neuron, + pynn.FromListConnector(from_list_in), + # pynn.AllToAllConnector(), + synapse_type=eprop_learning_neuron, + label='input_connections', + receptor_type='input_connections') + +eprop_learning_output = pynn.STDPMechanism( + timing_dependence=pynn.extra_models.TimingDependenceEprop(), + weight_dependence=pynn.extra_models.WeightDependenceEpropReg( + w_min=-max_weight, w_max=max_weight, reg_rate=0.0)) + +# from_list_out = [[i, 0, weight_distribution(input_size), i] for i in range(input_size)] +# from_list_out, max_syn_per_output = probability_connector(neuron_pop_size, 2, p_connect_out) +# from_list_out = range_connector(0, neuron_pop_size/2, 1, 2, weight=out_weight) # connect 1/2st 2 right output +# from_list_out += range_connector(neuron_pop_size/2, neuron_pop_size, 0, 1, weight=out_weight) # connect 2/2nd 2 left output +# from_list_out += range_connector(0, neuron_pop_size/2, 0, 1, weight=-out_weight) # connect 1/2st -2 left output +# from_list_out += range_connector(neuron_pop_size/2, neuron_pop_size, 1, 2, weight=-out_weight) # connect 2/2nd -2 right output +from_list_out = range_connector(0, neuron_pop_size, 0, 2, weight=out_weight) # connect 2/2nd -2 right output +out_proj = pynn.Projection(neuron, + readout_pop, + # pynn.OneToOneConnector(), + pynn.FromListConnector(from_list_out), + synapse_type=eprop_learning_output, + label='input_connections', + receptor_type='input_connections') + +learning_proj = pynn.Projection(readout_pop, + neuron, + pynn.AllToAllConnector(), + pynn.StaticSynapse(weight=0.5, delay=0), + receptor_type='learning_signal') + +# learning_proj = pynn.Projection(readout_pop, +# readout_pop, +# pynn.AllToAllConnector(), +# pynn.StaticSynapse(weight=0.5, delay=0), +# receptor_type='learning_signal') + +if recurrent_connections: + eprop_learning_recurrent = pynn.STDPMechanism( + timing_dependence=pynn.extra_models.TimingDependenceEprop(), + weight_dependence=pynn.extra_models.WeightDependenceEpropReg( + w_min=-max_weight, w_max=max_weight, reg_rate=reg_rate)) + + # from_list_rec, max_syn_per_rec = probability_connector(neuron_pop_size, neuron_pop_size, p_connect_rec, offset=0) + # from_list_rec = range_connector(0, neuron_pop_size/2, neuron_pop_size/2, neuron_pop_size, weight=rec_weight, delay_offset=100) # inhibitory connections between 1/2s + # from_list_rec += range_connector(neuron_pop_size/2, neuron_pop_size, 0, neuron_pop_size/2, weight=rec_weight, delay_offset=100) # inhibitory connections between 1/2s + from_list_rec = range_connector(0, neuron_pop_size, 0, neuron_pop_size, weight=rec_weight, delay_offset=100) # recurrent connections + recurrent_proj = pynn.Projection(neuron, + neuron, + pynn.FromListConnector(from_list_rec), + synapse_type=eprop_learning_recurrent, + label='recurrent_connections', + receptor_type='recurrent_connections') + +input_pop.record('spikes') +neuron.record('spikes') +neuron.record(['gsyn_exc', 'v', 'gsyn_inh'], indexes=[i for i in range((neuron_pop_size/2)-5, (neuron_pop_size/2)+5)]) +readout_pop.record('all') + +runtime = cycle_time * num_repeats + +experiment_label = "eta-{}_{} - size-{}_{} - weights-{} - p_conn-{}_{}_{} - rec-{} - cycle-{}_{}_{} regoff 40hz nd b-{}".format( + readout_neuron_params["eta"], neuron_params["eta"], input_size, neuron_pop_size, weight_string, p_connect_in, p_connect_rec, p_connect_out, recurrent_connections, cycle_time, window_size, runtime, threshold_beta) +print "\n", experiment_label, "\n" + +current_window = 0 +while current_window*window_size < runtime: + pynn.run(window_size) + in_spikes = input_pop.get_data('spikes') + neuron_res = neuron.get_data('all') + readout_res = readout_pop.get_data('all') + plot_start = (window_size*current_window) + current_window += 1 + plot_end = (window_size*current_window) + + total_error = 0.0 + cycle_error = [0.0 for i in range(current_window*window_cycles)] + correct_or_not = [0 for i in range(current_window*window_cycles)] + for cycle in range(current_window*window_cycles): + for time_index in range(cycle_time): + instantaneous_error = np.abs(float( + readout_res.segments[0].filter(name='gsyn_inh')[0][time_index+(cycle*cycle_time)][0])) + cycle_error[cycle] += instantaneous_error + total_error += instantaneous_error + if cycle_error[cycle] < 75: + correct_or_not[cycle] = 1 + + # new_connections_in = []#in_proj.get('weight', 'delay').connections[0]#[] + # for partition in in_proj.get('weight', 'delay').connections: + # for conn in partition: + # new_connections_in.append(conn) + # new_connections_in.sort(key=lambda x:x[0]) + # new_connections_in.sort(key=lambda x:x[1]) + # from_list_in.sort(key=lambda x:x[0]) + # from_list_in.sort(key=lambda x:x[1]) + # connection_diff_in = [] + # for i in range(len(from_list_in)): + # connection_diff_in.append(new_connections_in[i][2] - from_list_in[i][2]) + # print "Input connections\noriginal\n", np.array(from_list_in) + # print "new\n", np.array(new_connections_in) + # print "diff\n", np.array(connection_diff_in) + # + # new_connections_out = []#out_proj.get('weight', 'delay').connections[0]#[] + # for partition in out_proj.get('weight', 'delay').connections: + # for conn in partition: + # new_connections_out.append(conn) + # new_connections_out.sort(key=lambda x:x[0]) + # new_connections_out.sort(key=lambda x:x[1]) + # from_list_out.sort(key=lambda x:x[0]) + # from_list_out.sort(key=lambda x:x[1]) + # connection_diff_out = [] + # for i in range(len(from_list_out)): + # connection_diff_out.append(new_connections_out[i][2] - from_list_out[i][2]) + # print "Output connections\noriginal\n", np.array(from_list_out) + # print "new\n", np.array(new_connections_out) + # print "diff\n", np.array(connection_diff_out) + # + # new_connections_rec = [] + # if recurrent_connections: + # for partition in recurrent_proj.get('weight', 'delay').connections: + # for conn in partition: + # new_connections_rec.append(conn) + # new_connections_rec.sort(key=lambda x:x[0]) + # new_connections_rec.sort(key=lambda x:x[1]) + # from_list_rec.sort(key=lambda x:x[0]) + # from_list_rec.sort(key=lambda x:x[1]) + # connection_diff_rec = [] + # for i in range(len(from_list_rec)): + # connection_diff_rec.append(new_connections_rec[i][2] - from_list_rec[i][2]) + # print "Recurrent connections\noriginal\n", np.array(from_list_rec) + # print "new\n", np.array(new_connections_rec) + # print "diff\n", np.array(connection_diff_rec) + + print cycle_error + for i in range(int(np.ceil(len(correct_or_not) / float(window_cycles)))): + print correct_or_not[i*window_cycles:(i+1)*window_cycles], np.average(correct_or_not[i*window_cycles:(i+1)*window_cycles]) + + # graph_directory = '/home/adampcloth/PycharmProjects/PyNN8Examples/eprop_testing/graphs/' + # draw_graph_from_list(new_connections_in, new_connections_rec, new_connections_out, graph_directory, experiment_label+' {}'.format(current_window), rec_flag=recurrent_connections, save_flag=True) + # plot_learning_curve([correct_or_not, cycle_error], graph_directory, experiment_label+' {}'.format(current_window), save_flag=True) + + +total_error = 0.0 +cycle_error = [0.0 for i in range(num_repeats)] +correct_or_not = [0 for i in range(num_repeats)] +soft_max = [[], []] +cross_entropy = [] # how do I extract the answer easily? final gsyn exc value? +all_cross = [[], []] +from_soft = [[], []] +for cycle in range(num_repeats): + for time_index in range(cycle_time): + instantaneous_error = np.abs(float( + readout_res.segments[0].filter(name='gsyn_inh')[0][time_index+(cycle*cycle_time)][0])) + cycle_error[cycle] += instantaneous_error + total_error += instantaneous_error + if cycle_error[cycle] < 75: + correct_or_not[cycle] = 1 + +new_connections_in = []#in_proj.get('weight', 'delay').connections[0]#[] +for partition in in_proj.get('weight', 'delay').connections: + for conn in partition: + new_connections_in.append(conn) +new_connections_in.sort(key=lambda x:x[0]) +new_connections_in.sort(key=lambda x:x[1]) +from_list_in.sort(key=lambda x:x[0]) +from_list_in.sort(key=lambda x:x[1]) +connection_diff_in = [] +for i in range(len(from_list_in)): + connection_diff_in.append(new_connections_in[i][2] - from_list_in[i][2]) +print "Input connections\noriginal\n", np.array(from_list_in) +print "new\n", np.array(new_connections_in) +print "diff\n", np.array(connection_diff_in) + +new_connections_out = []#out_proj.get('weight', 'delay').connections[0]#[] +for partition in out_proj.get('weight', 'delay').connections: + for conn in partition: + new_connections_out.append(conn) +new_connections_out.sort(key=lambda x:x[0]) +new_connections_out.sort(key=lambda x:x[1]) +from_list_out.sort(key=lambda x:x[0]) +from_list_out.sort(key=lambda x:x[1]) +connection_diff_out = [] +for i in range(len(from_list_out)): + connection_diff_out.append(new_connections_out[i][2] - from_list_out[i][2]) +print "Output connections\noriginal\n", np.array(from_list_out) +print "new\n", np.array(new_connections_out) +print "diff\n", np.array(connection_diff_out) + +if recurrent_connections: + new_connections_rec = []#out_proj.get('weight', 'delay').connections[0]#[] + for partition in recurrent_proj.get('weight', 'delay').connections: + for conn in partition: + new_connections_rec.append(conn) + new_connections_rec.sort(key=lambda x:x[0]) + new_connections_rec.sort(key=lambda x:x[1]) + from_list_rec.sort(key=lambda x:x[0]) + from_list_rec.sort(key=lambda x:x[1]) + connection_diff_rec = [] + for i in range(len(from_list_rec)): + connection_diff_rec.append(new_connections_rec[i][2] - from_list_rec[i][2]) + print "Recurrent connections\noriginal\n", np.array(from_list_rec) + print "new\n", np.array(new_connections_rec) + print "diff\n", np.array(connection_diff_rec) + +print experiment_label +print "cycle_error =", cycle_error +print "total error =", total_error +print "correct:"# =", correct_or_not +for i in range(int(np.ceil(len(correct_or_not) / float(window_cycles)))): + print correct_or_not[i*window_cycles:(i+1)*window_cycles], np.average(correct_or_not[i*window_cycles:(i+1)*window_cycles]) +print "average error = ", np.average(cycle_error) +print "weighted average", np.average(cycle_error, weights=[i for i in range(num_repeats)]) +print "minimum error = ", np.min(cycle_error) +print "minimum iteration =", cycle_error.index(np.min(cycle_error)), "- with time stamp =", cycle_error.index(np.min(cycle_error)) * 1024 + +plt.figure() +Figure( + Panel(neuron_res.segments[0].filter(name='v')[0], ylabel='Membrane potential (mV)', yticks=True, xticks=True, xlim=(0, runtime)), + + Panel(neuron_res.segments[0].filter(name='gsyn_exc')[0], ylabel='gsyn_exc', yticks=True, xticks=True, xlim=(0, runtime)), + + Panel(neuron_res.segments[0].filter(name='gsyn_inh')[0], ylabel='gsyn_inh', yticks=True, xticks=True, xlim=(0, runtime)), + + Panel(in_spikes.segments[0].spiketrains, ylabel='in_spikes', xlabel='in_spikes', yticks=True, xticks=True, xlim=(0, runtime)), + + Panel(neuron_res.segments[0].spiketrains, ylabel='neuron_spikes', xlabel='neuron_spikes', yticks=True, xticks=True, xlim=(0, runtime)), + + Panel(readout_res.segments[0].filter(name='v')[0], ylabel='Membrane potential (mV)', yticks=True, xticks=True, xlim=(0, runtime)), + + Panel(readout_res.segments[0].filter(name='gsyn_exc')[0], ylabel='gsyn_exc', yticks=True, xticks=True, xlim=(0, runtime)), + + Panel(readout_res.segments[0].filter(name='gsyn_inh')[0], ylabel='gsyn_inh', yticks=True, xticks=True, xlim=(0, runtime)), + + title="neuron data for {}".format(experiment_label) +) +plt.show() + +# plot_start = runtime-(window_size*1.5) +# plot_end = runtime +# plt.figure() +# Figure( +# Panel(neuron_res.segments[0].filter(name='v')[0], ylabel='Membrane potential (mV)', yticks=True, xticks=True, xlim=(plot_start, plot_end)), +# +# Panel(neuron_res.segments[0].filter(name='gsyn_exc')[0], ylabel='gsyn_exc', yticks=True, xticks=True, xlim=(plot_start, plot_end)), +# +# Panel(neuron_res.segments[0].filter(name='gsyn_inh')[0], ylabel='gsyn_inh', yticks=True, xticks=True, xlim=(plot_start, plot_end)), +# +# Panel(in_spikes.segments[0].spiketrains, ylabel='in_spikes', xlabel='in_spikes', yticks=True, xticks=True, xlim=(plot_start, plot_end)), +# +# Panel(neuron_res.segments[0].spiketrains, ylabel='neuron_spikes', xlabel='neuron_spikes', yticks=True, xticks=True, xlim=(plot_start, plot_end)), +# +# Panel(readout_res.segments[0].filter(name='v')[0], ylabel='Membrane potential (mV)', yticks=True, xticks=True, xlim=(plot_start, plot_end)), +# +# Panel(readout_res.segments[0].filter(name='gsyn_exc')[0], ylabel='gsyn_exc', yticks=True, xticks=True, xlim=(plot_start, plot_end)), +# +# Panel(readout_res.segments[0].filter(name='gsyn_inh')[0], ylabel='gsyn_inh', yticks=True, xticks=True, xlim=(plot_start, plot_end)), +# +# title="neuron data for {}".format(experiment_label) +# ) +# plt.show() + +fig, axs = plt.subplots(1, 1) +axs.set_title(experiment_label) +# axs.scatter([i for i in range(len(correct_or_not))], correct_or_not) +# axs[1].plot([i for i in range(len(all_cross[0]))], all_cross[0]) +# axs[2].plot([i for i in range(len(all_cross[1]))], all_cross[1]) +axs.scatter([i for i in range(len(cycle_error))], cycle_error) +# axs[1].plot([i for i in range(len(from_soft[0]))], from_soft[0]) +# axs[2].plot([i for i in range(len(from_soft[1]))], from_soft[1]) +plt.show() + +pynn.end() +print("job done") + +''' +plt.figure() +plt.scatter([i for i in range(num_repeats)], cycle_error) +plt.title(experiment_label) +plt.show() + +def moving_average(a, n=3) : + ret = np.cumsum(a, dtype=float) + ret[n:] = ret[n:] - ret[:-n] + return ret[n - 1:] / n + +v_mem = [] +sine_wave = [] +for timestep in readout_res.segments[0].filter(name='v')[0]: + v_mem.append(timestep[0]) + sine_wave.append(timestep[1]) + +ave_mem = moving_average(v_mem, 20) +ave_sine = moving_average(sine_wave, 20) + +plt.figure() +plt.plot([i for i in range(len(ave_mem))], cum_mem) +plt.plot([i for i in range(len(ave_sine))], cum_sine) +plt.title(experiment_label) +plt.show() + +plt.figure() +plt.plot([i for i in range(len(soft_max[0]))], soft_max[0]) +plt.plot([i for i in range(len(soft_max[1]))], soft_max[1]) +plt.title(experiment_label) +plt.show() +''' \ No newline at end of file diff --git a/eprop_testing/plot_graph.py b/eprop_testing/plot_graph.py new file mode 100644 index 00000000..988555b2 --- /dev/null +++ b/eprop_testing/plot_graph.py @@ -0,0 +1,196 @@ +import matplotlib.pyplot as plt +import networkx as nx +import numpy as np +import imageio +import os + +def load_connections(npy_label, pop_size, rec=True): + in_conn = [list(ele) for ele in np.load(npy_label+' in.npy').tolist()] + if rec: + rec_conn = [list(ele) for ele in np.load(npy_label+' rec.npy').tolist()] + out_conn = [list(ele) for ele in np.load(npy_label+' out.npy').tolist()] + for ndx in range(len(in_conn)): + if in_conn[ndx][3] == 16 and in_conn[ndx][0] == 0: + in_conn[ndx][3] = 0 + if rec: + for ndx in range(len(rec_conn)): + if rec_conn[ndx][3] == 16 and rec_conn[ndx][0] == 0: + rec_conn[ndx][3] = 0 + for ndx in range(len(out_conn)): + if out_conn[ndx][3] == 16 and out_conn[ndx][0] == 0: + out_conn[ndx][3] = 0 + checking_delays = [[] for i in range(pop_size)] + list_to_check = in_conn + if rec: + list_to_check = in_conn+rec_conn + for [pre, post, weight, delay] in list_to_check: + if delay not in checking_delays[post]: + checking_delays.append(delay) + else: + print "delays are overlapped" + Exception + if not rec: + rec_conn = [] + return in_conn, rec_conn, out_conn + +def add_edges(conn_list, G, pre, post): + for conn in conn_list: + G.add_edge(pre+'{}'.format(conn[0]), post+'{}'.format(conn[1]), weight=conn[2]) + return G + +def create_lists(conn_list, pre, post): + edge_list = [] + weight_list = [] + colour_list = [] + for conn in conn_list: + # G.add_edge(pre+'{}'.format(conn[0]), post+'{}'.format(conn[1]), weight=conn[2]) + edge_list.append([pre+'{}'.format(conn[0]), post+'{}'.format(conn[1])]) + weight_list.append(conn[2]*4) + colour_list.append(conn[2]*4) + return edge_list, weight_list, colour_list + +def condense_inputs(conn_list): + new_list = [] + for [pre, post, weight, delay] in conn_list: + new_list.append([np.floor(pre / 10), post, weight, delay]) + combined_weights = [{} for i in range(4)] + for [pre, post, weight, delay] in new_list: + if '{}'.format(post) in combined_weights[int(pre)]: + combined_weights[int(pre)]['{}'.format(post)] += weight + else: + combined_weights[int(pre)]['{}'.format(post)] = weight + condensed_list = [] + for dict in combined_weights: + for post in dict: + condensed_list.append([combined_weights.index(dict), int(post), dict[post]/10.]) + return condensed_list + +def create_pos(in_size, rec_size, out_size): + pos = {} + for node in range(in_size): + pos['in{}'.format(node)] = np.array([0, (node * (100. / in_size) + (100. / (in_size * 2.)))]) + # for node in range(in_size): + # x = 0.5 - 0.5*(np.sin((np.pi*(node/float(in_size))/2) + np.pi/4.)) + # y = (node * (150. / in_size) + (150. / (in_size * 2.))) - 25 + # pos['in{}'.format(node)] = np.array([x, y]) + for node in range(rec_size): + pos['h{}'.format(node)] = np.array([1, (node * (100. / rec_size) + (100. / (rec_size * 2.)))]) + # for node in range(rec_size): + # x = 1 + 0.5*(np.sin(2.*np.pi*(node/float(rec_size)))) + # y = 50 + 50*(np.cos(2.*np.pi*(node/float(rec_size)))) + # pos['h{}'.format(node)] = np.array([x, y]) + for node in range(out_size): + pos['out{}'.format(node)] = np.array([2, (node * (100. / out_size) + (100. / (out_size * 2.)))]) + return pos + +def draw_graph_from_file(address_string, test_label, rec_flag, save_flag=False): + G = nx.Graph() + + from_list_in, from_list_rec, from_list_out = load_connections(address_string+test_label, 20, rec=rec_flag) + from_list_in = condense_inputs(from_list_in) + G = add_edges(from_list_in, G, 'in', 'h') + G = add_edges(from_list_rec, G, 'h', 'h') + G = add_edges(from_list_out, G, 'h', 'out') + all_edges = [] + all_weights = [] + all_colours = [] + edges, weights, colours = create_lists(from_list_in, 'in', 'h') + all_edges += edges + all_weights += weights + all_colours += colours + edges, weights, colours = create_lists(from_list_rec, 'h', 'h') + all_edges += edges + all_weights += weights + all_colours += colours + edges, weights, colours = create_lists(from_list_out, 'h', 'out') + all_edges += edges + all_weights += weights + all_colours += colours + + pos = create_pos(4, 20, 2) + + # nodes + nx.draw_networkx_nodes(G, pos, node_size=700) + + # edges + nx.draw_networkx_edges(G, pos, edgelist=all_edges, width=all_weights, edge_color=all_colours) + + # labels + nx.draw_networkx_labels(G, pos, font_size=20, font_family='sans-serif') + + plt.axis('off') + if save_flag: + plt.savefig(address_string+test_label+".png") # save as png + plt.show() # display + plt.close() + +def draw_graph_from_list(from_list_in, from_list_rec, from_list_out, address_string=None, test_label=None, rec_flag=False, save_flag=False, plot_flag=False): + G = nx.Graph() + + # from_list_in, from_list_rec, from_list_out = load_connections(address_string+test_label, 20, rec=rec_flag) + from_list_in = condense_inputs(from_list_in) + G = add_edges(from_list_in, G, 'in', 'h') + G = add_edges(from_list_rec, G, 'h', 'h') + G = add_edges(from_list_out, G, 'h', 'out') + all_edges = [] + all_weights = [] + all_colours = [] + edges, weights, colours = create_lists(from_list_in, 'in', 'h') + all_edges += edges + all_weights += weights + all_colours += colours + edges, weights, colours = create_lists(from_list_rec, 'h', 'h') + all_edges += edges + all_weights += weights + all_colours += colours + edges, weights, colours = create_lists(from_list_out, 'h', 'out') + all_edges += edges + all_weights += weights + all_colours += colours + + pos = create_pos(4, 20, 2) + + # nodes + nx.draw_networkx_nodes(G, pos, node_size=700) + + # edges + nx.draw_networkx_edges(G, pos, edgelist=all_edges, width=all_weights, edge_color=all_colours) + + # labels + nx.draw_networkx_labels(G, pos, font_size=20, font_family='sans-serif') + + plt.axis('off') + if save_flag: + plt.savefig(address_string+test_label+" SNN.png") # save as png + if plot_flag: + plt.show() # display + plt.close() + +def plot_learning_curve(data, address_string, test_label, save_flag=False): + # if not isinstance(data[0], list): + # data = [data] + + fig, axs = plt.subplots(len(data), 1) + axs[0].set_title(test_label) + axs[0].scatter([i for i in range(len(data[0]))], data[0]) + axs[1].scatter([i for i in range(len(data[1]))], data[1]) + axs[1].plot([0, len(data[1])], [75, 75], 'r') + if save_flag: + plt.savefig(address_string+test_label+" learning curve.png") + # plt.show() + plt.close() + + +def create_video(top_directory, base_label): + for root, dirs, files in os.walk(top_directory): + if base_label in files: + print "save files" + print "creating video" + # for filename in filenames: + # images.append(imageio.imread(filename)) + # imageio.mimsave(top_directory+'/videos/'+base_label+'.gif', images) + +# draw_graph_from_file('/home/adampcloth/PycharmProjects/PyNN8Examples/eprop_testing/connection_lists/', +# 'full 0nd 1 cue 20n recF', +# False, +# save_flag=False) \ No newline at end of file diff --git a/eprop_testing/test_left_right_readout.py b/eprop_testing/test_left_right_readout.py index 74f1c119..93152475 100644 --- a/eprop_testing/test_left_right_readout.py +++ b/eprop_testing/test_left_right_readout.py @@ -13,7 +13,7 @@ def weight_distribution(pop_size): # base_weight = 0 return base_weight -def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): +def probability_connector(pre_pop_size, post_pop_size, prob, offset=0, added_weight=0.): connections = [] max_syn_per_neuron = 0 for j in range(post_pop_size): @@ -22,7 +22,7 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): for i in range(pre_pop_size): if np.random.random() < prob: neuron_syn_count += 1 - conn = [i, j, weight_distribution(pre_pop_size), delay_count] + conn = [i, j, weight_distribution(pre_pop_size)+added_weight, delay_count] delay_count += 1 connections.append(conn) if neuron_syn_count > max_syn_per_neuron: @@ -33,7 +33,7 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): number_of_cues = 1 cycle_time = (number_of_cues*150)+1000+150 -num_repeats = 400 +num_repeats = 800 pynn.setup(1.0) target_data = [] @@ -49,12 +49,18 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): p_connect_rec = 1. p_connect_out = 1. recurrent_connections = True -synapse_eta = 0.002 +synapse_eta = 0.0005 tau_a = 2500#[cycle_time - 150 + (np.random.randn() * 200) for i in range(100)] input_split = 20 -window_cycles = 4 +window_cycles = 10 window_size = cycle_time*window_cycles -eprop_beta = 0.3 +eprop_beta = 3 + +in_weight = 0.75 +prompt_weight = 0.75 +rec_weight = 0#-0.5 +out_weight = 0#0.01 +weight_string = "i{}-p{}-r{}-o{}".format(in_weight, prompt_weight, rec_weight, out_weight) pynn.setup(timestep=1) @@ -65,6 +71,7 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): "v": 0, "v_thresh": 30, # controls firing rate of error neurons "poisson_pop_size": input_size / 4, + "rate_on": 100, # "tau_m": tau_a, "w_fb": [1, -1, 0], "eta": synapse_eta * 5., @@ -97,7 +104,8 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): "v_rest": 0, # "w_fb": [np.random.random() for i in range(neuron_pop_size)], # best it seems # "w_fb": [(np.random.random() * 2) - 1. for i in range(neuron_pop_size)], - "w_fb": [np.random.random() - np.random.random() for i in range(neuron_pop_size)], ## for both feedback weights + "w_fb": [4*np.random.random() - 4*np.random.random() for i in range(neuron_pop_size)], ## for both feedback weights + # "w_fb": [3]*(neuron_pop_size/4) + [-3]*(neuron_pop_size/4) + [3]*(neuron_pop_size/4) + [-3]*(neuron_pop_size/4), # "B": 0.0, "beta": beta, "target_rate": 10, @@ -119,13 +127,13 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): SpynnakerExternalDevicePluginManager.add_edge(readout_pop._get_vertex, input_pop._get_vertex, "CONTROL") -start_w = [weight_distribution(neuron_pop_size*input_size) for i in range(input_size)] +# start_w = [weight_distribution(neuron_pop_size*input_size) for i in range(input_size)] eprop_learning_neuron = pynn.STDPMechanism( timing_dependence=pynn.extra_models.TimingDependenceEprop(), weight_dependence=pynn.extra_models.WeightDependenceEpropReg( w_min=-2.0, w_max=2.0, reg_rate=reg_rate)) -from_list_in, max_syn_per_input = probability_connector(input_size, neuron_pop_size, p_connect_in) +from_list_in, max_syn_per_input = probability_connector(input_size, neuron_pop_size, p_connect_in, added_weight=in_weight) if max_syn_per_input > 100: Exception else: @@ -144,7 +152,7 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): w_min=-2.0, w_max=2.0, reg_rate=0.0)) # from_list_out = [[i, 0, weight_distribution(input_size), i] for i in range(input_size)] -from_list_out, max_syn_per_output = probability_connector(neuron_pop_size, 2, p_connect_out) +from_list_out, max_syn_per_output = probability_connector(neuron_pop_size, 2, p_connect_out, added_weight=out_weight) if max_syn_per_output > 100: Exception else: @@ -175,7 +183,7 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): weight_dependence=pynn.extra_models.WeightDependenceEpropReg( w_min=-2.0, w_max=2.0, reg_rate=reg_rate)) - from_list_rec, max_syn_per_rec = probability_connector(neuron_pop_size, neuron_pop_size, p_connect_rec, offset=0) + from_list_rec, max_syn_per_rec = probability_connector(neuron_pop_size, neuron_pop_size, p_connect_rec, offset=0, added_weight=rec_weight) if max_syn_per_rec > 150: Exception else: @@ -194,8 +202,8 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): runtime = cycle_time * num_repeats -experiment_label = "eta:{}/{} - size:{}/{} - reg_rate:{} - p_conn:{}/{}/{} - rec:{} - cycle:{}/{}/{} vmemregtest 0.5sd b:{}".format( - readout_neuron_params["eta"], neuron_params["eta"], input_size, neuron_pop_size, reg_rate, p_connect_in, p_connect_rec, p_connect_out, recurrent_connections, cycle_time, window_size, runtime, eprop_beta) +experiment_label = "eta:{}/{} - size:{}/{} - reg_rate:{} - p_conn:{}/{}/{} - rec:{} - cycle:{}/{}/{} noresetv 0d b:{} in+{}".format( + readout_neuron_params["eta"], neuron_params["eta"], input_size, neuron_pop_size, reg_rate, p_connect_in, p_connect_rec, p_connect_out, recurrent_connections, cycle_time, window_size, runtime, eprop_beta, added_input_weight) print "\n", experiment_label, "\n" pynn.run(runtime) From aeff217ae5d723a00fb8f9d718a9795324f8ab3f Mon Sep 17 00:00:00 2001 From: Andrew Gait Date: Wed, 22 Jul 2020 16:51:42 +0100 Subject: [PATCH 47/68] Update to run in python 3, remove some recording --- eprop_testing/incremental_graph_drawing.py | 201 +++++++++++---------- eprop_testing/plot_graph.py | 8 +- 2 files changed, 105 insertions(+), 104 deletions(-) diff --git a/eprop_testing/incremental_graph_drawing.py b/eprop_testing/incremental_graph_drawing.py index 048a3e21..327f4ba2 100644 --- a/eprop_testing/incremental_graph_drawing.py +++ b/eprop_testing/incremental_graph_drawing.py @@ -30,7 +30,7 @@ def load_connections(npy_label, pop_size, rec=True): if delay not in checking_delays[post]: checking_delays.append(delay) else: - print "delays are overlapped" + print("delays are overlapped") Exception if not rec: rec_conn = [] @@ -59,9 +59,9 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offset=0): connections = [] - for j in range(post_min, post_max): + for j in range(int(post_min), int(post_max)): # delay = delay_offset - for i in range(pre_min, pre_max): + for i in range(int(pre_min), int(pre_max)): nd_weight = weight_distribution(pre_max-pre_min) connections.append([i, j, weight+nd_weight, i+delay_offset]) # delay += 1 @@ -149,7 +149,7 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs # "w_fb": [(np.random.random() * 2) - 1. for i in range(neuron_pop_size)], # "w_fb": [-4*np.random.random() - 4*np.random.random() for i in range(neuron_pop_size)], ## for both feedback weights # "w_fb": [-3]*(neuron_pop_size/2) + [3]*(neuron_pop_size/2), - "w_fb": [3]*(neuron_pop_size/4) + [-3]*(neuron_pop_size/4) + [3]*(neuron_pop_size/4) + [-3]*(neuron_pop_size/4), + "w_fb": [3]*(neuron_pop_size//4) + [-3]*(neuron_pop_size//4) + [3]*(neuron_pop_size//4) + [-3]*(neuron_pop_size//4), # "B": 0.0, "beta": beta, "target_rate": 10, @@ -240,23 +240,24 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs label='recurrent_connections', receptor_type='recurrent_connections') -input_pop.record('spikes') -neuron.record('spikes') -neuron.record(['gsyn_exc', 'v', 'gsyn_inh'], indexes=[i for i in range((neuron_pop_size/2)-5, (neuron_pop_size/2)+5)]) -readout_pop.record('all') +# input_pop.record('spikes') +# neuron.record('spikes') +# neuron.record(['gsyn_exc', 'v', 'gsyn_inh'], indexes=[i for i in range((neuron_pop_size//2)-5, (neuron_pop_size//2)+5)]) +readout_pop.record('gsyn_inh') +# readout_pop.record('all') runtime = cycle_time * num_repeats experiment_label = "eta-{}_{} - size-{}_{} - weights-{} - p_conn-{}_{}_{} - rec-{} - cycle-{}_{}_{} regoff 40hz nd b-{}".format( readout_neuron_params["eta"], neuron_params["eta"], input_size, neuron_pop_size, weight_string, p_connect_in, p_connect_rec, p_connect_out, recurrent_connections, cycle_time, window_size, runtime, threshold_beta) -print "\n", experiment_label, "\n" +print("\n", experiment_label, "\n") current_window = 0 while current_window*window_size < runtime: pynn.run(window_size) - in_spikes = input_pop.get_data('spikes') - neuron_res = neuron.get_data('all') - readout_res = readout_pop.get_data('all') +# in_spikes = input_pop.get_data('spikes', clear=True) +# neuron_res = neuron.get_data('all', clear=True) + readout_res = readout_pop.get_data('all', clear=True) plot_start = (window_size*current_window) current_window += 1 plot_end = (window_size*current_window) @@ -273,55 +274,55 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs if cycle_error[cycle] < 75: correct_or_not[cycle] = 1 - # new_connections_in = []#in_proj.get('weight', 'delay').connections[0]#[] - # for partition in in_proj.get('weight', 'delay').connections: - # for conn in partition: - # new_connections_in.append(conn) - # new_connections_in.sort(key=lambda x:x[0]) - # new_connections_in.sort(key=lambda x:x[1]) - # from_list_in.sort(key=lambda x:x[0]) - # from_list_in.sort(key=lambda x:x[1]) - # connection_diff_in = [] - # for i in range(len(from_list_in)): - # connection_diff_in.append(new_connections_in[i][2] - from_list_in[i][2]) - # print "Input connections\noriginal\n", np.array(from_list_in) - # print "new\n", np.array(new_connections_in) - # print "diff\n", np.array(connection_diff_in) - # - # new_connections_out = []#out_proj.get('weight', 'delay').connections[0]#[] - # for partition in out_proj.get('weight', 'delay').connections: - # for conn in partition: - # new_connections_out.append(conn) - # new_connections_out.sort(key=lambda x:x[0]) - # new_connections_out.sort(key=lambda x:x[1]) - # from_list_out.sort(key=lambda x:x[0]) - # from_list_out.sort(key=lambda x:x[1]) - # connection_diff_out = [] - # for i in range(len(from_list_out)): - # connection_diff_out.append(new_connections_out[i][2] - from_list_out[i][2]) - # print "Output connections\noriginal\n", np.array(from_list_out) - # print "new\n", np.array(new_connections_out) - # print "diff\n", np.array(connection_diff_out) - # - # new_connections_rec = [] - # if recurrent_connections: - # for partition in recurrent_proj.get('weight', 'delay').connections: - # for conn in partition: - # new_connections_rec.append(conn) - # new_connections_rec.sort(key=lambda x:x[0]) - # new_connections_rec.sort(key=lambda x:x[1]) - # from_list_rec.sort(key=lambda x:x[0]) - # from_list_rec.sort(key=lambda x:x[1]) - # connection_diff_rec = [] - # for i in range(len(from_list_rec)): - # connection_diff_rec.append(new_connections_rec[i][2] - from_list_rec[i][2]) - # print "Recurrent connections\noriginal\n", np.array(from_list_rec) - # print "new\n", np.array(new_connections_rec) - # print "diff\n", np.array(connection_diff_rec) - - print cycle_error + new_connections_in = []#in_proj.get('weight', 'delay').connections[0]#[] + for partition in in_proj.get('weight', 'delay').connections: + for conn in partition: + new_connections_in.append(conn) + new_connections_in.sort(key=lambda x:x[0]) + new_connections_in.sort(key=lambda x:x[1]) + from_list_in.sort(key=lambda x:x[0]) + from_list_in.sort(key=lambda x:x[1]) + connection_diff_in = [] + for i in range(len(from_list_in)): + connection_diff_in.append(new_connections_in[i][2] - from_list_in[i][2]) + print("Input connections\noriginal\n", np.array(from_list_in)) + print("new\n", np.array(new_connections_in)) + print("diff\n", np.array(connection_diff_in)) + + new_connections_out = []#out_proj.get('weight', 'delay').connections[0]#[] + for partition in out_proj.get('weight', 'delay').connections: + for conn in partition: + new_connections_out.append(conn) + new_connections_out.sort(key=lambda x:x[0]) + new_connections_out.sort(key=lambda x:x[1]) + from_list_out.sort(key=lambda x:x[0]) + from_list_out.sort(key=lambda x:x[1]) + connection_diff_out = [] + for i in range(len(from_list_out)): + connection_diff_out.append(new_connections_out[i][2] - from_list_out[i][2]) + print("Output connections\noriginal\n", np.array(from_list_out)) + print("new\n", np.array(new_connections_out)) + print("diff\n", np.array(connection_diff_out)) + + new_connections_rec = [] + if recurrent_connections: + for partition in recurrent_proj.get('weight', 'delay').connections: + for conn in partition: + new_connections_rec.append(conn) + new_connections_rec.sort(key=lambda x:x[0]) + new_connections_rec.sort(key=lambda x:x[1]) + from_list_rec.sort(key=lambda x:x[0]) + from_list_rec.sort(key=lambda x:x[1]) + connection_diff_rec = [] + for i in range(len(from_list_rec)): + connection_diff_rec.append(new_connections_rec[i][2] - from_list_rec[i][2]) + print("Recurrent connections\noriginal\n", np.array(from_list_rec)) + print("new\n", np.array(new_connections_rec)) + print("diff\n", np.array(connection_diff_rec)) + + print(cycle_error) for i in range(int(np.ceil(len(correct_or_not) / float(window_cycles)))): - print correct_or_not[i*window_cycles:(i+1)*window_cycles], np.average(correct_or_not[i*window_cycles:(i+1)*window_cycles]) + print(correct_or_not[i*window_cycles:(i+1)*window_cycles], np.average(correct_or_not[i*window_cycles:(i+1)*window_cycles])) # graph_directory = '/home/adampcloth/PycharmProjects/PyNN8Examples/eprop_testing/graphs/' # draw_graph_from_list(new_connections_in, new_connections_rec, new_connections_out, graph_directory, experiment_label+' {}'.format(current_window), rec_flag=recurrent_connections, save_flag=True) @@ -355,9 +356,9 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs connection_diff_in = [] for i in range(len(from_list_in)): connection_diff_in.append(new_connections_in[i][2] - from_list_in[i][2]) -print "Input connections\noriginal\n", np.array(from_list_in) -print "new\n", np.array(new_connections_in) -print "diff\n", np.array(connection_diff_in) +print("Input connections\noriginal\n", np.array(from_list_in)) +print("new\n", np.array(new_connections_in)) +print("diff\n", np.array(connection_diff_in)) new_connections_out = []#out_proj.get('weight', 'delay').connections[0]#[] for partition in out_proj.get('weight', 'delay').connections: @@ -370,9 +371,9 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs connection_diff_out = [] for i in range(len(from_list_out)): connection_diff_out.append(new_connections_out[i][2] - from_list_out[i][2]) -print "Output connections\noriginal\n", np.array(from_list_out) -print "new\n", np.array(new_connections_out) -print "diff\n", np.array(connection_diff_out) +print("Output connections\noriginal\n", np.array(from_list_out)) +print("new\n", np.array(new_connections_out)) +print("diff\n", np.array(connection_diff_out)) if recurrent_connections: new_connections_rec = []#out_proj.get('weight', 'delay').connections[0]#[] @@ -386,42 +387,42 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs connection_diff_rec = [] for i in range(len(from_list_rec)): connection_diff_rec.append(new_connections_rec[i][2] - from_list_rec[i][2]) - print "Recurrent connections\noriginal\n", np.array(from_list_rec) - print "new\n", np.array(new_connections_rec) - print "diff\n", np.array(connection_diff_rec) - -print experiment_label -print "cycle_error =", cycle_error -print "total error =", total_error -print "correct:"# =", correct_or_not + print("Recurrent connections\noriginal\n", np.array(from_list_rec)) + print("new\n", np.array(new_connections_rec)) + print("diff\n", np.array(connection_diff_rec)) + +print(experiment_label) +print("cycle_error =", cycle_error) +print("total error =", total_error) +print("correct:") # =", correct_or_not for i in range(int(np.ceil(len(correct_or_not) / float(window_cycles)))): - print correct_or_not[i*window_cycles:(i+1)*window_cycles], np.average(correct_or_not[i*window_cycles:(i+1)*window_cycles]) -print "average error = ", np.average(cycle_error) -print "weighted average", np.average(cycle_error, weights=[i for i in range(num_repeats)]) -print "minimum error = ", np.min(cycle_error) -print "minimum iteration =", cycle_error.index(np.min(cycle_error)), "- with time stamp =", cycle_error.index(np.min(cycle_error)) * 1024 - -plt.figure() -Figure( - Panel(neuron_res.segments[0].filter(name='v')[0], ylabel='Membrane potential (mV)', yticks=True, xticks=True, xlim=(0, runtime)), - - Panel(neuron_res.segments[0].filter(name='gsyn_exc')[0], ylabel='gsyn_exc', yticks=True, xticks=True, xlim=(0, runtime)), - - Panel(neuron_res.segments[0].filter(name='gsyn_inh')[0], ylabel='gsyn_inh', yticks=True, xticks=True, xlim=(0, runtime)), - - Panel(in_spikes.segments[0].spiketrains, ylabel='in_spikes', xlabel='in_spikes', yticks=True, xticks=True, xlim=(0, runtime)), + print(correct_or_not[i*window_cycles:(i+1)*window_cycles], np.average(correct_or_not[i*window_cycles:(i+1)*window_cycles])) +print("average error = ", np.average(cycle_error)) +print("weighted average", np.average(cycle_error, weights=[i for i in range(num_repeats)])) +print("minimum error = ", np.min(cycle_error)) +print("minimum iteration =", cycle_error.index(np.min(cycle_error)), "- with time stamp =", cycle_error.index(np.min(cycle_error)) * 1024) - Panel(neuron_res.segments[0].spiketrains, ylabel='neuron_spikes', xlabel='neuron_spikes', yticks=True, xticks=True, xlim=(0, runtime)), - - Panel(readout_res.segments[0].filter(name='v')[0], ylabel='Membrane potential (mV)', yticks=True, xticks=True, xlim=(0, runtime)), - - Panel(readout_res.segments[0].filter(name='gsyn_exc')[0], ylabel='gsyn_exc', yticks=True, xticks=True, xlim=(0, runtime)), - - Panel(readout_res.segments[0].filter(name='gsyn_inh')[0], ylabel='gsyn_inh', yticks=True, xticks=True, xlim=(0, runtime)), - - title="neuron data for {}".format(experiment_label) -) -plt.show() +# plt.figure() +# Figure( +# Panel(neuron_res.segments[0].filter(name='v')[0], ylabel='Membrane potential (mV)', yticks=True, xticks=True, xlim=(0, runtime)), +# +# Panel(neuron_res.segments[0].filter(name='gsyn_exc')[0], ylabel='gsyn_exc', yticks=True, xticks=True, xlim=(0, runtime)), +# +# Panel(neuron_res.segments[0].filter(name='gsyn_inh')[0], ylabel='gsyn_inh', yticks=True, xticks=True, xlim=(0, runtime)), +# +# # Panel(in_spikes.segments[0].spiketrains, ylabel='in_spikes', xlabel='in_spikes', yticks=True, xticks=True, xlim=(0, runtime)), +# +# Panel(neuron_res.segments[0].spiketrains, ylabel='neuron_spikes', xlabel='neuron_spikes', yticks=True, xticks=True, xlim=(0, runtime)), +# +# Panel(readout_res.segments[0].filter(name='v')[0], ylabel='Membrane potential (mV)', yticks=True, xticks=True, xlim=(0, runtime)), +# +# Panel(readout_res.segments[0].filter(name='gsyn_exc')[0], ylabel='gsyn_exc', yticks=True, xticks=True, xlim=(0, runtime)), +# +# Panel(readout_res.segments[0].filter(name='gsyn_inh')[0], ylabel='gsyn_inh', yticks=True, xticks=True, xlim=(0, runtime)), +# +# title="neuron data for {}".format(experiment_label) +# ) +# plt.show() # plot_start = runtime-(window_size*1.5) # plot_end = runtime diff --git a/eprop_testing/plot_graph.py b/eprop_testing/plot_graph.py index 988555b2..5622bc62 100644 --- a/eprop_testing/plot_graph.py +++ b/eprop_testing/plot_graph.py @@ -1,7 +1,7 @@ import matplotlib.pyplot as plt import networkx as nx import numpy as np -import imageio +# import imageio import os def load_connections(npy_label, pop_size, rec=True): @@ -27,7 +27,7 @@ def load_connections(npy_label, pop_size, rec=True): if delay not in checking_delays[post]: checking_delays.append(delay) else: - print "delays are overlapped" + print("delays are overlapped") Exception if not rec: rec_conn = [] @@ -184,8 +184,8 @@ def plot_learning_curve(data, address_string, test_label, save_flag=False): def create_video(top_directory, base_label): for root, dirs, files in os.walk(top_directory): if base_label in files: - print "save files" - print "creating video" + print("save files") + print("creating video") # for filename in filenames: # images.append(imageio.imread(filename)) # imageio.mimsave(top_directory+'/videos/'+base_label+'.gif', images) From 145d6fff640e9cb692d075668946f63633a024dc Mon Sep 17 00:00:00 2001 From: such-a-git Date: Fri, 25 Sep 2020 12:04:09 +0100 Subject: [PATCH 48/68] updated to python3, small updates to variables and plotting --- eprop_testing/hand_crafted_left_right.py | 144 +++++++++++---------- eprop_testing/incremental_graph_drawing.py | 56 ++++---- eprop_testing/plot_graph.py | 6 +- 3 files changed, 106 insertions(+), 100 deletions(-) diff --git a/eprop_testing/hand_crafted_left_right.py b/eprop_testing/hand_crafted_left_right.py index c53ab7f6..15ef5c87 100644 --- a/eprop_testing/hand_crafted_left_right.py +++ b/eprop_testing/hand_crafted_left_right.py @@ -1,11 +1,11 @@ import spynnaker8 as pynn import numpy as np import matplotlib.pyplot as plt -from frozen_poisson import build_input_spike_train, frozen_poisson_variable_hz +from PyNN8Examples.eprop_testing.frozen_poisson import build_input_spike_train, frozen_poisson_variable_hz from pyNN.random import NumpyRNG, RandomDistribution from pyNN.utility.plotting import Figure, Panel from spynnaker.pyNN.spynnaker_external_device_plugin_manager import SpynnakerExternalDevicePluginManager -from plot_graph import draw_graph_from_list, plot_learning_curve +from PyNN8Examples.eprop_testing.plot_graph import draw_graph_from_list, plot_learning_curve def weight_distribution(pop_size): base_weight = np.random.randn() / np.sqrt(pop_size) #+ 0.5 @@ -30,19 +30,19 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offset=0): connections = [] - for j in range(post_min, post_max): + for j in range(int(post_min), int(post_max)): # delay = delay_offset - for i in range(pre_min, pre_max): + for i in range(int(pre_min), int(pre_max)): nd_weight = weight_distribution(pre_max-pre_min) connections.append([i, j, weight+nd_weight, i+delay_offset]) # delay += 1 return connections -np.random.seed(28) +np.random.seed(272727) number_of_cues = 1 cycle_time = (number_of_cues*150)+1000+150 -num_repeats = 500 +num_repeats = 1000 pynn.setup(1.0) target_data = [] @@ -57,19 +57,19 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs p_connect_in = 1. p_connect_rec = 1. p_connect_out = 1. -recurrent_connections = True +recurrent_connections = False synapse_eta = 0.01 tau_a = 2500#[cycle_time - 150 + (np.random.randn() * 200) for i in range(100)] input_split = 100 window_cycles = 2 window_size = cycle_time*window_cycles -threshold_beta = 0.3 +threshold_beta = .3 max_weight = 8.0 in_weight = 0.55 prompt_weight = 0.55 rec_weight = 0#-0.5 -out_weight = 0#0.01 +out_weight = 0 weight_string = "i{}-p{}-r{}-o{}".format(in_weight, prompt_weight, rec_weight, out_weight) pynn.setup(timestep=1) @@ -98,13 +98,13 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs # {'spike_times': frozen_poisson_variable_hz(num_repeats, cycle_time, input_split, input_split, input_size)}, label='input_pop') -neuron_pop_size = 4*5 +neuron_pop_size = 4*25 ratio_of_LIF = 0.5 beta = [] for i in range(neuron_pop_size): if i < neuron_pop_size/2: # if i % 2 == 0: - beta.append(threshold_beta) + beta.append(0) else: beta.append(threshold_beta) neuron_params = { @@ -113,9 +113,9 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs "v_rest": 0, # "w_fb": [np.random.random() for i in range(neuron_pop_size)], # best it seems # "w_fb": [(np.random.random() * 2) - 1. for i in range(neuron_pop_size)], - # "w_fb": [4*np.random.random() - 4*np.random.random() for i in range(neuron_pop_size)], ## for both feedback weights + "w_fb": [4*np.random.random() - 4*np.random.random() for i in range(neuron_pop_size)], ## for both feedback weights # "w_fb": [-3]*(neuron_pop_size/2) + [3]*(neuron_pop_size/2), - "w_fb": [3]*(neuron_pop_size/4) + [-3]*(neuron_pop_size/4) + [3]*(neuron_pop_size/4) + [-3]*(neuron_pop_size/4), + # "w_fb": [3]*int(neuron_pop_size/4) + [-3]*int(neuron_pop_size/4) + [3]*int(neuron_pop_size/4) + [-3]*int(neuron_pop_size/4), # "B": 0.0, "beta": beta, "target_rate": 10, @@ -144,12 +144,13 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs w_min=-max_weight, w_max=max_weight, reg_rate=reg_rate)) # from_list_in, max_syn_per_input = probability_connector(input_size, neuron_pop_size, p_connect_in) -ps = readout_neuron_params["poisson_pop_size"] +ps = int(readout_neuron_params["poisson_pop_size"]) # from_list_in = range_connector(0, ps, 0, neuron_pop_size/2, weight=in_weight) # connect 1/2st 2 left # from_list_in += range_connector(ps, ps*2, neuron_pop_size/2, neuron_pop_size, weight=in_weight) # connect 2/2nd 2 right # from_list_in = range_connector(0, ps*2, 0, neuron_pop_size, weight=in_weight) # connect all cues to pop # from_list_in += range_connector(ps*2, ps*3, 0, neuron_pop_size, delay_offset=0, weight=prompt_weight) # connect all 2 prompt -from_list_in = range_connector(0, ps*4, 0, neuron_pop_size, delay_offset=0, weight=prompt_weight) # connect all 2 prompt +from_list_in = range_connector(0, ps*2, 0, neuron_pop_size, delay_offset=0, weight=in_weight) # connect all 2 prompt +from_list_in += range_connector(ps*2, ps*4, 0, neuron_pop_size, delay_offset=0, weight=prompt_weight) # connect all 2 prompt in_proj = pynn.Projection(input_pop, neuron, pynn.FromListConnector(from_list_in), @@ -169,7 +170,7 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs # from_list_out += range_connector(neuron_pop_size/2, neuron_pop_size, 0, 1, weight=out_weight) # connect 2/2nd 2 left output # from_list_out += range_connector(0, neuron_pop_size/2, 0, 1, weight=-out_weight) # connect 1/2st -2 left output # from_list_out += range_connector(neuron_pop_size/2, neuron_pop_size, 1, 2, weight=-out_weight) # connect 2/2nd -2 right output -from_list_out = range_connector(0, neuron_pop_size, 0, 2, weight=out_weight) # connect 2/2nd -2 right output +from_list_out = range_connector(0, neuron_pop_size, 0, 2, weight=out_weight) # connect all out_proj = pynn.Projection(neuron, readout_pop, # pynn.OneToOneConnector(), @@ -209,14 +210,14 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs input_pop.record('spikes') neuron.record('spikes') -neuron.record(['gsyn_exc', 'v', 'gsyn_inh'], indexes=[i for i in range((neuron_pop_size/2)-5, (neuron_pop_size/2)+5)]) +neuron.record(['gsyn_exc', 'v', 'gsyn_inh'], indexes=[i for i in range(int((neuron_pop_size/2)-5), int((neuron_pop_size/2)+5))]) readout_pop.record('all') runtime = cycle_time * num_repeats -experiment_label = "eta:{}/{} - size:{}/{} - weights:{} - p_conn:{}/{}/{} - rec:{} - cycle:{}/{}/{} xavier noreset b:{}".format( +experiment_label = "eta:{}/{} - size:{}/{} - weights:{} - p_conn:{}/{}/{} - rec:{} - cycle:{}/{}/{} xavier b:{}".format( readout_neuron_params["eta"], neuron_params["eta"], input_size, neuron_pop_size, weight_string, p_connect_in, p_connect_rec, p_connect_out, recurrent_connections, cycle_time, window_size, runtime, threshold_beta) -print "\n", experiment_label, "\n" +print("\n", experiment_label, "\n") pynn.run(runtime) in_spikes = input_pop.get_data('spikes') @@ -255,9 +256,9 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs connection_diff_in = [] for i in range(len(from_list_in)): connection_diff_in.append(new_connections_in[i][2] - from_list_in[i][2]) -print "Input connections\noriginal\n", np.array(from_list_in) -print "new\n", np.array(new_connections_in) -print "diff\n", np.array(connection_diff_in) +print("Input connections\noriginal\n", np.array(from_list_in)) +print("new\n", np.array(new_connections_in)) +print("diff\n", np.array(connection_diff_in)) new_connections_out = []#out_proj.get('weight', 'delay').connections[0]#[] for partition in out_proj.get('weight', 'delay').connections: @@ -270,9 +271,9 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs connection_diff_out = [] for i in range(len(from_list_out)): connection_diff_out.append(new_connections_out[i][2] - from_list_out[i][2]) -print "Output connections\noriginal\n", np.array(from_list_out) -print "new\n", np.array(new_connections_out) -print "diff\n", np.array(connection_diff_out) +print("Output connections\noriginal\n", np.array(from_list_out)) +print("new\n", np.array(new_connections_out)) +print("diff\n", np.array(connection_diff_out)) if recurrent_connections: new_connections_rec = []#out_proj.get('weight', 'delay').connections[0]#[] @@ -286,66 +287,69 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs connection_diff_rec = [] for i in range(len(from_list_rec)): connection_diff_rec.append(new_connections_rec[i][2] - from_list_rec[i][2]) - print "Recurrent connections\noriginal\n", np.array(from_list_rec) - print "new\n", np.array(new_connections_rec) - print "diff\n", np.array(connection_diff_rec) - -print experiment_label -print "cycle_error =", cycle_error -print "total error =", total_error -print "correct:"# =", correct_or_not + print("Recurrent connections\noriginal\n", np.array(from_list_rec)) + print("new\n", np.array(new_connections_rec)) + print("diff\n", np.array(connection_diff_rec)) + +print(experiment_label) +print("cycle_error =", cycle_error) +print("total error =", total_error) +print("correct:")# =", correct_or_not for i in range(int(np.ceil(len(correct_or_not) / float(window_cycles)))): - print correct_or_not[i*window_cycles:(i+1)*window_cycles], np.average(correct_or_not[i*window_cycles:(i+1)*window_cycles]) -print "average error = ", np.average(cycle_error) -print "weighted average", np.average(cycle_error, weights=[i for i in range(num_repeats)]) -print "minimum error = ", np.min(cycle_error) -print "minimum iteration =", cycle_error.index(np.min(cycle_error)), "- with time stamp =", cycle_error.index(np.min(cycle_error)) * 1024 + print(correct_or_not[i*window_cycles:(i+1)*window_cycles], np.average(correct_or_not[i*window_cycles:(i+1)*window_cycles])) +print("average error = ", np.average(cycle_error)) +print("weighted average", np.average(cycle_error, weights=[i for i in range(num_repeats)])) +print("minimum error = ", np.min(cycle_error)) +print("minimum iteration =", cycle_error.index(np.min(cycle_error)), "- with time stamp =", cycle_error.index(np.min(cycle_error)) * 1024) +print(experiment_label) + +# plt.figure() +# Figure( +# Panel(neuron_res.segments[0].filter(name='v')[0], ylabel='Membrane potential (mV)', yticks=True, xticks=True, xlim=(0, runtime)), +# +# Panel(neuron_res.segments[0].filter(name='gsyn_exc')[0], ylabel='gsyn_exc', yticks=True, xticks=True, xlim=(0, runtime)), +# +# Panel(neuron_res.segments[0].filter(name='gsyn_inh')[0], ylabel='gsyn_inh', yticks=True, xticks=True, xlim=(0, runtime)), +# +# Panel(in_spikes.segments[0].spiketrains, ylabel='in_spikes', xlabel='in_spikes', yticks=True, xticks=True, xlim=(0, runtime)), +# +# Panel(neuron_res.segments[0].spiketrains, ylabel='neuron_spikes', xlabel='neuron_spikes', yticks=True, xticks=True, xlim=(0, runtime)), +# +# Panel(readout_res.segments[0].filter(name='v')[0], ylabel='Membrane potential (mV)', yticks=True, xticks=True, xlim=(0, runtime)), +# +# Panel(readout_res.segments[0].filter(name='gsyn_exc')[0], ylabel='gsyn_exc', yticks=True, xticks=True, xlim=(0, runtime)), +# +# Panel(readout_res.segments[0].filter(name='gsyn_inh')[0], ylabel='gsyn_inh', yticks=True, xticks=True, xlim=(0, runtime)), +# +# title="neuron data for {}".format(experiment_label) +# ) +# plt.show() +plot_start = runtime-(cycle_time*15) +plot_end = runtime plt.figure() Figure( - Panel(neuron_res.segments[0].filter(name='v')[0], ylabel='Membrane potential (mV)', yticks=True, xticks=True, xlim=(0, runtime)), + Panel(neuron_res.segments[0].filter(name='v')[0], ylabel='Membrane potential (mV)', yticks=True, xticks=True, xlim=(plot_start, plot_end)), - Panel(neuron_res.segments[0].filter(name='gsyn_exc')[0], ylabel='gsyn_exc', yticks=True, xticks=True, xlim=(0, runtime)), + Panel(neuron_res.segments[0].filter(name='gsyn_exc')[0], ylabel='gsyn_exc', yticks=True, xticks=True, xlim=(plot_start, plot_end)), - Panel(neuron_res.segments[0].filter(name='gsyn_inh')[0], ylabel='gsyn_inh', yticks=True, xticks=True, xlim=(0, runtime)), + Panel(neuron_res.segments[0].filter(name='gsyn_inh')[0], ylabel='gsyn_inh', yticks=True, xticks=True, xlim=(plot_start, plot_end)), - Panel(in_spikes.segments[0].spiketrains, ylabel='in_spikes', xlabel='in_spikes', yticks=True, xticks=True, xlim=(0, runtime)), + Panel(in_spikes.segments[0].spiketrains, ylabel='in_spikes', xlabel='in_spikes', yticks=True, xticks=True, xlim=(plot_start, plot_end)), - Panel(neuron_res.segments[0].spiketrains, ylabel='neuron_spikes', xlabel='neuron_spikes', yticks=True, xticks=True, xlim=(0, runtime)), + Panel(neuron_res.segments[0].spiketrains, ylabel='neuron_spikes', xlabel='neuron_spikes', yticks=True, xticks=True, xlim=(plot_start, plot_end)), - Panel(readout_res.segments[0].filter(name='v')[0], ylabel='Membrane potential (mV)', yticks=True, xticks=True, xlim=(0, runtime)), + Panel(readout_res.segments[0].filter(name='v')[0], ylabel='Membrane potential (mV)', yticks=True, xticks=True, xlim=(plot_start, plot_end)), - Panel(readout_res.segments[0].filter(name='gsyn_exc')[0], ylabel='gsyn_exc', yticks=True, xticks=True, xlim=(0, runtime)), + Panel(readout_res.segments[0].filter(name='gsyn_exc')[0], ylabel='gsyn_exc', yticks=True, xticks=True, xlim=(plot_start, plot_end)), - Panel(readout_res.segments[0].filter(name='gsyn_inh')[0], ylabel='gsyn_inh', yticks=True, xticks=True, xlim=(0, runtime)), + Panel(readout_res.segments[0].filter(name='gsyn_inh')[0], ylabel='gsyn_inh', yticks=True, xticks=True, xlim=(plot_start, plot_end)), title="neuron data for {}".format(experiment_label) ) plt.show() -# plot_start = runtime-(window_size*1.5) -# plot_end = runtime -# plt.figure() -# Figure( -# Panel(neuron_res.segments[0].filter(name='v')[0], ylabel='Membrane potential (mV)', yticks=True, xticks=True, xlim=(plot_start, plot_end)), -# -# Panel(neuron_res.segments[0].filter(name='gsyn_exc')[0], ylabel='gsyn_exc', yticks=True, xticks=True, xlim=(plot_start, plot_end)), -# -# Panel(neuron_res.segments[0].filter(name='gsyn_inh')[0], ylabel='gsyn_inh', yticks=True, xticks=True, xlim=(plot_start, plot_end)), -# -# Panel(in_spikes.segments[0].spiketrains, ylabel='in_spikes', xlabel='in_spikes', yticks=True, xticks=True, xlim=(plot_start, plot_end)), -# -# Panel(neuron_res.segments[0].spiketrains, ylabel='neuron_spikes', xlabel='neuron_spikes', yticks=True, xticks=True, xlim=(plot_start, plot_end)), -# -# Panel(readout_res.segments[0].filter(name='v')[0], ylabel='Membrane potential (mV)', yticks=True, xticks=True, xlim=(plot_start, plot_end)), -# -# Panel(readout_res.segments[0].filter(name='gsyn_exc')[0], ylabel='gsyn_exc', yticks=True, xticks=True, xlim=(plot_start, plot_end)), -# -# Panel(readout_res.segments[0].filter(name='gsyn_inh')[0], ylabel='gsyn_inh', yticks=True, xticks=True, xlim=(plot_start, plot_end)), -# -# title="neuron data for {}".format(experiment_label) -# ) -# plt.show() +print("plotted neuron data") fig, axs = plt.subplots(2, 1) axs[0].set_title(experiment_label) @@ -354,6 +358,8 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs axs[1].plot([0, len(cycle_error)], [75, 75], 'r') plt.show() +print("plotted curves") + pynn.end() print("job done") diff --git a/eprop_testing/incremental_graph_drawing.py b/eprop_testing/incremental_graph_drawing.py index 048a3e21..27f5b254 100644 --- a/eprop_testing/incremental_graph_drawing.py +++ b/eprop_testing/incremental_graph_drawing.py @@ -1,11 +1,11 @@ import spynnaker8 as pynn import numpy as np import matplotlib.pyplot as plt -from frozen_poisson import build_input_spike_train, frozen_poisson_variable_hz +from PyNN8Examples.eprop_testing.frozen_poisson import build_input_spike_train, frozen_poisson_variable_hz from pyNN.random import NumpyRNG, RandomDistribution from pyNN.utility.plotting import Figure, Panel from spynnaker.pyNN.spynnaker_external_device_plugin_manager import SpynnakerExternalDevicePluginManager -from plot_graph import draw_graph_from_list, plot_learning_curve +from PyNN8Examples.eprop_testing.plot_graph import draw_graph_from_list, plot_learning_curve def load_connections(npy_label, pop_size, rec=True): in_conn = [list(ele) for ele in np.load(npy_label+' in.npy').tolist()] @@ -30,7 +30,7 @@ def load_connections(npy_label, pop_size, rec=True): if delay not in checking_delays[post]: checking_delays.append(delay) else: - print "delays are overlapped" + print("delays are overlapped") Exception if not rec: rec_conn = [] @@ -249,7 +249,7 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs experiment_label = "eta-{}_{} - size-{}_{} - weights-{} - p_conn-{}_{}_{} - rec-{} - cycle-{}_{}_{} regoff 40hz nd b-{}".format( readout_neuron_params["eta"], neuron_params["eta"], input_size, neuron_pop_size, weight_string, p_connect_in, p_connect_rec, p_connect_out, recurrent_connections, cycle_time, window_size, runtime, threshold_beta) -print "\n", experiment_label, "\n" +print("\n", experiment_label, "\n") current_window = 0 while current_window*window_size < runtime: @@ -319,13 +319,13 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs # print "new\n", np.array(new_connections_rec) # print "diff\n", np.array(connection_diff_rec) - print cycle_error + print(cycle_error) for i in range(int(np.ceil(len(correct_or_not) / float(window_cycles)))): - print correct_or_not[i*window_cycles:(i+1)*window_cycles], np.average(correct_or_not[i*window_cycles:(i+1)*window_cycles]) + print(correct_or_not[i*window_cycles:(i+1)*window_cycles], np.average(correct_or_not[i*window_cycles:(i+1)*window_cycles])) - # graph_directory = '/home/adampcloth/PycharmProjects/PyNN8Examples/eprop_testing/graphs/' - # draw_graph_from_list(new_connections_in, new_connections_rec, new_connections_out, graph_directory, experiment_label+' {}'.format(current_window), rec_flag=recurrent_connections, save_flag=True) - # plot_learning_curve([correct_or_not, cycle_error], graph_directory, experiment_label+' {}'.format(current_window), save_flag=True) + graph_directory = './graphs/' + draw_graph_from_list(new_connections_in, new_connections_rec, new_connections_out, graph_directory, experiment_label+' {}'.format(current_window), rec_flag=recurrent_connections, save_flag=True) + plot_learning_curve([correct_or_not, cycle_error], graph_directory, experiment_label+' {}'.format(current_window), save_flag=True) total_error = 0.0 @@ -355,9 +355,9 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs connection_diff_in = [] for i in range(len(from_list_in)): connection_diff_in.append(new_connections_in[i][2] - from_list_in[i][2]) -print "Input connections\noriginal\n", np.array(from_list_in) -print "new\n", np.array(new_connections_in) -print "diff\n", np.array(connection_diff_in) +print("Input connections\noriginal\n", np.array(from_list_in)) +print("new\n", np.array(new_connections_in)) +print("diff\n", np.array(connection_diff_in)) new_connections_out = []#out_proj.get('weight', 'delay').connections[0]#[] for partition in out_proj.get('weight', 'delay').connections: @@ -370,9 +370,9 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs connection_diff_out = [] for i in range(len(from_list_out)): connection_diff_out.append(new_connections_out[i][2] - from_list_out[i][2]) -print "Output connections\noriginal\n", np.array(from_list_out) -print "new\n", np.array(new_connections_out) -print "diff\n", np.array(connection_diff_out) +print("Output connections\noriginal\n", np.array(from_list_out)) +print("new\n", np.array(new_connections_out)) +print("diff\n", np.array(connection_diff_out)) if recurrent_connections: new_connections_rec = []#out_proj.get('weight', 'delay').connections[0]#[] @@ -386,20 +386,20 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs connection_diff_rec = [] for i in range(len(from_list_rec)): connection_diff_rec.append(new_connections_rec[i][2] - from_list_rec[i][2]) - print "Recurrent connections\noriginal\n", np.array(from_list_rec) - print "new\n", np.array(new_connections_rec) - print "diff\n", np.array(connection_diff_rec) - -print experiment_label -print "cycle_error =", cycle_error -print "total error =", total_error -print "correct:"# =", correct_or_not + print("Recurrent connections\noriginal\n", np.array(from_list_rec)) + print("new\n", np.array(new_connections_rec)) + print("diff\n", np.array(connection_diff_rec)) + +print(experiment_label) +print("cycle_error =", cycle_error) +print("total error =", total_error) +print("correct:")# =", correct_or_not for i in range(int(np.ceil(len(correct_or_not) / float(window_cycles)))): - print correct_or_not[i*window_cycles:(i+1)*window_cycles], np.average(correct_or_not[i*window_cycles:(i+1)*window_cycles]) -print "average error = ", np.average(cycle_error) -print "weighted average", np.average(cycle_error, weights=[i for i in range(num_repeats)]) -print "minimum error = ", np.min(cycle_error) -print "minimum iteration =", cycle_error.index(np.min(cycle_error)), "- with time stamp =", cycle_error.index(np.min(cycle_error)) * 1024 + print(correct_or_not[i*window_cycles:(i+1)*window_cycles], np.average(correct_or_not[i*window_cycles:(i+1)*window_cycles])) +print("average error = ", np.average(cycle_error)) +print("weighted average", np.average(cycle_error, weights=[i for i in range(num_repeats)])) +print("minimum error = ", np.min(cycle_error)) +print("minimum iteration =", cycle_error.index(np.min(cycle_error)), "- with time stamp =", cycle_error.index(np.min(cycle_error)) * 1024) plt.figure() Figure( diff --git a/eprop_testing/plot_graph.py b/eprop_testing/plot_graph.py index 988555b2..7b7073ec 100644 --- a/eprop_testing/plot_graph.py +++ b/eprop_testing/plot_graph.py @@ -27,7 +27,7 @@ def load_connections(npy_label, pop_size, rec=True): if delay not in checking_delays[post]: checking_delays.append(delay) else: - print "delays are overlapped" + print("delays are overlapped") Exception if not rec: rec_conn = [] @@ -184,8 +184,8 @@ def plot_learning_curve(data, address_string, test_label, save_flag=False): def create_video(top_directory, base_label): for root, dirs, files in os.walk(top_directory): if base_label in files: - print "save files" - print "creating video" + print("save files") + print("creating video") # for filename in filenames: # images.append(imageio.imread(filename)) # imageio.mimsave(top_directory+'/videos/'+base_label+'.gif', images) From bcf5ebc2b8e46f9af0293c358aafa8968a8e184f Mon Sep 17 00:00:00 2001 From: such-a-git Date: Fri, 25 Sep 2020 15:40:32 +0100 Subject: [PATCH 49/68] created a number of files for running eprop LR with increasing numbers of cues, plotting graph in run works for variable hidden neuron size, some updating to python3, slight changes to plotting and printing --- .../create_pops_for_incremental_learning.py | 352 ++++++++++++++++++ eprop_testing/hand_crafted_left_right.py | 142 +++---- eprop_testing/incremental_config.py | 73 ++++ eprop_testing/incremental_graph_drawing.py | 118 +++--- eprop_testing/incremental_learning.py | 27 ++ eprop_testing/plot_graph.py | 8 +- 6 files changed, 594 insertions(+), 126 deletions(-) create mode 100644 eprop_testing/create_pops_for_incremental_learning.py create mode 100644 eprop_testing/incremental_config.py create mode 100644 eprop_testing/incremental_learning.py diff --git a/eprop_testing/create_pops_for_incremental_learning.py b/eprop_testing/create_pops_for_incremental_learning.py new file mode 100644 index 00000000..5bef7760 --- /dev/null +++ b/eprop_testing/create_pops_for_incremental_learning.py @@ -0,0 +1,352 @@ +import spynnaker8 as pynn +import numpy as np +import matplotlib.pyplot as plt +from PyNN8Examples.eprop_testing.frozen_poisson import build_input_spike_train, frozen_poisson_variable_hz +from pyNN.random import NumpyRNG, RandomDistribution +from pyNN.utility.plotting import Figure, Panel +from spynnaker.pyNN.spynnaker_external_device_plugin_manager import SpynnakerExternalDevicePluginManager +from PyNN8Examples.eprop_testing.plot_graph import draw_graph_from_list, plot_learning_curve +from PyNN8Examples.eprop_testing.incremental_config import * + +def load_connections(npy_label, pop_size, rec=True): + in_conn = [list(ele) for ele in np.load(npy_label+' in.npy').tolist()] + if rec: + rec_conn = [list(ele) for ele in np.load(npy_label+' rec.npy').tolist()] + out_conn = [list(ele) for ele in np.load(npy_label+' out.npy').tolist()] + for ndx in range(len(in_conn)): + if in_conn[ndx][3] == 16 and in_conn[ndx][0] == 0: + in_conn[ndx][3] = 0 + if rec: + for ndx in range(len(rec_conn)): + if rec_conn[ndx][3] == 16 and rec_conn[ndx][0] == 0: + rec_conn[ndx][3] = 0 + for ndx in range(len(out_conn)): + if out_conn[ndx][3] == 16 and out_conn[ndx][0] == 0: + out_conn[ndx][3] = 0 + checking_delays = [[] for i in range(pop_size)] + list_to_check = in_conn + if rec: + list_to_check = in_conn+rec_conn + for [pre, post, weight, delay] in list_to_check: + if delay not in checking_delays[post]: + checking_delays.append(delay) + else: + print("delays are overlapped") + Exception + if not rec: + rec_conn = [] + return in_conn, rec_conn, out_conn + +def weight_distribution(pop_size): + base_weight = np.random.randn() / np.sqrt(pop_size) #+ 0.5 + # base_weight = 0 + return base_weight + +def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): + connections = [] + max_syn_per_neuron = 0 + for j in range(post_pop_size): + neuron_syn_count = 0 + delay_count = offset + for i in range(pre_pop_size): + if np.random.random() < prob: + neuron_syn_count += 1 + conn = [i, j, weight_distribution(pre_pop_size), delay_count] + delay_count += 1 + connections.append(conn) + if neuron_syn_count > max_syn_per_neuron: + max_syn_per_neuron = neuron_syn_count + return connections, max_syn_per_neuron + +def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offset=0): + connections = [] + for j in range(int(post_min), int(post_max)): + # delay = delay_offset + for i in range(int(pre_min), int(pre_max)): + nd_weight = weight_distribution(pre_max-pre_min) + connections.append([i, j, weight+nd_weight, i+delay_offset]) + # delay += 1 + return connections + + +def first_create_pops(): + pynn.setup(timestep=1) + input_pop = pynn.Population(input_size, + pynn.SpikeSourcePoisson(rate=rates), + # {'spike_times': build_input_spike_train(num_repeats, cycle_time, input_size)}, + # {'spike_times': frozen_poisson_variable_hz(num_repeats, cycle_time, input_split, input_split, input_size)}, + label='input_pop') + neuron = pynn.Population(neuron_pop_size, + pynn.extra_models.EPropAdaptive(**neuron_params), + label='eprop_pop') + + # Output population + readout_pop = pynn.Population(3, # HARDCODED 1 + pynn.extra_models.LeftRightReadout( + **readout_neuron_params + ), + label="readout_pop" + ) + + SpynnakerExternalDevicePluginManager.add_edge(readout_pop._get_vertex, input_pop._get_vertex, "CONTROL") + + eprop_learning_neuron = pynn.STDPMechanism( + timing_dependence=pynn.extra_models.TimingDependenceEprop(), + weight_dependence=pynn.extra_models.WeightDependenceEpropReg( + w_min=-max_weight, w_max=max_weight, reg_rate=reg_rate)) + + # from_list_in, max_syn_per_input = probability_connector(input_size, neuron_pop_size, p_connect_in) + ps = int(readout_neuron_params["poisson_pop_size"]) + # from_list_in = range_connector(0, ps, 0, neuron_pop_size/2, weight=in_weight) # connect 1/2st 2 left + # from_list_in += range_connector(ps, ps*2, neuron_pop_size/2, neuron_pop_size, weight=in_weight) # connect 2/2nd 2 right + # from_list_in = range_connector(0, ps*2, 0, neuron_pop_size, weight=in_weight) # connect all cues to pop + # from_list_in += range_connector(ps*2, ps*3, 0, neuron_pop_size, delay_offset=0, weight=prompt_weight) # connect all 2 prompt + from_list_in = range_connector(0, ps * 2, 0, neuron_pop_size, delay_offset=0, + weight=in_weight) # connect all 2 prompt + from_list_in += range_connector(ps * 2, ps * 4, 0, neuron_pop_size, delay_offset=0, + weight=prompt_weight) # connect all 2 prompt + in_proj = pynn.Projection(input_pop, + neuron, + pynn.FromListConnector(from_list_in), + # pynn.AllToAllConnector(), + synapse_type=eprop_learning_neuron, + label='input_connections', + receptor_type='input_connections') + + eprop_learning_output = pynn.STDPMechanism( + timing_dependence=pynn.extra_models.TimingDependenceEprop(), + weight_dependence=pynn.extra_models.WeightDependenceEpropReg( + w_min=-max_weight, w_max=max_weight, reg_rate=0.0)) + + # from_list_out = [[i, 0, weight_distribution(input_size), i] for i in range(input_size)] + # from_list_out, max_syn_per_output = probability_connector(neuron_pop_size, 2, p_connect_out) + # from_list_out = range_connector(0, neuron_pop_size/2, 1, 2, weight=out_weight) # connect 1/2st 2 right output + # from_list_out += range_connector(neuron_pop_size/2, neuron_pop_size, 0, 1, weight=out_weight) # connect 2/2nd 2 left output + # from_list_out += range_connector(0, neuron_pop_size/2, 0, 1, weight=-out_weight) # connect 1/2st -2 left output + # from_list_out += range_connector(neuron_pop_size/2, neuron_pop_size, 1, 2, weight=-out_weight) # connect 2/2nd -2 right output + from_list_out = range_connector(0, neuron_pop_size, 0, 2, weight=out_weight) # connect all + out_proj = pynn.Projection(neuron, + readout_pop, + # pynn.OneToOneConnector(), + pynn.FromListConnector(from_list_out), + synapse_type=eprop_learning_output, + label='input_connections', + receptor_type='input_connections') + + learning_proj = pynn.Projection(readout_pop, + neuron, + pynn.AllToAllConnector(), + pynn.StaticSynapse(weight=0.5, delay=0), + receptor_type='learning_signal') + + if recurrent_connections: + eprop_learning_recurrent = pynn.STDPMechanism( + timing_dependence=pynn.extra_models.TimingDependenceEprop(), + weight_dependence=pynn.extra_models.WeightDependenceEpropReg( + w_min=-max_weight, w_max=max_weight, reg_rate=reg_rate)) + + # from_list_rec, max_syn_per_rec = probability_connector(neuron_pop_size, neuron_pop_size, p_connect_rec, offset=0) + # from_list_rec = range_connector(0, neuron_pop_size/2, neuron_pop_size/2, neuron_pop_size, weight=rec_weight, delay_offset=100) # inhibitory connections between 1/2s + # from_list_rec += range_connector(neuron_pop_size/2, neuron_pop_size, 0, neuron_pop_size/2, weight=rec_weight, delay_offset=100) # inhibitory connections between 1/2s + from_list_rec = range_connector(0, neuron_pop_size, 0, neuron_pop_size, weight=rec_weight, + delay_offset=100) # recurrent connections + recurrent_proj = pynn.Projection(neuron, + neuron, + pynn.FromListConnector(from_list_rec), + synapse_type=eprop_learning_recurrent, + label='recurrent_connections', + receptor_type='recurrent_connections') + else: + from_list_rec = [] + recurrent_proj = None + + input_pop.record('spikes') + neuron.record('spikes') + neuron.record(['gsyn_exc', 'v', 'gsyn_inh'], + indexes=[i for i in range(int((neuron_pop_size / 2) - 5), int((neuron_pop_size / 2) + 5))]) + readout_pop.record('all') + + runtime = cycle_time * num_repeats + + experiment_label = "eta-{}_{} - size-{}_{} - weights-{} - p_conn-{}_{}_{} - rec-{} - cycle-{}_{}_{} regoff 40hz nd b-{}".format( + readout_neuron_params["eta"], neuron_params["eta"], input_size, neuron_pop_size, weight_string, p_connect_in, + p_connect_rec, p_connect_out, recurrent_connections, cycle_time, window_size, runtime, threshold_beta) + print("\n", experiment_label, "\n") + + return experiment_label, runtime, pynn, in_proj, recurrent_proj, out_proj, input_pop, neuron, readout_pop, \ + from_list_in, from_list_rec, from_list_out + + +def next_create_pops(number_of_cues, from_list_in, from_list_rec, from_list_out): + pynn.setup(timestep=1) + input_pop = pynn.Population(input_size, + pynn.SpikeSourcePoisson(rate=rates), + # {'spike_times': build_input_spike_train(num_repeats, cycle_time, input_size)}, + # {'spike_times': frozen_poisson_variable_hz(num_repeats, cycle_time, input_split, input_split, input_size)}, + label='input_pop') + + neuron = pynn.Population(neuron_pop_size, + pynn.extra_models.EPropAdaptive(**neuron_params), + label='eprop_pop') + + # Output population + readout_pop = pynn.Population(3, # HARDCODED 1 + pynn.extra_models.LeftRightReadout( + **readout_neuron_params + ), + label="readout_pop" + ) + + SpynnakerExternalDevicePluginManager.add_edge(readout_pop._get_vertex, input_pop._get_vertex, "CONTROL") + + eprop_learning_neuron = pynn.STDPMechanism( + timing_dependence=pynn.extra_models.TimingDependenceEprop(), + weight_dependence=pynn.extra_models.WeightDependenceEpropReg( + w_min=-max_weight, w_max=max_weight, reg_rate=reg_rate)) + + in_proj = pynn.Projection(input_pop, + neuron, + pynn.FromListConnector(from_list_in), + # pynn.AllToAllConnector(), + synapse_type=eprop_learning_neuron, + label='input_connections', + receptor_type='input_connections') + + eprop_learning_output = pynn.STDPMechanism( + timing_dependence=pynn.extra_models.TimingDependenceEprop(), + weight_dependence=pynn.extra_models.WeightDependenceEpropReg( + w_min=-max_weight, w_max=max_weight, reg_rate=0.0)) + + out_proj = pynn.Projection(neuron, + readout_pop, + # pynn.OneToOneConnector(), + pynn.FromListConnector(from_list_out), + synapse_type=eprop_learning_output, + label='input_connections', + receptor_type='input_connections') + + learning_proj = pynn.Projection(readout_pop, + neuron, + pynn.AllToAllConnector(), + pynn.StaticSynapse(weight=0.5, delay=0), + receptor_type='learning_signal') + + if recurrent_connections: + eprop_learning_recurrent = pynn.STDPMechanism( + timing_dependence=pynn.extra_models.TimingDependenceEprop(), + weight_dependence=pynn.extra_models.WeightDependenceEpropReg( + w_min=-max_weight, w_max=max_weight, reg_rate=reg_rate)) + + recurrent_proj = pynn.Projection(neuron, + neuron, + pynn.FromListConnector(from_list_rec), + synapse_type=eprop_learning_recurrent, + label='recurrent_connections', + receptor_type='recurrent_connections') + + input_pop.record('spikes') + neuron.record('spikes') + neuron.record(['gsyn_exc', 'v', 'gsyn_inh'], + indexes=[i for i in range(int((neuron_pop_size / 2) - 5), int((neuron_pop_size / 2) + 5))]) + readout_pop.record('all') + + runtime = cycle_time * num_repeats + + experiment_label = "eta-{}_{} - size-{}_{} - weights-{} - p_conn-{}_{}_{} - rec-{} - cycle-{}_{}_{} regoff 40hz nd b-{}".format( + readout_neuron_params["eta"], neuron_params["eta"], input_size, neuron_pop_size, weight_string, p_connect_in, + p_connect_rec, p_connect_out, recurrent_connections, cycle_time, window_size, runtime, threshold_beta) + print("\n", experiment_label, "\n") + + return experiment_label, runtime, pynn, in_proj, recurrent_proj, out_proj, input_pop, neuron, readout_pop, \ + from_list_in, from_list_rec, from_list_out + +def run_until(experiment_label, runtime, pynn, in_proj, recurrent_proj, out_proj, input_pop, neuron, readout_pop, + from_list_in, from_list_rec, from_list_out): + good_performance = False + current_window = 0 + while current_window * window_size < runtime: + pynn.run(window_size) + in_spikes = input_pop.get_data('spikes') + neuron_res = neuron.get_data('all') + readout_res = readout_pop.get_data('all') + plot_start = (window_size * current_window) + current_window += 1 + plot_end = (window_size * current_window) + + total_error = 0.0 + cycle_error = [0.0 for i in range(current_window * window_cycles)] + correct_or_not = [0 for i in range(current_window * window_cycles)] + for cycle in range(current_window * window_cycles): + for time_index in range(cycle_time): + instantaneous_error = np.abs(float( + readout_res.segments[0].filter(name='gsyn_inh')[0][time_index + (cycle * cycle_time)][0])) + cycle_error[cycle] += instantaneous_error + total_error += instantaneous_error + if cycle_error[cycle] < 75: + correct_or_not[cycle] = 1 + + new_connections_in = [] # in_proj.get('weight', 'delay').connections[0]#[] + for partition in in_proj.get('weight', 'delay').connections: + for conn in partition: + new_connections_in.append(conn) + new_connections_in.sort(key=lambda x: x[0]) + new_connections_in.sort(key=lambda x: x[1]) + from_list_in.sort(key=lambda x: x[0]) + from_list_in.sort(key=lambda x: x[1]) + connection_diff_in = [] + for i in range(len(from_list_in)): + connection_diff_in.append(new_connections_in[i][2] - from_list_in[i][2]) + print("Input connections\noriginal\n", np.array(from_list_in)) + print("new\n", np.array(new_connections_in)) + print("diff\n", np.array(connection_diff_in)) + + new_connections_out = [] # out_proj.get('weight', 'delay').connections[0]#[] + for partition in out_proj.get('weight', 'delay').connections: + for conn in partition: + new_connections_out.append(conn) + new_connections_out.sort(key=lambda x: x[0]) + new_connections_out.sort(key=lambda x: x[1]) + from_list_out.sort(key=lambda x: x[0]) + from_list_out.sort(key=lambda x: x[1]) + connection_diff_out = [] + for i in range(len(from_list_out)): + connection_diff_out.append(new_connections_out[i][2] - from_list_out[i][2]) + print("Output connections\noriginal\n", np.array(from_list_out)) + print("new\n", np.array(new_connections_out)) + print("diff\n", np.array(connection_diff_out)) + + new_connections_rec = [] + if recurrent_connections: + for partition in recurrent_proj.get('weight', 'delay').connections: + for conn in partition: + new_connections_rec.append(conn) + new_connections_rec.sort(key=lambda x: x[0]) + new_connections_rec.sort(key=lambda x: x[1]) + from_list_rec.sort(key=lambda x: x[0]) + from_list_rec.sort(key=lambda x: x[1]) + connection_diff_rec = [] + for i in range(len(from_list_rec)): + connection_diff_rec.append(new_connections_rec[i][2] - from_list_rec[i][2]) + print("Recurrent connections\noriginal\n", np.array(from_list_rec)) + print("new\n", np.array(new_connections_rec)) + print("diff\n", np.array(connection_diff_rec)) + + print(cycle_error) + for i in range(int(np.ceil(len(correct_or_not) / float(window_cycles)))): + print(correct_or_not[i * window_cycles:(i + 1) * window_cycles], + np.average(correct_or_not[i * window_cycles:(i + 1) * window_cycles])) + + graph_directory = './graphs/' + draw_graph_from_list(new_connections_in, new_connections_rec, new_connections_out, graph_directory, + experiment_label + ' {}'.format(current_window), rec_flag=recurrent_connections, + save_flag=True) + plot_learning_curve([correct_or_not, cycle_error], graph_directory, + experiment_label + ' {}'.format(current_window), save_flag=True) + + if len(correct_or_not) > 64 and np.average(correct_or_not[-64]) > 0.95: + print("has achieved threshold performance at window:", current_window) + print("this corresponds to itertation:", current_window*window_size) + good_performance = True + break + + return new_connections_in, new_connections_rec, new_connections_out, good_performance diff --git a/eprop_testing/hand_crafted_left_right.py b/eprop_testing/hand_crafted_left_right.py index c53ab7f6..8cc2d05f 100644 --- a/eprop_testing/hand_crafted_left_right.py +++ b/eprop_testing/hand_crafted_left_right.py @@ -1,11 +1,11 @@ import spynnaker8 as pynn import numpy as np import matplotlib.pyplot as plt -from frozen_poisson import build_input_spike_train, frozen_poisson_variable_hz +from PyNN8Examples.eprop_testing.frozen_poisson import build_input_spike_train, frozen_poisson_variable_hz from pyNN.random import NumpyRNG, RandomDistribution from pyNN.utility.plotting import Figure, Panel from spynnaker.pyNN.spynnaker_external_device_plugin_manager import SpynnakerExternalDevicePluginManager -from plot_graph import draw_graph_from_list, plot_learning_curve +from PyNN8Examples.eprop_testing.plot_graph import draw_graph_from_list, plot_learning_curve def weight_distribution(pop_size): base_weight = np.random.randn() / np.sqrt(pop_size) #+ 0.5 @@ -30,19 +30,19 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offset=0): connections = [] - for j in range(post_min, post_max): + for j in range(int(post_min), int(post_max)): # delay = delay_offset - for i in range(pre_min, pre_max): + for i in range(int(pre_min), int(pre_max)): nd_weight = weight_distribution(pre_max-pre_min) connections.append([i, j, weight+nd_weight, i+delay_offset]) # delay += 1 return connections -np.random.seed(28) +np.random.seed(272727) number_of_cues = 1 cycle_time = (number_of_cues*150)+1000+150 -num_repeats = 500 +num_repeats = 1000 pynn.setup(1.0) target_data = [] @@ -57,13 +57,13 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs p_connect_in = 1. p_connect_rec = 1. p_connect_out = 1. -recurrent_connections = True +recurrent_connections = False synapse_eta = 0.01 tau_a = 2500#[cycle_time - 150 + (np.random.randn() * 200) for i in range(100)] input_split = 100 window_cycles = 2 window_size = cycle_time*window_cycles -threshold_beta = 0.3 +threshold_beta = .3 max_weight = 8.0 in_weight = 0.55 @@ -98,13 +98,13 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs # {'spike_times': frozen_poisson_variable_hz(num_repeats, cycle_time, input_split, input_split, input_size)}, label='input_pop') -neuron_pop_size = 4*5 +neuron_pop_size = 4*25 ratio_of_LIF = 0.5 beta = [] for i in range(neuron_pop_size): if i < neuron_pop_size/2: # if i % 2 == 0: - beta.append(threshold_beta) + beta.append(0) else: beta.append(threshold_beta) neuron_params = { @@ -113,9 +113,9 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs "v_rest": 0, # "w_fb": [np.random.random() for i in range(neuron_pop_size)], # best it seems # "w_fb": [(np.random.random() * 2) - 1. for i in range(neuron_pop_size)], - # "w_fb": [4*np.random.random() - 4*np.random.random() for i in range(neuron_pop_size)], ## for both feedback weights + "w_fb": [4*np.random.random() - 4*np.random.random() for i in range(neuron_pop_size)], ## for both feedback weights # "w_fb": [-3]*(neuron_pop_size/2) + [3]*(neuron_pop_size/2), - "w_fb": [3]*(neuron_pop_size/4) + [-3]*(neuron_pop_size/4) + [3]*(neuron_pop_size/4) + [-3]*(neuron_pop_size/4), + # "w_fb": [3]*int(neuron_pop_size/4) + [-3]*int(neuron_pop_size/4) + [3]*int(neuron_pop_size/4) + [-3]*int(neuron_pop_size/4), # "B": 0.0, "beta": beta, "target_rate": 10, @@ -144,12 +144,13 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs w_min=-max_weight, w_max=max_weight, reg_rate=reg_rate)) # from_list_in, max_syn_per_input = probability_connector(input_size, neuron_pop_size, p_connect_in) -ps = readout_neuron_params["poisson_pop_size"] +ps = int(readout_neuron_params["poisson_pop_size"]) # from_list_in = range_connector(0, ps, 0, neuron_pop_size/2, weight=in_weight) # connect 1/2st 2 left # from_list_in += range_connector(ps, ps*2, neuron_pop_size/2, neuron_pop_size, weight=in_weight) # connect 2/2nd 2 right # from_list_in = range_connector(0, ps*2, 0, neuron_pop_size, weight=in_weight) # connect all cues to pop # from_list_in += range_connector(ps*2, ps*3, 0, neuron_pop_size, delay_offset=0, weight=prompt_weight) # connect all 2 prompt -from_list_in = range_connector(0, ps*4, 0, neuron_pop_size, delay_offset=0, weight=prompt_weight) # connect all 2 prompt +from_list_in = range_connector(0, ps*2, 0, neuron_pop_size, delay_offset=0, weight=in_weight) # connect all 2 prompt +from_list_in += range_connector(ps*2, ps*4, 0, neuron_pop_size, delay_offset=0, weight=prompt_weight) # connect all 2 prompt in_proj = pynn.Projection(input_pop, neuron, pynn.FromListConnector(from_list_in), @@ -169,7 +170,7 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs # from_list_out += range_connector(neuron_pop_size/2, neuron_pop_size, 0, 1, weight=out_weight) # connect 2/2nd 2 left output # from_list_out += range_connector(0, neuron_pop_size/2, 0, 1, weight=-out_weight) # connect 1/2st -2 left output # from_list_out += range_connector(neuron_pop_size/2, neuron_pop_size, 1, 2, weight=-out_weight) # connect 2/2nd -2 right output -from_list_out = range_connector(0, neuron_pop_size, 0, 2, weight=out_weight) # connect 2/2nd -2 right output +from_list_out = range_connector(0, neuron_pop_size, 0, 2, weight=out_weight) # connect all out_proj = pynn.Projection(neuron, readout_pop, # pynn.OneToOneConnector(), @@ -209,14 +210,14 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs input_pop.record('spikes') neuron.record('spikes') -neuron.record(['gsyn_exc', 'v', 'gsyn_inh'], indexes=[i for i in range((neuron_pop_size/2)-5, (neuron_pop_size/2)+5)]) +neuron.record(['gsyn_exc', 'v', 'gsyn_inh'], indexes=[i for i in range(int((neuron_pop_size/2)-5), int((neuron_pop_size/2)+5))]) readout_pop.record('all') runtime = cycle_time * num_repeats -experiment_label = "eta:{}/{} - size:{}/{} - weights:{} - p_conn:{}/{}/{} - rec:{} - cycle:{}/{}/{} xavier noreset b:{}".format( +experiment_label = "eta:{}/{} - size:{}/{} - weights:{} - p_conn:{}/{}/{} - rec:{} - cycle:{}/{}/{} xavier b:{}".format( readout_neuron_params["eta"], neuron_params["eta"], input_size, neuron_pop_size, weight_string, p_connect_in, p_connect_rec, p_connect_out, recurrent_connections, cycle_time, window_size, runtime, threshold_beta) -print "\n", experiment_label, "\n" +print("\n", experiment_label, "\n") pynn.run(runtime) in_spikes = input_pop.get_data('spikes') @@ -255,9 +256,9 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs connection_diff_in = [] for i in range(len(from_list_in)): connection_diff_in.append(new_connections_in[i][2] - from_list_in[i][2]) -print "Input connections\noriginal\n", np.array(from_list_in) -print "new\n", np.array(new_connections_in) -print "diff\n", np.array(connection_diff_in) +print("Input connections\noriginal\n", np.array(from_list_in)) +print("new\n", np.array(new_connections_in)) +print("diff\n", np.array(connection_diff_in)) new_connections_out = []#out_proj.get('weight', 'delay').connections[0]#[] for partition in out_proj.get('weight', 'delay').connections: @@ -270,9 +271,9 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs connection_diff_out = [] for i in range(len(from_list_out)): connection_diff_out.append(new_connections_out[i][2] - from_list_out[i][2]) -print "Output connections\noriginal\n", np.array(from_list_out) -print "new\n", np.array(new_connections_out) -print "diff\n", np.array(connection_diff_out) +print("Output connections\noriginal\n", np.array(from_list_out)) +print("new\n", np.array(new_connections_out)) +print("diff\n", np.array(connection_diff_out)) if recurrent_connections: new_connections_rec = []#out_proj.get('weight', 'delay').connections[0]#[] @@ -286,66 +287,69 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs connection_diff_rec = [] for i in range(len(from_list_rec)): connection_diff_rec.append(new_connections_rec[i][2] - from_list_rec[i][2]) - print "Recurrent connections\noriginal\n", np.array(from_list_rec) - print "new\n", np.array(new_connections_rec) - print "diff\n", np.array(connection_diff_rec) - -print experiment_label -print "cycle_error =", cycle_error -print "total error =", total_error -print "correct:"# =", correct_or_not + print("Recurrent connections\noriginal\n", np.array(from_list_rec)) + print("new\n", np.array(new_connections_rec)) + print("diff\n", np.array(connection_diff_rec)) + +print(experiment_label) +print("cycle_error =", cycle_error) +print("total error =", total_error) +print("correct:")# =", correct_or_not for i in range(int(np.ceil(len(correct_or_not) / float(window_cycles)))): - print correct_or_not[i*window_cycles:(i+1)*window_cycles], np.average(correct_or_not[i*window_cycles:(i+1)*window_cycles]) -print "average error = ", np.average(cycle_error) -print "weighted average", np.average(cycle_error, weights=[i for i in range(num_repeats)]) -print "minimum error = ", np.min(cycle_error) -print "minimum iteration =", cycle_error.index(np.min(cycle_error)), "- with time stamp =", cycle_error.index(np.min(cycle_error)) * 1024 + print(correct_or_not[i*window_cycles:(i+1)*window_cycles], np.average(correct_or_not[i*window_cycles:(i+1)*window_cycles])) +print("average error = ", np.average(cycle_error)) +print("weighted average", np.average(cycle_error, weights=[i for i in range(num_repeats)])) +print("minimum error = ", np.min(cycle_error)) +print("minimum iteration =", cycle_error.index(np.min(cycle_error)), "- with time stamp =", cycle_error.index(np.min(cycle_error)) * 1024) +print(experiment_label) + +# plt.figure() +# Figure( +# Panel(neuron_res.segments[0].filter(name='v')[0], ylabel='Membrane potential (mV)', yticks=True, xticks=True, xlim=(0, runtime)), +# +# Panel(neuron_res.segments[0].filter(name='gsyn_exc')[0], ylabel='gsyn_exc', yticks=True, xticks=True, xlim=(0, runtime)), +# +# Panel(neuron_res.segments[0].filter(name='gsyn_inh')[0], ylabel='gsyn_inh', yticks=True, xticks=True, xlim=(0, runtime)), +# +# Panel(in_spikes.segments[0].spiketrains, ylabel='in_spikes', xlabel='in_spikes', yticks=True, xticks=True, xlim=(0, runtime)), +# +# Panel(neuron_res.segments[0].spiketrains, ylabel='neuron_spikes', xlabel='neuron_spikes', yticks=True, xticks=True, xlim=(0, runtime)), +# +# Panel(readout_res.segments[0].filter(name='v')[0], ylabel='Membrane potential (mV)', yticks=True, xticks=True, xlim=(0, runtime)), +# +# Panel(readout_res.segments[0].filter(name='gsyn_exc')[0], ylabel='gsyn_exc', yticks=True, xticks=True, xlim=(0, runtime)), +# +# Panel(readout_res.segments[0].filter(name='gsyn_inh')[0], ylabel='gsyn_inh', yticks=True, xticks=True, xlim=(0, runtime)), +# +# title="neuron data for {}".format(experiment_label) +# ) +# plt.show() +plot_start = runtime-(cycle_time*15) +plot_end = runtime plt.figure() Figure( - Panel(neuron_res.segments[0].filter(name='v')[0], ylabel='Membrane potential (mV)', yticks=True, xticks=True, xlim=(0, runtime)), + Panel(neuron_res.segments[0].filter(name='v')[0], ylabel='Membrane potential (mV)', yticks=True, xticks=True, xlim=(plot_start, plot_end)), - Panel(neuron_res.segments[0].filter(name='gsyn_exc')[0], ylabel='gsyn_exc', yticks=True, xticks=True, xlim=(0, runtime)), + Panel(neuron_res.segments[0].filter(name='gsyn_exc')[0], ylabel='gsyn_exc', yticks=True, xticks=True, xlim=(plot_start, plot_end)), - Panel(neuron_res.segments[0].filter(name='gsyn_inh')[0], ylabel='gsyn_inh', yticks=True, xticks=True, xlim=(0, runtime)), + Panel(neuron_res.segments[0].filter(name='gsyn_inh')[0], ylabel='gsyn_inh', yticks=True, xticks=True, xlim=(plot_start, plot_end)), - Panel(in_spikes.segments[0].spiketrains, ylabel='in_spikes', xlabel='in_spikes', yticks=True, xticks=True, xlim=(0, runtime)), + Panel(in_spikes.segments[0].spiketrains, ylabel='in_spikes', xlabel='in_spikes', yticks=True, xticks=True, xlim=(plot_start, plot_end)), - Panel(neuron_res.segments[0].spiketrains, ylabel='neuron_spikes', xlabel='neuron_spikes', yticks=True, xticks=True, xlim=(0, runtime)), + Panel(neuron_res.segments[0].spiketrains, ylabel='neuron_spikes', xlabel='neuron_spikes', yticks=True, xticks=True, xlim=(plot_start, plot_end)), - Panel(readout_res.segments[0].filter(name='v')[0], ylabel='Membrane potential (mV)', yticks=True, xticks=True, xlim=(0, runtime)), + Panel(readout_res.segments[0].filter(name='v')[0], ylabel='Membrane potential (mV)', yticks=True, xticks=True, xlim=(plot_start, plot_end)), - Panel(readout_res.segments[0].filter(name='gsyn_exc')[0], ylabel='gsyn_exc', yticks=True, xticks=True, xlim=(0, runtime)), + Panel(readout_res.segments[0].filter(name='gsyn_exc')[0], ylabel='gsyn_exc', yticks=True, xticks=True, xlim=(plot_start, plot_end)), - Panel(readout_res.segments[0].filter(name='gsyn_inh')[0], ylabel='gsyn_inh', yticks=True, xticks=True, xlim=(0, runtime)), + Panel(readout_res.segments[0].filter(name='gsyn_inh')[0], ylabel='gsyn_inh', yticks=True, xticks=True, xlim=(plot_start, plot_end)), title="neuron data for {}".format(experiment_label) ) plt.show() -# plot_start = runtime-(window_size*1.5) -# plot_end = runtime -# plt.figure() -# Figure( -# Panel(neuron_res.segments[0].filter(name='v')[0], ylabel='Membrane potential (mV)', yticks=True, xticks=True, xlim=(plot_start, plot_end)), -# -# Panel(neuron_res.segments[0].filter(name='gsyn_exc')[0], ylabel='gsyn_exc', yticks=True, xticks=True, xlim=(plot_start, plot_end)), -# -# Panel(neuron_res.segments[0].filter(name='gsyn_inh')[0], ylabel='gsyn_inh', yticks=True, xticks=True, xlim=(plot_start, plot_end)), -# -# Panel(in_spikes.segments[0].spiketrains, ylabel='in_spikes', xlabel='in_spikes', yticks=True, xticks=True, xlim=(plot_start, plot_end)), -# -# Panel(neuron_res.segments[0].spiketrains, ylabel='neuron_spikes', xlabel='neuron_spikes', yticks=True, xticks=True, xlim=(plot_start, plot_end)), -# -# Panel(readout_res.segments[0].filter(name='v')[0], ylabel='Membrane potential (mV)', yticks=True, xticks=True, xlim=(plot_start, plot_end)), -# -# Panel(readout_res.segments[0].filter(name='gsyn_exc')[0], ylabel='gsyn_exc', yticks=True, xticks=True, xlim=(plot_start, plot_end)), -# -# Panel(readout_res.segments[0].filter(name='gsyn_inh')[0], ylabel='gsyn_inh', yticks=True, xticks=True, xlim=(plot_start, plot_end)), -# -# title="neuron data for {}".format(experiment_label) -# ) -# plt.show() +print("plotted neuron data") fig, axs = plt.subplots(2, 1) axs[0].set_title(experiment_label) @@ -354,6 +358,8 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs axs[1].plot([0, len(cycle_error)], [75, 75], 'r') plt.show() +print("plotted curves") + pynn.end() print("job done") diff --git a/eprop_testing/incremental_config.py b/eprop_testing/incremental_config.py new file mode 100644 index 00000000..679b82e0 --- /dev/null +++ b/eprop_testing/incremental_config.py @@ -0,0 +1,73 @@ +import numpy as np + +number_of_cues = 1 +cycle_time = (number_of_cues * 150) + 1000 + 150 +num_repeats = 300 + +reg_rate = 0.000 +p_connect_in = 1. +p_connect_rec = 1. +p_connect_out = 1. +recurrent_connections = False +synapse_eta = 0.01 +tau_a = 2500 # [cycle_time - 150 + (np.random.randn() * 200) for i in range(100)] +input_split = 100 +window_cycles = 2 +window_size = cycle_time * window_cycles +threshold_beta = 3 + +max_weight = 8.0 +in_weight = 0.55 +prompt_weight = 0.55 +rec_weight = 0 # -0.5 +out_weight = 0 # 0.01 +weight_string = "i{}-p{}-r{}-o{}".format(in_weight, prompt_weight, rec_weight, out_weight) + +input_size = 40 +readout_neuron_params = { + "v": 0, + "v_thresh": 30, # controls firing rate of error neurons + "poisson_pop_size": input_size / 4, + "rate_on": 100, + "rate_off": 0, + # "tau_m": tau_a, + "w_fb": [1, -1, 0], + "eta": synapse_eta * 10., + "window_size": window_size, + "number_of_cues": number_of_cues +} +rates = [] +for i in range(input_size): + if i >= (3 * input_size) / 4: + rates.append(10) + else: + rates.append(0) + +neuron_pop_size = 4 * 15 +# from_list_in, from_list_rec, from_list_out = load_connections('good 1 cue 20n recT', neuron_pop_size) + +ratio_of_LIF = 0.5 +beta = [] +for i in range(neuron_pop_size): + if i < neuron_pop_size / 2: + # if i % 2 == 0: + beta.append(threshold_beta) + else: + beta.append(threshold_beta) +neuron_params = { + "v": 0, + "i_offset": 0, + "v_rest": 0, + # "w_fb": [np.random.random() for i in range(neuron_pop_size)], # best it seems + # "w_fb": [(np.random.random() * 2) - 1. for i in range(neuron_pop_size)], + # "w_fb": [4*np.random.random() - 4*np.random.random() for i in range(neuron_pop_size)], ## for both feedback weights + # "w_fb": [-3]*(neuron_pop_size/2) + [3]*(neuron_pop_size/2), + "w_fb": [3] * int(neuron_pop_size / 4) + [-3] * int(neuron_pop_size / 4) + [3] * int(neuron_pop_size / 4) + [ + -3] * int(neuron_pop_size / 4), + # "B": 0.0, + "beta": beta, + "target_rate": 10, + "tau_a": tau_a, + "eta": synapse_eta * 5, # / 20., + "window_size": window_size, +} \ No newline at end of file diff --git a/eprop_testing/incremental_graph_drawing.py b/eprop_testing/incremental_graph_drawing.py index 327f4ba2..af53d5fc 100644 --- a/eprop_testing/incremental_graph_drawing.py +++ b/eprop_testing/incremental_graph_drawing.py @@ -1,11 +1,11 @@ import spynnaker8 as pynn import numpy as np import matplotlib.pyplot as plt -from frozen_poisson import build_input_spike_train, frozen_poisson_variable_hz +from PyNN8Examples.eprop_testing.frozen_poisson import build_input_spike_train, frozen_poisson_variable_hz from pyNN.random import NumpyRNG, RandomDistribution from pyNN.utility.plotting import Figure, Panel from spynnaker.pyNN.spynnaker_external_device_plugin_manager import SpynnakerExternalDevicePluginManager -from plot_graph import draw_graph_from_list, plot_learning_curve +from PyNN8Examples.eprop_testing.plot_graph import draw_graph_from_list, plot_learning_curve def load_connections(npy_label, pop_size, rec=True): in_conn = [list(ele) for ele in np.load(npy_label+' in.npy').tolist()] @@ -67,9 +67,9 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs # delay += 1 return connections -np.random.seed(2727) +np.random.seed(272727) -number_of_cues = 3 +number_of_cues = 1 cycle_time = (number_of_cues*150)+1000+150 num_repeats = 300 pynn.setup(1.0) @@ -100,8 +100,6 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs rec_weight = 0#-0.5 out_weight = 0#0.01 weight_string = "i{}-p{}-r{}-o{}".format(in_weight, prompt_weight, rec_weight, out_weight) - - pynn.setup(timestep=1) @@ -123,14 +121,13 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs rates.append(10) else: rates.append(0) - input_pop = pynn.Population(input_size, pynn.SpikeSourcePoisson(rate=rates), # {'spike_times': build_input_spike_train(num_repeats, cycle_time, input_size)}, # {'spike_times': frozen_poisson_variable_hz(num_repeats, cycle_time, input_split, input_split, input_size)}, label='input_pop') -neuron_pop_size = 4*5 +neuron_pop_size = 4*15 # from_list_in, from_list_rec, from_list_out = load_connections('good 1 cue 20n recT', neuron_pop_size) ratio_of_LIF = 0.5 @@ -147,9 +144,9 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs "v_rest": 0, # "w_fb": [np.random.random() for i in range(neuron_pop_size)], # best it seems # "w_fb": [(np.random.random() * 2) - 1. for i in range(neuron_pop_size)], - # "w_fb": [-4*np.random.random() - 4*np.random.random() for i in range(neuron_pop_size)], ## for both feedback weights + # "w_fb": [4*np.random.random() - 4*np.random.random() for i in range(neuron_pop_size)], ## for both feedback weights # "w_fb": [-3]*(neuron_pop_size/2) + [3]*(neuron_pop_size/2), - "w_fb": [3]*(neuron_pop_size//4) + [-3]*(neuron_pop_size//4) + [3]*(neuron_pop_size//4) + [-3]*(neuron_pop_size//4), + "w_fb": [3]*int(neuron_pop_size/4) + [-3]*int(neuron_pop_size/4) + [3]*int(neuron_pop_size/4) + [-3]*int(neuron_pop_size/4), # "B": 0.0, "beta": beta, "target_rate": 10, @@ -177,12 +174,13 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs w_min=-max_weight, w_max=max_weight, reg_rate=reg_rate)) # from_list_in, max_syn_per_input = probability_connector(input_size, neuron_pop_size, p_connect_in) -ps = readout_neuron_params["poisson_pop_size"] +ps = int(readout_neuron_params["poisson_pop_size"]) # from_list_in = range_connector(0, ps, 0, neuron_pop_size/2, weight=in_weight) # connect 1/2st 2 left # from_list_in += range_connector(ps, ps*2, neuron_pop_size/2, neuron_pop_size, weight=in_weight) # connect 2/2nd 2 right # from_list_in = range_connector(0, ps*2, 0, neuron_pop_size, weight=in_weight) # connect all cues to pop # from_list_in += range_connector(ps*2, ps*3, 0, neuron_pop_size, delay_offset=0, weight=prompt_weight) # connect all 2 prompt -from_list_in = range_connector(0, ps*4, 0, neuron_pop_size, delay_offset=0, weight=prompt_weight) # connect all 2 prompt +from_list_in = range_connector(0, ps*2, 0, neuron_pop_size, delay_offset=0, weight=in_weight) # connect all 2 prompt +from_list_in += range_connector(ps*2, ps*4, 0, neuron_pop_size, delay_offset=0, weight=prompt_weight) # connect all 2 prompt in_proj = pynn.Projection(input_pop, neuron, pynn.FromListConnector(from_list_in), @@ -202,7 +200,7 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs # from_list_out += range_connector(neuron_pop_size/2, neuron_pop_size, 0, 1, weight=out_weight) # connect 2/2nd 2 left output # from_list_out += range_connector(0, neuron_pop_size/2, 0, 1, weight=-out_weight) # connect 1/2st -2 left output # from_list_out += range_connector(neuron_pop_size/2, neuron_pop_size, 1, 2, weight=-out_weight) # connect 2/2nd -2 right output -from_list_out = range_connector(0, neuron_pop_size, 0, 2, weight=out_weight) # connect 2/2nd -2 right output +from_list_out = range_connector(0, neuron_pop_size, 0, 2, weight=out_weight) # connect all out_proj = pynn.Projection(neuron, readout_pop, # pynn.OneToOneConnector(), @@ -240,11 +238,10 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs label='recurrent_connections', receptor_type='recurrent_connections') -# input_pop.record('spikes') -# neuron.record('spikes') -# neuron.record(['gsyn_exc', 'v', 'gsyn_inh'], indexes=[i for i in range((neuron_pop_size//2)-5, (neuron_pop_size//2)+5)]) -readout_pop.record('gsyn_inh') -# readout_pop.record('all') +input_pop.record('spikes') +neuron.record('spikes') +neuron.record(['gsyn_exc', 'v', 'gsyn_inh'], indexes=[i for i in range(int((neuron_pop_size/2)-5), int((neuron_pop_size/2)+5))]) +readout_pop.record('all') runtime = cycle_time * num_repeats @@ -255,9 +252,9 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs current_window = 0 while current_window*window_size < runtime: pynn.run(window_size) -# in_spikes = input_pop.get_data('spikes', clear=True) -# neuron_res = neuron.get_data('all', clear=True) - readout_res = readout_pop.get_data('all', clear=True) + in_spikes = input_pop.get_data('spikes') + neuron_res = neuron.get_data('all') + readout_res = readout_pop.get_data('all') plot_start = (window_size*current_window) current_window += 1 plot_end = (window_size*current_window) @@ -324,9 +321,9 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs for i in range(int(np.ceil(len(correct_or_not) / float(window_cycles)))): print(correct_or_not[i*window_cycles:(i+1)*window_cycles], np.average(correct_or_not[i*window_cycles:(i+1)*window_cycles])) - # graph_directory = '/home/adampcloth/PycharmProjects/PyNN8Examples/eprop_testing/graphs/' - # draw_graph_from_list(new_connections_in, new_connections_rec, new_connections_out, graph_directory, experiment_label+' {}'.format(current_window), rec_flag=recurrent_connections, save_flag=True) - # plot_learning_curve([correct_or_not, cycle_error], graph_directory, experiment_label+' {}'.format(current_window), save_flag=True) + graph_directory = './graphs/' + draw_graph_from_list(new_connections_in, new_connections_rec, new_connections_out, graph_directory, experiment_label+' {}'.format(current_window), rec_flag=recurrent_connections, save_flag=True) + plot_learning_curve([correct_or_not, cycle_error], graph_directory, experiment_label+' {}'.format(current_window), save_flag=True) total_error = 0.0 @@ -401,6 +398,7 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs print("weighted average", np.average(cycle_error, weights=[i for i in range(num_repeats)])) print("minimum error = ", np.min(cycle_error)) print("minimum iteration =", cycle_error.index(np.min(cycle_error)), "- with time stamp =", cycle_error.index(np.min(cycle_error)) * 1024) +print(experiment_label) # plt.figure() # Figure( @@ -410,7 +408,7 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs # # Panel(neuron_res.segments[0].filter(name='gsyn_inh')[0], ylabel='gsyn_inh', yticks=True, xticks=True, xlim=(0, runtime)), # -# # Panel(in_spikes.segments[0].spiketrains, ylabel='in_spikes', xlabel='in_spikes', yticks=True, xticks=True, xlim=(0, runtime)), +# Panel(in_spikes.segments[0].spiketrains, ylabel='in_spikes', xlabel='in_spikes', yticks=True, xticks=True, xlim=(0, runtime)), # # Panel(neuron_res.segments[0].spiketrains, ylabel='neuron_spikes', xlabel='neuron_spikes', yticks=True, xticks=True, xlim=(0, runtime)), # @@ -424,44 +422,52 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs # ) # plt.show() -# plot_start = runtime-(window_size*1.5) -# plot_end = runtime -# plt.figure() -# Figure( -# Panel(neuron_res.segments[0].filter(name='v')[0], ylabel='Membrane potential (mV)', yticks=True, xticks=True, xlim=(plot_start, plot_end)), -# -# Panel(neuron_res.segments[0].filter(name='gsyn_exc')[0], ylabel='gsyn_exc', yticks=True, xticks=True, xlim=(plot_start, plot_end)), -# -# Panel(neuron_res.segments[0].filter(name='gsyn_inh')[0], ylabel='gsyn_inh', yticks=True, xticks=True, xlim=(plot_start, plot_end)), -# -# Panel(in_spikes.segments[0].spiketrains, ylabel='in_spikes', xlabel='in_spikes', yticks=True, xticks=True, xlim=(plot_start, plot_end)), -# -# Panel(neuron_res.segments[0].spiketrains, ylabel='neuron_spikes', xlabel='neuron_spikes', yticks=True, xticks=True, xlim=(plot_start, plot_end)), -# -# Panel(readout_res.segments[0].filter(name='v')[0], ylabel='Membrane potential (mV)', yticks=True, xticks=True, xlim=(plot_start, plot_end)), -# -# Panel(readout_res.segments[0].filter(name='gsyn_exc')[0], ylabel='gsyn_exc', yticks=True, xticks=True, xlim=(plot_start, plot_end)), -# -# Panel(readout_res.segments[0].filter(name='gsyn_inh')[0], ylabel='gsyn_inh', yticks=True, xticks=True, xlim=(plot_start, plot_end)), -# -# title="neuron data for {}".format(experiment_label) -# ) -# plt.show() +plot_start = runtime-(cycle_time*15) +plot_end = runtime +plt.figure() +Figure( + Panel(neuron_res.segments[0].filter(name='v')[0], ylabel='Membrane potential (mV)', yticks=True, xticks=True, xlim=(plot_start, plot_end)), + + Panel(neuron_res.segments[0].filter(name='gsyn_exc')[0], ylabel='gsyn_exc', yticks=True, xticks=True, xlim=(plot_start, plot_end)), + + Panel(neuron_res.segments[0].filter(name='gsyn_inh')[0], ylabel='gsyn_inh', yticks=True, xticks=True, xlim=(plot_start, plot_end)), + + Panel(in_spikes.segments[0].spiketrains, ylabel='in_spikes', xlabel='in_spikes', yticks=True, xticks=True, xlim=(plot_start, plot_end)), + + Panel(neuron_res.segments[0].spiketrains, ylabel='neuron_spikes', xlabel='neuron_spikes', yticks=True, xticks=True, xlim=(plot_start, plot_end)), + + Panel(readout_res.segments[0].filter(name='v')[0], ylabel='Membrane potential (mV)', yticks=True, xticks=True, xlim=(plot_start, plot_end)), + + Panel(readout_res.segments[0].filter(name='gsyn_exc')[0], ylabel='gsyn_exc', yticks=True, xticks=True, xlim=(plot_start, plot_end)), -fig, axs = plt.subplots(1, 1) -axs.set_title(experiment_label) -# axs.scatter([i for i in range(len(correct_or_not))], correct_or_not) -# axs[1].plot([i for i in range(len(all_cross[0]))], all_cross[0]) -# axs[2].plot([i for i in range(len(all_cross[1]))], all_cross[1]) -axs.scatter([i for i in range(len(cycle_error))], cycle_error) -# axs[1].plot([i for i in range(len(from_soft[0]))], from_soft[0]) -# axs[2].plot([i for i in range(len(from_soft[1]))], from_soft[1]) + Panel(readout_res.segments[0].filter(name='gsyn_inh')[0], ylabel='gsyn_inh', yticks=True, xticks=True, xlim=(plot_start, plot_end)), + + title="neuron data for {}".format(experiment_label) +) +plt.show() + +print("plotted neuron data") + +fig, axs = plt.subplots(2, 1) +axs[0].set_title(experiment_label) +axs[0].scatter([i for i in range(len(correct_or_not))], correct_or_not) +axs[1].scatter([i for i in range(len(cycle_error))], cycle_error) +axs[1].plot([0, len(cycle_error)], [75, 75], 'r') plt.show() +print("plotted curves") + pynn.end() print("job done") ''' +draw_graph_from_list(new_connections_in, new_connections_rec, new_connections_out) + +base_string = 'connection_lists/good 1 cue 20n recF' +np.save(base_string+' in.npy', new_connections_in) +np.save(base_string+' out.npy', new_connections_out) +np.save(base_string+' rec.npy', new_connections_rec) + plt.figure() plt.scatter([i for i in range(num_repeats)], cycle_error) plt.title(experiment_label) diff --git a/eprop_testing/incremental_learning.py b/eprop_testing/incremental_learning.py new file mode 100644 index 00000000..78d87562 --- /dev/null +++ b/eprop_testing/incremental_learning.py @@ -0,0 +1,27 @@ +import spynnaker8 as pynn +import numpy as np +import matplotlib.pyplot as plt +from PyNN8Examples.eprop_testing.frozen_poisson import build_input_spike_train, frozen_poisson_variable_hz +from pyNN.random import NumpyRNG, RandomDistribution +from pyNN.utility.plotting import Figure, Panel +from spynnaker.pyNN.spynnaker_external_device_plugin_manager import SpynnakerExternalDevicePluginManager +from PyNN8Examples.eprop_testing.plot_graph import draw_graph_from_list, plot_learning_curve +from PyNN8Examples.eprop_testing.create_pops_for_incremental_learning import first_create_pops, next_create_pops, run_until +from PyNN8Examples.eprop_testing.incremental_config import * + +np.random.seed(272727) + +experiment_label, runtime, pynn, in_proj, recurrent_proj, out_proj, input_pop, neuron, readout_pop, \ +from_list_in, from_list_rec, from_list_out = first_create_pops() + +for i in range(1, 9, 2): + new_connections_in, new_connections_rec, new_connections_out, good_performance = \ + run_until(experiment_label, runtime, pynn, in_proj, recurrent_proj, out_proj, input_pop, neuron, readout_pop, + from_list_in, from_list_rec, from_list_out) + + readout_neuron_params["number_of_cues"] += 2 + cycle_time = (number_of_cues * 150) + 1000 + 150 + + experiment_label, runtime, pynn, in_proj, recurrent_proj, out_proj, input_pop, neuron, readout_pop, \ + from_list_in, from_list_rec, from_list_out = \ + next_create_pops(new_connections_in, new_connections_rec, new_connections_out) \ No newline at end of file diff --git a/eprop_testing/plot_graph.py b/eprop_testing/plot_graph.py index 5622bc62..f94e64e0 100644 --- a/eprop_testing/plot_graph.py +++ b/eprop_testing/plot_graph.py @@ -107,7 +107,9 @@ def draw_graph_from_file(address_string, test_label, rec_flag, save_flag=False): all_weights += weights all_colours += colours - pos = create_pos(4, 20, 2) + hidden_nodes = int(np.amax(from_list_in, axis=0)[1] + 1) + + pos = create_pos(4, hidden_nodes, 2) # nodes nx.draw_networkx_nodes(G, pos, node_size=700) @@ -148,7 +150,9 @@ def draw_graph_from_list(from_list_in, from_list_rec, from_list_out, address_str all_weights += weights all_colours += colours - pos = create_pos(4, 20, 2) + hidden_nodes = int(np.amax(from_list_in, axis=0)[1] + 1) + + pos = create_pos(4, hidden_nodes, 2) # nodes nx.draw_networkx_nodes(G, pos, node_size=700) From 5fb64f4e6bdf18d19647ce4e8fd3c04387e8a2c2 Mon Sep 17 00:00:00 2001 From: such-a-git Date: Tue, 29 Sep 2020 10:30:15 +0100 Subject: [PATCH 50/68] slight change to variable and random seed, number_of_cues now input too --- eprop_testing/hand_crafted_left_right.py | 22 ++++++++-------------- 1 file changed, 8 insertions(+), 14 deletions(-) diff --git a/eprop_testing/hand_crafted_left_right.py b/eprop_testing/hand_crafted_left_right.py index 8cc2d05f..fdf793e4 100644 --- a/eprop_testing/hand_crafted_left_right.py +++ b/eprop_testing/hand_crafted_left_right.py @@ -38,21 +38,13 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs # delay += 1 return connections -np.random.seed(272727) +np.random.seed(2727) number_of_cues = 1 cycle_time = (number_of_cues*150)+1000+150 -num_repeats = 1000 +num_repeats = 500 pynn.setup(1.0) -target_data = [] -for i in range(1024): - target_data.append(#1) - 0 + 2 * np.sin(2 * i * 2* np.pi / 1024) \ - + 2 * np.sin((4 * i * 2* np.pi / 1024)) - ) - - reg_rate = 0.000 p_connect_in = 1. p_connect_rec = 1. @@ -63,7 +55,7 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs input_split = 100 window_cycles = 2 window_size = cycle_time*window_cycles -threshold_beta = .3 +threshold_beta = 3 max_weight = 8.0 in_weight = 0.55 @@ -85,6 +77,7 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs "w_fb": [1, -1, 0], "eta": synapse_eta * 10., "window_size": window_size, + "number_of_cues": number_of_cues } rates = [] for i in range(input_size): @@ -105,6 +98,7 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs if i < neuron_pop_size/2: # if i % 2 == 0: beta.append(0) + # beta.append(threshold_beta) else: beta.append(threshold_beta) neuron_params = { @@ -113,9 +107,9 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs "v_rest": 0, # "w_fb": [np.random.random() for i in range(neuron_pop_size)], # best it seems # "w_fb": [(np.random.random() * 2) - 1. for i in range(neuron_pop_size)], - "w_fb": [4*np.random.random() - 4*np.random.random() for i in range(neuron_pop_size)], ## for both feedback weights + # "w_fb": [4*np.random.random() - 4*np.random.random() for i in range(neuron_pop_size)], ## for both feedback weights # "w_fb": [-3]*(neuron_pop_size/2) + [3]*(neuron_pop_size/2), - # "w_fb": [3]*int(neuron_pop_size/4) + [-3]*int(neuron_pop_size/4) + [3]*int(neuron_pop_size/4) + [-3]*int(neuron_pop_size/4), + "w_fb": [3]*int(neuron_pop_size/4) + [-3]*int(neuron_pop_size/4) + [3]*int(neuron_pop_size/4) + [-3]*int(neuron_pop_size/4), # "B": 0.0, "beta": beta, "target_rate": 10, @@ -215,7 +209,7 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs runtime = cycle_time * num_repeats -experiment_label = "eta:{}/{} - size:{}/{} - weights:{} - p_conn:{}/{}/{} - rec:{} - cycle:{}/{}/{} xavier b:{}".format( +experiment_label = "eta:{}/{} - size:{}/{} - weights:{} - p_conn:{}/{}/{} - rec:{} - cycle:{}/{}/{} vmem fb b:{}".format( readout_neuron_params["eta"], neuron_params["eta"], input_size, neuron_pop_size, weight_string, p_connect_in, p_connect_rec, p_connect_out, recurrent_connections, cycle_time, window_size, runtime, threshold_beta) print("\n", experiment_label, "\n") From 2e9ae8dfc01bf71cfed658f7e3e56ad92b6d666c Mon Sep 17 00:00:00 2001 From: such-a-git Date: Tue, 29 Sep 2020 12:11:11 +0100 Subject: [PATCH 51/68] removed unnecessary code, slight change to params --- eprop_testing/hand_crafted_left_right.py | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) diff --git a/eprop_testing/hand_crafted_left_right.py b/eprop_testing/hand_crafted_left_right.py index 15ef5c87..c2dbdccc 100644 --- a/eprop_testing/hand_crafted_left_right.py +++ b/eprop_testing/hand_crafted_left_right.py @@ -42,17 +42,9 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs number_of_cues = 1 cycle_time = (number_of_cues*150)+1000+150 -num_repeats = 1000 +num_repeats = 500 pynn.setup(1.0) -target_data = [] -for i in range(1024): - target_data.append(#1) - 0 + 2 * np.sin(2 * i * 2* np.pi / 1024) \ - + 2 * np.sin((4 * i * 2* np.pi / 1024)) - ) - - reg_rate = 0.000 p_connect_in = 1. p_connect_rec = 1. @@ -63,7 +55,7 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs input_split = 100 window_cycles = 2 window_size = cycle_time*window_cycles -threshold_beta = .3 +threshold_beta = 3 max_weight = 8.0 in_weight = 0.55 @@ -105,6 +97,7 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs if i < neuron_pop_size/2: # if i % 2 == 0: beta.append(0) + # beta.append(threshold_beta) else: beta.append(threshold_beta) neuron_params = { @@ -215,7 +208,7 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs runtime = cycle_time * num_repeats -experiment_label = "eta:{}/{} - size:{}/{} - weights:{} - p_conn:{}/{}/{} - rec:{} - cycle:{}/{}/{} xavier b:{}".format( +experiment_label = "eta:{}/{} - size:{}/{} - weights:{} - p_conn:{}/{}/{} - rec:{} - cycle:{}/{}/{} b:{}".format( readout_neuron_params["eta"], neuron_params["eta"], input_size, neuron_pop_size, weight_string, p_connect_in, p_connect_rec, p_connect_out, recurrent_connections, cycle_time, window_size, runtime, threshold_beta) print("\n", experiment_label, "\n") From 2277eebea5673d7a67de687865db24f37a450453 Mon Sep 17 00:00:00 2001 From: Andrew Gait Date: Tue, 29 Sep 2020 14:45:55 +0100 Subject: [PATCH 52/68] Missing "clear" parameters --- eprop_testing/create_pops_for_incremental_learning.py | 10 ++++++---- eprop_testing/incremental_graph_drawing.py | 6 +++--- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/eprop_testing/create_pops_for_incremental_learning.py b/eprop_testing/create_pops_for_incremental_learning.py index 5bef7760..609c7b54 100644 --- a/eprop_testing/create_pops_for_incremental_learning.py +++ b/eprop_testing/create_pops_for_incremental_learning.py @@ -160,11 +160,13 @@ def first_create_pops(): from_list_rec = [] recurrent_proj = None - input_pop.record('spikes') - neuron.record('spikes') + input_pop.record('spikes', clear=True) + neuron.record('spikes', clear=True) neuron.record(['gsyn_exc', 'v', 'gsyn_inh'], - indexes=[i for i in range(int((neuron_pop_size / 2) - 5), int((neuron_pop_size / 2) + 5))]) - readout_pop.record('all') + indexes=[i for i in range(int((neuron_pop_size / 2) - 5), + int((neuron_pop_size / 2) + 5))], + clear=True) + readout_pop.record('all', clear=True) runtime = cycle_time * num_repeats diff --git a/eprop_testing/incremental_graph_drawing.py b/eprop_testing/incremental_graph_drawing.py index af53d5fc..8073f56a 100644 --- a/eprop_testing/incremental_graph_drawing.py +++ b/eprop_testing/incremental_graph_drawing.py @@ -252,9 +252,9 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs current_window = 0 while current_window*window_size < runtime: pynn.run(window_size) - in_spikes = input_pop.get_data('spikes') - neuron_res = neuron.get_data('all') - readout_res = readout_pop.get_data('all') + in_spikes = input_pop.get_data('spikes', clear=True) + neuron_res = neuron.get_data('all', clear=True) + readout_res = readout_pop.get_data('all', clear=True) plot_start = (window_size*current_window) current_window += 1 plot_end = (window_size*current_window) From f8f98a82f5682c305735bb27658be43117928135 Mon Sep 17 00:00:00 2001 From: Andrew Gait Date: Wed, 30 Sep 2020 09:44:39 +0100 Subject: [PATCH 53/68] Put the clear parameter in the right place... ! --- .../create_pops_for_incremental_learning.py | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/eprop_testing/create_pops_for_incremental_learning.py b/eprop_testing/create_pops_for_incremental_learning.py index 609c7b54..d4660b33 100644 --- a/eprop_testing/create_pops_for_incremental_learning.py +++ b/eprop_testing/create_pops_for_incremental_learning.py @@ -160,13 +160,12 @@ def first_create_pops(): from_list_rec = [] recurrent_proj = None - input_pop.record('spikes', clear=True) - neuron.record('spikes', clear=True) + input_pop.record('spikes') + neuron.record('spikes') neuron.record(['gsyn_exc', 'v', 'gsyn_inh'], indexes=[i for i in range(int((neuron_pop_size / 2) - 5), - int((neuron_pop_size / 2) + 5))], - clear=True) - readout_pop.record('all', clear=True) + int((neuron_pop_size / 2) + 5))]) + readout_pop.record('all') runtime = cycle_time * num_repeats @@ -268,9 +267,9 @@ def run_until(experiment_label, runtime, pynn, in_proj, recurrent_proj, out_proj current_window = 0 while current_window * window_size < runtime: pynn.run(window_size) - in_spikes = input_pop.get_data('spikes') - neuron_res = neuron.get_data('all') - readout_res = readout_pop.get_data('all') + in_spikes = input_pop.get_data('spikes', clear=True) + neuron_res = neuron.get_data('all', clear=True) + readout_res = readout_pop.get_data('all', clear=True) plot_start = (window_size * current_window) current_window += 1 plot_end = (window_size * current_window) From a33514f3e97ad5f433ec432d2ec993ceee62dbb1 Mon Sep 17 00:00:00 2001 From: such-a-git Date: Fri, 2 Oct 2020 17:58:01 +0100 Subject: [PATCH 54/68] Turned off recording, plotting learning curve now includes a cumulative sum of performance over time, shit loads of bug fixes to make incremental learning work --- .../create_pops_for_incremental_learning.py | 131 ++++++++++++------ eprop_testing/hand_crafted_left_right.py | 47 +++++-- eprop_testing/incremental_config.py | 12 +- eprop_testing/incremental_graph_drawing.py | 14 +- eprop_testing/incremental_learning.py | 41 +++++- eprop_testing/plot_graph.py | 28 +++- 6 files changed, 191 insertions(+), 82 deletions(-) diff --git a/eprop_testing/create_pops_for_incremental_learning.py b/eprop_testing/create_pops_for_incremental_learning.py index 5bef7760..fad23dd0 100644 --- a/eprop_testing/create_pops_for_incremental_learning.py +++ b/eprop_testing/create_pops_for_incremental_learning.py @@ -160,16 +160,16 @@ def first_create_pops(): from_list_rec = [] recurrent_proj = None - input_pop.record('spikes') - neuron.record('spikes') - neuron.record(['gsyn_exc', 'v', 'gsyn_inh'], - indexes=[i for i in range(int((neuron_pop_size / 2) - 5), int((neuron_pop_size / 2) + 5))]) + # input_pop.record('spikes') + # neuron.record('spikes') + # neuron.record(['gsyn_exc', 'v', 'gsyn_inh'], + # indexes=[i for i in range(int((neuron_pop_size / 2) - 5), int((neuron_pop_size / 2) + 5))]) readout_pop.record('all') runtime = cycle_time * num_repeats - experiment_label = "eta-{}_{} - size-{}_{} - weights-{} - p_conn-{}_{}_{} - rec-{} - cycle-{}_{}_{} regoff 40hz nd b-{}".format( - readout_neuron_params["eta"], neuron_params["eta"], input_size, neuron_pop_size, weight_string, p_connect_in, + experiment_label = "c-{} eta-{}_{} - size-{}_{} - weights-{} - p_conn-{}_{}_{} - rec-{} - cycle-{}_{}_{} b-{}".format( + readout_neuron_params["number_of_cues"], readout_neuron_params["eta"], neuron_params["eta"], input_size, neuron_pop_size, weight_string, p_connect_in, p_connect_rec, p_connect_out, recurrent_connections, cycle_time, window_size, runtime, threshold_beta) print("\n", experiment_label, "\n") @@ -177,7 +177,7 @@ def first_create_pops(): from_list_in, from_list_rec, from_list_out -def next_create_pops(number_of_cues, from_list_in, from_list_rec, from_list_out): +def next_create_pops(from_list_in, from_list_rec, from_list_out): pynn.setup(timestep=1) input_pop = pynn.Population(input_size, pynn.SpikeSourcePoisson(rate=rates), @@ -204,9 +204,19 @@ def next_create_pops(number_of_cues, from_list_in, from_list_rec, from_list_out) weight_dependence=pynn.extra_models.WeightDependenceEpropReg( w_min=-max_weight, w_max=max_weight, reg_rate=reg_rate)) + from_list_in_list = [] + for conn in from_list_in: + a = conn[0] + b = conn[1] + w = conn[2] + d = conn[3] + if a % input_size == 0: + d = 0.0 + from_list_in_list.append([a, b, w, d]) + in_proj = pynn.Projection(input_pop, neuron, - pynn.FromListConnector(from_list_in), + pynn.FromListConnector(from_list_in_list), # pynn.AllToAllConnector(), synapse_type=eprop_learning_neuron, label='input_connections', @@ -217,10 +227,20 @@ def next_create_pops(number_of_cues, from_list_in, from_list_rec, from_list_out) weight_dependence=pynn.extra_models.WeightDependenceEpropReg( w_min=-max_weight, w_max=max_weight, reg_rate=0.0)) + from_list_out_list = [] + for conn in from_list_out: + a = conn[0] + b = conn[1] + w = conn[2] + d = conn[3] + if a % neuron_pop_size == 0: + d = 0.0 + from_list_out_list.append([a, b, w, d]) + out_proj = pynn.Projection(neuron, readout_pop, # pynn.OneToOneConnector(), - pynn.FromListConnector(from_list_out), + pynn.FromListConnector(from_list_out_list), synapse_type=eprop_learning_output, label='input_connections', receptor_type='input_connections') @@ -230,30 +250,41 @@ def next_create_pops(number_of_cues, from_list_in, from_list_rec, from_list_out) pynn.AllToAllConnector(), pynn.StaticSynapse(weight=0.5, delay=0), receptor_type='learning_signal') - + recurrent_proj = None if recurrent_connections: eprop_learning_recurrent = pynn.STDPMechanism( timing_dependence=pynn.extra_models.TimingDependenceEprop(), weight_dependence=pynn.extra_models.WeightDependenceEpropReg( w_min=-max_weight, w_max=max_weight, reg_rate=reg_rate)) + from_list_rec_list = [] + for conn in from_list_rec: + a = conn[0] + b = conn[1] + w = conn[2] + d = conn[3] + # might need some check for delay + from_list_rec_list.append([a, b, w, d]) + recurrent_proj = pynn.Projection(neuron, neuron, - pynn.FromListConnector(from_list_rec), + pynn.FromListConnector(from_list_rec_list), synapse_type=eprop_learning_recurrent, label='recurrent_connections', receptor_type='recurrent_connections') - input_pop.record('spikes') - neuron.record('spikes') - neuron.record(['gsyn_exc', 'v', 'gsyn_inh'], - indexes=[i for i in range(int((neuron_pop_size / 2) - 5), int((neuron_pop_size / 2) + 5))]) + # input_pop.record('spikes') + # neuron.record('spikes') + # neuron.record(['gsyn_exc', 'v', 'gsyn_inh'], + # indexes=[i for i in range(int((neuron_pop_size / 2) - 5), int((neuron_pop_size / 2) + 5))]) readout_pop.record('all') + window_size = neuron_params["window_size"] + cycle_time = int(window_size / window_cycles) runtime = cycle_time * num_repeats - experiment_label = "eta-{}_{} - size-{}_{} - weights-{} - p_conn-{}_{}_{} - rec-{} - cycle-{}_{}_{} regoff 40hz nd b-{}".format( - readout_neuron_params["eta"], neuron_params["eta"], input_size, neuron_pop_size, weight_string, p_connect_in, + experiment_label = "c-{} eta-{}_{} - size-{}_{} - weights-{} - p_conn-{}_{}_{} - rec-{} - cycle-{}_{}_{} b-{}".format( + readout_neuron_params["number_of_cues"], readout_neuron_params["eta"], neuron_params["eta"], input_size, neuron_pop_size, weight_string, p_connect_in, p_connect_rec, p_connect_out, recurrent_connections, cycle_time, window_size, runtime, threshold_beta) print("\n", experiment_label, "\n") @@ -261,29 +292,33 @@ def next_create_pops(number_of_cues, from_list_in, from_list_rec, from_list_out) from_list_in, from_list_rec, from_list_out def run_until(experiment_label, runtime, pynn, in_proj, recurrent_proj, out_proj, input_pop, neuron, readout_pop, - from_list_in, from_list_rec, from_list_out): + from_list_in, from_list_rec, from_list_out, threshold=0.95): good_performance = False current_window = 0 + current_iter = current_window * window_cycles + window_size = neuron_params["window_size"] + cycle_time = int(window_size / window_cycles) + runtime = cycle_time * num_repeats + cycle_error = [0.0 for i in range(int(runtime/window_size))] + correct_or_not = [0 for i in range(int(runtime/window_size))] + while current_window * window_size < runtime: pynn.run(window_size) - in_spikes = input_pop.get_data('spikes') - neuron_res = neuron.get_data('all') - readout_res = readout_pop.get_data('all') - plot_start = (window_size * current_window) - current_window += 1 - plot_end = (window_size * current_window) - + # in_spikes = input_pop.get_data('spikes', clear=True) + # neuron_res = neuron.get_data('all', clear=True) + readout_res = readout_pop.get_data('all', clear=True) + # plot_start = (window_size * current_window) + # plot_end = (window_size * current_window) + total_error = 0.0 - cycle_error = [0.0 for i in range(current_window * window_cycles)] - correct_or_not = [0 for i in range(current_window * window_cycles)] - for cycle in range(current_window * window_cycles): + for cycle in range(window_cycles): for time_index in range(cycle_time): instantaneous_error = np.abs(float( - readout_res.segments[0].filter(name='gsyn_inh')[0][time_index + (cycle * cycle_time)][0])) - cycle_error[cycle] += instantaneous_error + readout_res.segments[0].filter(name='gsyn_inh')[0][time_index + ((cycle+current_iter) * cycle_time)][0])) + cycle_error[(current_iter)+cycle] += instantaneous_error total_error += instantaneous_error - if cycle_error[cycle] < 75: - correct_or_not[cycle] = 1 + if cycle_error[(current_iter)+cycle] < 75: + correct_or_not[(current_iter)+cycle] = 1 new_connections_in = [] # in_proj.get('weight', 'delay').connections[0]#[] for partition in in_proj.get('weight', 'delay').connections: @@ -331,8 +366,11 @@ def run_until(experiment_label, runtime, pynn, in_proj, recurrent_proj, out_proj print("new\n", np.array(new_connections_rec)) print("diff\n", np.array(connection_diff_rec)) - print(cycle_error) - for i in range(int(np.ceil(len(correct_or_not) / float(window_cycles)))): + current_window += 1 + current_iter = current_window * window_cycles + + print(cycle_error[:current_iter]) + for i in range(current_window): print(correct_or_not[i * window_cycles:(i + 1) * window_cycles], np.average(correct_or_not[i * window_cycles:(i + 1) * window_cycles])) @@ -340,13 +378,22 @@ def run_until(experiment_label, runtime, pynn, in_proj, recurrent_proj, out_proj draw_graph_from_list(new_connections_in, new_connections_rec, new_connections_out, graph_directory, experiment_label + ' {}'.format(current_window), rec_flag=recurrent_connections, save_flag=True) - plot_learning_curve([correct_or_not, cycle_error], graph_directory, + plot_learning_curve(correct_or_not[:current_iter], cycle_error[:current_iter], graph_directory, experiment_label + ' {}'.format(current_window), save_flag=True) - if len(correct_or_not) > 64 and np.average(correct_or_not[-64]) > 0.95: - print("has achieved threshold performance at window:", current_window) - print("this corresponds to itertation:", current_window*window_size) - good_performance = True - break - - return new_connections_in, new_connections_rec, new_connections_out, good_performance + if current_iter > 64 and \ + np.average(correct_or_not[(current_iter)-64: current_iter]) > threshold: + pynn.end() + print(cycle_error[:current_iter]) + for i in range(current_window): + print(correct_or_not[i * window_cycles:(i + 1) * window_cycles], + np.average(correct_or_not[i * window_cycles:(i + 1) * window_cycles])) + print("Simulation has achieved threshold performance at window:", current_window) + print("this corresponds to itertation:", current_iter) + good_performance = current_iter + return new_connections_in, new_connections_rec, new_connections_out, \ + correct_or_not[:current_iter], cycle_error[:current_iter], good_performance + pynn.end() + print("Learning has failed to achieve threshold performance in runtime") + return new_connections_in, new_connections_rec, new_connections_out, \ + correct_or_not[:current_iter], cycle_error[:current_iter], good_performance diff --git a/eprop_testing/hand_crafted_left_right.py b/eprop_testing/hand_crafted_left_right.py index fdf793e4..9443c426 100644 --- a/eprop_testing/hand_crafted_left_right.py +++ b/eprop_testing/hand_crafted_left_right.py @@ -40,9 +40,9 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs np.random.seed(2727) -number_of_cues = 1 +number_of_cues = 7 cycle_time = (number_of_cues*150)+1000+150 -num_repeats = 500 +num_repeats = 2000 pynn.setup(1.0) reg_rate = 0.000 @@ -50,12 +50,13 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs p_connect_rec = 1. p_connect_out = 1. recurrent_connections = False + synapse_eta = 0.01 -tau_a = 2500#[cycle_time - 150 + (np.random.randn() * 200) for i in range(100)] +tau_a = 6500 #[cycle_time - 150 + (np.random.randn() * 200) for i in range(100)] input_split = 100 window_cycles = 2 window_size = cycle_time*window_cycles -threshold_beta = 3 +threshold_beta = 10 max_weight = 8.0 in_weight = 0.55 @@ -97,8 +98,8 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs for i in range(neuron_pop_size): if i < neuron_pop_size/2: # if i % 2 == 0: - beta.append(0) - # beta.append(threshold_beta) + # beta.append(0) + beta.append(threshold_beta) else: beta.append(threshold_beta) neuron_params = { @@ -107,15 +108,16 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs "v_rest": 0, # "w_fb": [np.random.random() for i in range(neuron_pop_size)], # best it seems # "w_fb": [(np.random.random() * 2) - 1. for i in range(neuron_pop_size)], - # "w_fb": [4*np.random.random() - 4*np.random.random() for i in range(neuron_pop_size)], ## for both feedback weights + "w_fb": [4*np.random.random() - 4*np.random.random() for i in range(neuron_pop_size)], ## for both feedback weights # "w_fb": [-3]*(neuron_pop_size/2) + [3]*(neuron_pop_size/2), - "w_fb": [3]*int(neuron_pop_size/4) + [-3]*int(neuron_pop_size/4) + [3]*int(neuron_pop_size/4) + [-3]*int(neuron_pop_size/4), + # "w_fb": [3]*int(neuron_pop_size/4) + [-3]*int(neuron_pop_size/4) + [3]*int(neuron_pop_size/4) + [-3]*int(neuron_pop_size/4), # "B": 0.0, "beta": beta, "target_rate": 10, "tau_a": tau_a, "eta": synapse_eta * 5,#/ 20., "window_size": window_size, + "number_of_cues": number_of_cues } neuron = pynn.Population(neuron_pop_size, pynn.extra_models.EPropAdaptive(**neuron_params), @@ -209,14 +211,14 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs runtime = cycle_time * num_repeats -experiment_label = "eta:{}/{} - size:{}/{} - weights:{} - p_conn:{}/{}/{} - rec:{} - cycle:{}/{}/{} vmem fb b:{}".format( +experiment_label = "eta:{}/{} - size:{}/{} - weights:{} - p_conn:{}/{}/{} - rec:{} - cycle:{}/{}/{} Atau65 b:{}".format( readout_neuron_params["eta"], neuron_params["eta"], input_size, neuron_pop_size, weight_string, p_connect_in, p_connect_rec, p_connect_out, recurrent_connections, cycle_time, window_size, runtime, threshold_beta) print("\n", experiment_label, "\n") pynn.run(runtime) -in_spikes = input_pop.get_data('spikes') -neuron_res = neuron.get_data('all') -readout_res = readout_pop.get_data('all') +in_spikes = input_pop.get_data('spikes', clear=True) +neuron_res = neuron.get_data('all', clear=True) +readout_res = readout_pop.get_data('all', clear=True) total_error = 0.0 cycle_error = [0.0 for i in range(num_repeats)] @@ -319,6 +321,7 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs # ) # plt.show() + plot_start = runtime-(cycle_time*15) plot_end = runtime plt.figure() @@ -345,11 +348,29 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs print("plotted neuron data") -fig, axs = plt.subplots(2, 1) +def moving_average(a, n=3) : + ret = np.cumsum(a, dtype=float) + ret[n:] = ret[n:] - ret[:-n] + return ret[n - 1:] / n + +ave_corr10 = moving_average(correct_or_not, 10) +ave_corr64 = moving_average(correct_or_not, 64) + +fig, axs = plt.subplots(4, 1) axs[0].set_title(experiment_label) axs[0].scatter([i for i in range(len(correct_or_not))], correct_or_not) +axs[0].set_xlim([-20, num_repeats+20]) axs[1].scatter([i for i in range(len(cycle_error))], cycle_error) +axs[1].set_xlim([-20, num_repeats+20]) axs[1].plot([0, len(cycle_error)], [75, 75], 'r') +axs[2].plot([i+5 for i in range(len(ave_corr10))], ave_corr10) +axs[2].plot([0, num_repeats], [0.9, 0.9], 'r') +axs[2].plot([0, num_repeats], [0.95, 0.95], 'g') +axs[2].set_xlim([-20, num_repeats+20]) +axs[3].plot([i+32 for i in range(len(ave_corr64))], ave_corr64) +axs[3].plot([0, num_repeats], [0.9, 0.9], 'r') +axs[3].plot([0, num_repeats], [0.95, 0.95], 'g') +axs[3].set_xlim([-20, num_repeats+20]) plt.show() print("plotted curves") diff --git a/eprop_testing/incremental_config.py b/eprop_testing/incremental_config.py index 679b82e0..3cd389a8 100644 --- a/eprop_testing/incremental_config.py +++ b/eprop_testing/incremental_config.py @@ -2,19 +2,20 @@ number_of_cues = 1 cycle_time = (number_of_cues * 150) + 1000 + 150 -num_repeats = 300 +num_repeats = 2000 +learning_threshold = 0.9 reg_rate = 0.000 p_connect_in = 1. p_connect_rec = 1. p_connect_out = 1. recurrent_connections = False -synapse_eta = 0.01 -tau_a = 2500 # [cycle_time - 150 + (np.random.randn() * 200) for i in range(100)] +synapse_eta = 0.003 +tau_a = 6500 # [cycle_time - 150 + (np.random.randn() * 200) for i in range(100)] input_split = 100 window_cycles = 2 window_size = cycle_time * window_cycles -threshold_beta = 3 +threshold_beta = 10 max_weight = 8.0 in_weight = 0.55 @@ -43,7 +44,7 @@ else: rates.append(0) -neuron_pop_size = 4 * 15 +neuron_pop_size = 4 * 25 # from_list_in, from_list_rec, from_list_out = load_connections('good 1 cue 20n recT', neuron_pop_size) ratio_of_LIF = 0.5 @@ -70,4 +71,5 @@ "tau_a": tau_a, "eta": synapse_eta * 5, # / 20., "window_size": window_size, + "number_of_cues": number_of_cues } \ No newline at end of file diff --git a/eprop_testing/incremental_graph_drawing.py b/eprop_testing/incremental_graph_drawing.py index af53d5fc..a5ed5634 100644 --- a/eprop_testing/incremental_graph_drawing.py +++ b/eprop_testing/incremental_graph_drawing.py @@ -74,14 +74,6 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs num_repeats = 300 pynn.setup(1.0) -target_data = [] -for i in range(1024): - target_data.append(#1) - 0 + 2 * np.sin(2 * i * 2* np.pi / 1024) \ - + 2 * np.sin((4 * i * 2* np.pi / 1024)) - ) - - reg_rate = 0.000 p_connect_in = 1. p_connect_rec = 1. @@ -252,9 +244,9 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs current_window = 0 while current_window*window_size < runtime: pynn.run(window_size) - in_spikes = input_pop.get_data('spikes') - neuron_res = neuron.get_data('all') - readout_res = readout_pop.get_data('all') + in_spikes = input_pop.get_data('spikes', clear=True) + neuron_res = neuron.get_data('all', clear=True) + readout_res = readout_pop.get_data('all', clear=True) plot_start = (window_size*current_window) current_window += 1 plot_end = (window_size*current_window) diff --git a/eprop_testing/incremental_learning.py b/eprop_testing/incremental_learning.py index 78d87562..f8361e91 100644 --- a/eprop_testing/incremental_learning.py +++ b/eprop_testing/incremental_learning.py @@ -11,17 +11,46 @@ np.random.seed(272727) +# create populations for the first time experiment_label, runtime, pynn, in_proj, recurrent_proj, out_proj, input_pop, neuron, readout_pop, \ from_list_in, from_list_rec, from_list_out = first_create_pops() -for i in range(1, 9, 2): - new_connections_in, new_connections_rec, new_connections_out, good_performance = \ - run_until(experiment_label, runtime, pynn, in_proj, recurrent_proj, out_proj, input_pop, neuron, readout_pop, - from_list_in, from_list_rec, from_list_out) +correct_or_not_full_list = [] +cycle_error_full_list = [] +transiterations = [] +for interative_cue in range(1, 9, 2): + # run until learning threshold criteria met + new_connections_in, new_connections_rec, new_connections_out, \ + correct_or_not, cycle_error, final_iteration = \ + run_until(experiment_label, runtime, pynn, in_proj, recurrent_proj, out_proj, + input_pop, neuron, readout_pop, + from_list_in, from_list_rec, from_list_out, + threshold=learning_threshold) + + if not final_iteration: + print("Ending simulation") + break + # save performance + for result in correct_or_not: + correct_or_not_full_list.append(result) + for err in cycle_error: + cycle_error_full_list.append(err) + transiterations.append(final_iteration) + + # update cues in params + cycle_time = ((interative_cue+2) * 150) + 1000 + 150 + window_size = cycle_time * window_cycles readout_neuron_params["number_of_cues"] += 2 - cycle_time = (number_of_cues * 150) + 1000 + 150 + neuron_params["number_of_cues"] += 2 + neuron_params["window_size"] = window_size + # create pops for next run experiment_label, runtime, pynn, in_proj, recurrent_proj, out_proj, input_pop, neuron, readout_pop, \ from_list_in, from_list_rec, from_list_out = \ - next_create_pops(new_connections_in, new_connections_rec, new_connections_out) \ No newline at end of file + next_create_pops(new_connections_in, new_connections_rec, new_connections_out) + +plot_learning_curve(correct_or_not_full_list, cycle_error_full_list, './graphs/', + 'full', save_flag=True) + +print("job done") \ No newline at end of file diff --git a/eprop_testing/plot_graph.py b/eprop_testing/plot_graph.py index f94e64e0..5d245cb6 100644 --- a/eprop_testing/plot_graph.py +++ b/eprop_testing/plot_graph.py @@ -170,15 +170,33 @@ def draw_graph_from_list(from_list_in, from_list_rec, from_list_out, address_str plt.show() # display plt.close() -def plot_learning_curve(data, address_string, test_label, save_flag=False): +def moving_average(a, n=3): + ret = np.cumsum(a, dtype=float) + ret[n:] = ret[n:] - ret[:-n] + return ret[n - 1:] / n + +def plot_learning_curve(correct_or_not, cycle_error, address_string, test_label, save_flag=False): # if not isinstance(data[0], list): # data = [data] + num_repeats = len(correct_or_not) + ave_corr10 = moving_average(correct_or_not, 10) + ave_corr64 = moving_average(correct_or_not, 64) - fig, axs = plt.subplots(len(data), 1) + fig, axs = plt.subplots(4, 1) axs[0].set_title(test_label) - axs[0].scatter([i for i in range(len(data[0]))], data[0]) - axs[1].scatter([i for i in range(len(data[1]))], data[1]) - axs[1].plot([0, len(data[1])], [75, 75], 'r') + axs[0].scatter([i for i in range(len(correct_or_not))], correct_or_not) + axs[0].set_xlim([0, num_repeats]) + axs[1].scatter([i for i in range(len(cycle_error))], cycle_error) + axs[1].set_xlim([0, num_repeats]) + axs[1].plot([0, len(cycle_error)], [75, 75], 'r') + axs[2].plot([i + 5 for i in range(len(ave_corr10))], ave_corr10) + axs[2].plot([0, num_repeats], [0.9, 0.9], 'r') + axs[2].plot([0, num_repeats], [0.95, 0.95], 'g') + axs[2].set_xlim([0, num_repeats]) + axs[3].plot([i + 32 for i in range(len(ave_corr64))], ave_corr64) + axs[3].plot([0, num_repeats], [0.9, 0.9], 'r') + axs[3].plot([0, num_repeats], [0.95, 0.95], 'g') + axs[3].set_xlim([0, num_repeats]) if save_flag: plt.savefig(address_string+test_label+" learning curve.png") # plt.show() From 33c237396a40e732d698a57b8f8274bee26f9797 Mon Sep 17 00:00:00 2001 From: such-a-git Date: Tue, 6 Oct 2020 10:33:21 +0100 Subject: [PATCH 55/68] Major updates to plotting, video creation function --- .../create_pops_for_incremental_learning.py | 58 ++++---- eprop_testing/hand_crafted_left_right.py | 4 + eprop_testing/incremental_config.py | 4 +- eprop_testing/incremental_learning.py | 16 ++- eprop_testing/plot_graph.py | 124 ++++++++++++++++-- 5 files changed, 160 insertions(+), 46 deletions(-) diff --git a/eprop_testing/create_pops_for_incremental_learning.py b/eprop_testing/create_pops_for_incremental_learning.py index 6ee3a6dc..28d8ce7d 100644 --- a/eprop_testing/create_pops_for_incremental_learning.py +++ b/eprop_testing/create_pops_for_incremental_learning.py @@ -168,9 +168,11 @@ def first_create_pops(): runtime = cycle_time * num_repeats - experiment_label = "c-{} eta-{}_{} - size-{}_{} - weights-{} - p_conn-{}_{}_{} - rec-{} - cycle-{}_{}_{} b-{}".format( - readout_neuron_params["number_of_cues"], readout_neuron_params["eta"], neuron_params["eta"], input_size, neuron_pop_size, weight_string, p_connect_in, - p_connect_rec, p_connect_out, recurrent_connections, cycle_time, window_size, runtime, threshold_beta) + experiment_label = "c-{} eta-{}_{} - size-{}_{} - " \ + "rec-{} - cycle-{}_{}_{} b-{}".format( # "weights-{} - p_conn-{}_{}_{} - " \ + readout_neuron_params["number_of_cues"], readout_neuron_params["eta"], neuron_params["eta"], input_size, neuron_pop_size, + # weight_string, p_connect_in, p_connect_rec, p_connect_out, + recurrent_connections, cycle_time, window_size, runtime, threshold_beta) print("\n", experiment_label, "\n") return experiment_label, runtime, pynn, in_proj, recurrent_proj, out_proj, input_pop, neuron, readout_pop, \ @@ -283,26 +285,30 @@ def next_create_pops(from_list_in, from_list_rec, from_list_out): cycle_time = int(window_size / window_cycles) runtime = cycle_time * num_repeats - experiment_label = "c-{} eta-{}_{} - size-{}_{} - weights-{} - p_conn-{}_{}_{} - rec-{} - cycle-{}_{}_{} b-{}".format( - readout_neuron_params["number_of_cues"], readout_neuron_params["eta"], neuron_params["eta"], input_size, neuron_pop_size, weight_string, p_connect_in, - p_connect_rec, p_connect_out, recurrent_connections, cycle_time, window_size, runtime, threshold_beta) + experiment_label = "c-{} eta-{}_{} - size-{}_{} - " \ + "rec-{} - cycle-{}_{}_{} b-{}".format( # "weights-{} - p_conn-{}_{}_{} - " \ + readout_neuron_params["number_of_cues"], readout_neuron_params["eta"], neuron_params["eta"], input_size, neuron_pop_size, + # weight_string, p_connect_in, p_connect_rec, p_connect_out, + recurrent_connections, cycle_time, window_size, runtime, threshold_beta) print("\n", experiment_label, "\n") return experiment_label, runtime, pynn, in_proj, recurrent_proj, out_proj, input_pop, neuron, readout_pop, \ from_list_in, from_list_rec, from_list_out def run_until(experiment_label, runtime, pynn, in_proj, recurrent_proj, out_proj, input_pop, neuron, readout_pop, - from_list_in, from_list_rec, from_list_out, threshold=0.95): + from_list_in, from_list_rec, from_list_out, + correct_or_not, cycle_error, threshold=0.95, cue_break=[]): good_performance = False current_window = 0 current_iter = current_window * window_cycles window_size = neuron_params["window_size"] cycle_time = int(window_size / window_cycles) runtime = cycle_time * num_repeats - cycle_error = [0.0 for i in range(int(runtime/window_size))] - correct_or_not = [0 for i in range(int(runtime/window_size))] + # cycle_error = [0.0 for i in range(int(runtime/window_size))] + # correct_or_not = [0 for i in range(int(runtime/window_size))] while current_window * window_size < runtime: + print(experiment_label) pynn.run(window_size) # in_spikes = input_pop.get_data('spikes', clear=True) # neuron_res = neuron.get_data('all', clear=True) @@ -310,15 +316,17 @@ def run_until(experiment_label, runtime, pynn, in_proj, recurrent_proj, out_proj # plot_start = (window_size * current_window) # plot_end = (window_size * current_window) - total_error = 0.0 for cycle in range(window_cycles): + cycle_error.append(0.0) + correct_or_not.append([]) for time_index in range(cycle_time): instantaneous_error = np.abs(float( readout_res.segments[0].filter(name='gsyn_inh')[0][time_index + ((cycle+current_iter) * cycle_time)][0])) - cycle_error[(current_iter)+cycle] += instantaneous_error - total_error += instantaneous_error - if cycle_error[(current_iter)+cycle] < 75: - correct_or_not[(current_iter)+cycle] = 1 + cycle_error[-1] += instantaneous_error + if cycle_error[-1] < 75: + correct_or_not[-1] = 1 + else: + correct_or_not[-1] = 0 new_connections_in = [] # in_proj.get('weight', 'delay').connections[0]#[] for partition in in_proj.get('weight', 'delay').connections: @@ -369,31 +377,35 @@ def run_until(experiment_label, runtime, pynn, in_proj, recurrent_proj, out_proj current_window += 1 current_iter = current_window * window_cycles - print(cycle_error[:current_iter]) + print(cycle_error) for i in range(current_window): print(correct_or_not[i * window_cycles:(i + 1) * window_cycles], np.average(correct_or_not[i * window_cycles:(i + 1) * window_cycles])) + print(experiment_label) - graph_directory = './graphs/' + graph_directory = './big_with_labels/' draw_graph_from_list(new_connections_in, new_connections_rec, new_connections_out, graph_directory, experiment_label + ' {}'.format(current_window), rec_flag=recurrent_connections, save_flag=True) - plot_learning_curve(correct_or_not[:current_iter], cycle_error[:current_iter], graph_directory, - experiment_label + ' {}'.format(current_window), save_flag=True) + plot_learning_curve(correct_or_not, cycle_error, graph_directory, + experiment_label + ' {}'.format(current_window), + save_flag=True, + cue_break=cue_break) if current_iter > 64 and \ - np.average(correct_or_not[(current_iter)-64: current_iter]) > threshold: + np.average(correct_or_not[-64:]) > threshold: pynn.end() - print(cycle_error[:current_iter]) + print(cycle_error) for i in range(current_window): print(correct_or_not[i * window_cycles:(i + 1) * window_cycles], np.average(correct_or_not[i * window_cycles:(i + 1) * window_cycles])) print("Simulation has achieved threshold performance at window:", current_window) print("this corresponds to itertation:", current_iter) - good_performance = current_iter + print(experiment_label) + good_performance = len(correct_or_not) return new_connections_in, new_connections_rec, new_connections_out, \ - correct_or_not[:current_iter], cycle_error[:current_iter], good_performance + correct_or_not, cycle_error, good_performance pynn.end() print("Learning has failed to achieve threshold performance in runtime") return new_connections_in, new_connections_rec, new_connections_out, \ - correct_or_not[:current_iter], cycle_error[:current_iter], good_performance + correct_or_not, cycle_error, good_performance diff --git a/eprop_testing/hand_crafted_left_right.py b/eprop_testing/hand_crafted_left_right.py index 9443c426..d79e8236 100644 --- a/eprop_testing/hand_crafted_left_right.py +++ b/eprop_testing/hand_crafted_left_right.py @@ -344,6 +344,8 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs title="neuron data for {}".format(experiment_label) ) +manager = plt.get_current_fig_manager() +manager.resize(*manager.window.maxsize()) plt.show() print("plotted neuron data") @@ -371,6 +373,8 @@ def moving_average(a, n=3) : axs[3].plot([0, num_repeats], [0.9, 0.9], 'r') axs[3].plot([0, num_repeats], [0.95, 0.95], 'g') axs[3].set_xlim([-20, num_repeats+20]) +manager = plt.get_current_fig_manager() +manager.resize(*manager.window.maxsize()) plt.show() print("plotted curves") diff --git a/eprop_testing/incremental_config.py b/eprop_testing/incremental_config.py index 3cd389a8..78d0d96a 100644 --- a/eprop_testing/incremental_config.py +++ b/eprop_testing/incremental_config.py @@ -10,8 +10,8 @@ p_connect_rec = 1. p_connect_out = 1. recurrent_connections = False -synapse_eta = 0.003 -tau_a = 6500 # [cycle_time - 150 + (np.random.randn() * 200) for i in range(100)] +synapse_eta = 0.1 +tau_a = 8500 # [cycle_time - 150 + (np.random.randn() * 200) for i in range(100)] input_split = 100 window_cycles = 2 window_size = cycle_time * window_cycles diff --git a/eprop_testing/incremental_learning.py b/eprop_testing/incremental_learning.py index f8361e91..a7404847 100644 --- a/eprop_testing/incremental_learning.py +++ b/eprop_testing/incremental_learning.py @@ -22,20 +22,22 @@ for interative_cue in range(1, 9, 2): # run until learning threshold criteria met new_connections_in, new_connections_rec, new_connections_out, \ - correct_or_not, cycle_error, final_iteration = \ + correct_or_not_full_list, cycle_error_full_list, final_iteration = \ run_until(experiment_label, runtime, pynn, in_proj, recurrent_proj, out_proj, input_pop, neuron, readout_pop, from_list_in, from_list_rec, from_list_out, - threshold=learning_threshold) + correct_or_not_full_list, cycle_error_full_list, + threshold=learning_threshold, + cue_break=transiterations) if not final_iteration: print("Ending simulation") break # save performance - for result in correct_or_not: - correct_or_not_full_list.append(result) - for err in cycle_error: - cycle_error_full_list.append(err) + # for result in correct_or_not: + # correct_or_not_full_list.append(result) + # for err in cycle_error: + # cycle_error_full_list.append(err) transiterations.append(final_iteration) # update cues in params @@ -50,7 +52,7 @@ from_list_in, from_list_rec, from_list_out = \ next_create_pops(new_connections_in, new_connections_rec, new_connections_out) -plot_learning_curve(correct_or_not_full_list, cycle_error_full_list, './graphs/', +plot_learning_curve(correct_or_not_full_list, cycle_error_full_list, './big_with_labels/', 'full', save_flag=True) print("job done") \ No newline at end of file diff --git a/eprop_testing/plot_graph.py b/eprop_testing/plot_graph.py index 5d245cb6..42ee6304 100644 --- a/eprop_testing/plot_graph.py +++ b/eprop_testing/plot_graph.py @@ -1,8 +1,9 @@ import matplotlib.pyplot as plt import networkx as nx import numpy as np -# import imageio +import imageio import os +import time def load_connections(npy_label, pop_size, rec=True): in_conn = [list(ele) for ele in np.load(npy_label+' in.npy').tolist()] @@ -121,9 +122,17 @@ def draw_graph_from_file(address_string, test_label, rec_flag, save_flag=False): nx.draw_networkx_labels(G, pos, font_size=20, font_family='sans-serif') plt.axis('off') + # plt.tight_layout() + # manager = plt.get_current_fig_manager() + # manager.resize(*manager.window.maxsize()) + # print(manager.window.maxsize()) + figure = plt.gcf() # get current figure + figure.set_size_inches(16, 9) + plt.tight_layout() + # time.sleep(10) if save_flag: - plt.savefig(address_string+test_label+".png") # save as png - plt.show() # display + plt.savefig(address_string+test_label+".png", bbox_inches='tight') # save as png + # plt.show() # display plt.close() def draw_graph_from_list(from_list_in, from_list_rec, from_list_out, address_string=None, test_label=None, rec_flag=False, save_flag=False, plot_flag=False): @@ -164,8 +173,16 @@ def draw_graph_from_list(from_list_in, from_list_rec, from_list_out, address_str nx.draw_networkx_labels(G, pos, font_size=20, font_family='sans-serif') plt.axis('off') + # plt.tight_layout() + # manager = plt.get_current_fig_manager() + # manager.resize(*manager.window.maxsize()) + figure = plt.gcf() # get current figure + figure.set_size_inches(16, 9) + # print(manager.window.maxsize()) + plt.tight_layout() + # time.sleep(10) if save_flag: - plt.savefig(address_string+test_label+" SNN.png") # save as png + plt.savefig(address_string+test_label+" SNN.png", bbox_inches='tight') # save as png if plot_flag: plt.show() # display plt.close() @@ -175,7 +192,7 @@ def moving_average(a, n=3): ret[n:] = ret[n:] - ret[:-n] return ret[n - 1:] / n -def plot_learning_curve(correct_or_not, cycle_error, address_string, test_label, save_flag=False): +def plot_learning_curve(correct_or_not, cycle_error, address_string, test_label, save_flag=False, cue_break=[]): # if not isinstance(data[0], list): # data = [data] num_repeats = len(correct_or_not) @@ -183,36 +200,115 @@ def plot_learning_curve(correct_or_not, cycle_error, address_string, test_label, ave_corr64 = moving_average(correct_or_not, 64) fig, axs = plt.subplots(4, 1) - axs[0].set_title(test_label) + fig.suptitle(test_label, fontsize=16) axs[0].scatter([i for i in range(len(correct_or_not))], correct_or_not) axs[0].set_xlim([0, num_repeats]) + for iteration_break in cue_break: + axs[0].axvline(x=iteration_break, color='b') + axs[0].set_title('Thresholded performance') axs[1].scatter([i for i in range(len(cycle_error))], cycle_error) axs[1].set_xlim([0, num_repeats]) axs[1].plot([0, len(cycle_error)], [75, 75], 'r') + for iteration_break in cue_break: + axs[1].axvline(x=iteration_break, color='b') + axs[1].set_title('Iteration error') axs[2].plot([i + 5 for i in range(len(ave_corr10))], ave_corr10) axs[2].plot([0, num_repeats], [0.9, 0.9], 'r') axs[2].plot([0, num_repeats], [0.95, 0.95], 'g') + for iteration_break in cue_break: + axs[2].axvline(x=iteration_break-5, color='b') axs[2].set_xlim([0, num_repeats]) + axs[2].set_title('Averaged performance over 10 cycles') axs[3].plot([i + 32 for i in range(len(ave_corr64))], ave_corr64) axs[3].plot([0, num_repeats], [0.9, 0.9], 'r') axs[3].plot([0, num_repeats], [0.95, 0.95], 'g') axs[3].set_xlim([0, num_repeats]) + for iteration_break in cue_break: + axs[3].axvline(x=iteration_break-32, color='b') + axs[3].set_title('Averaged performance over 64 cycles') + + # plt.tight_layout() + # manager = plt.get_current_fig_manager() + # manager.resize(*manager.window.maxsize()) + # manager.full_screen_toggle() + figure = plt.gcf() # get current figure + figure.set_size_inches(16, 9) + # print(manager.window.maxsize()) + # plt.tight_layout() + plt.tight_layout(rect=[0, 0.03, 1, 0.95]) + # time.sleep(10) if save_flag: - plt.savefig(address_string+test_label+" learning curve.png") + plt.savefig(address_string+test_label+" learning curve.png", bbox_inches='tight') # plt.show() plt.close() -def create_video(top_directory, base_label): +def create_video(top_directory, base_label, string_end=' SNN.png'): + files_for_video = [[], [], [], []] for root, dirs, files in os.walk(top_directory): - if base_label in files: - print("save files") + for filename in files: + if base_label in filename and string_end in filename: + if 'c-1' in filename: + iteration = filename.replace(string_end, '') + for i in range(2, 5, 1): + if iteration[-i] == ' ': + break + iteration = int(iteration[-i+1:]) + files_for_video[0].append([filename, iteration]) + elif 'c-3' in filename: + iteration = filename.replace(string_end, '') + for i in range(2, 5, 1): + if iteration[-i] == ' ': + break + iteration = int(iteration[-i+1:]) + files_for_video[1].append([filename, iteration]) + elif 'c-5' in filename: + iteration = filename.replace(string_end, '') + for i in range(2, 5, 1): + if iteration[-i] == ' ': + break + iteration = int(iteration[-i+1:]) + files_for_video[2].append([filename, iteration]) + elif 'c-7' in filename: + iteration = filename.replace(string_end, '') + for i in range(2, 5, 1): + if iteration[-i] == ' ': + break + iteration = int(iteration[-i+1:]) + files_for_video[3].append([filename, iteration]) + else: + print("incorrect file name", filename) + files_for_video[0] = sorted(files_for_video[0], key=lambda l: l[1]) + files_for_video[1] = sorted(files_for_video[1], key=lambda l: l[1]) + files_for_video[2] = sorted(files_for_video[2], key=lambda l: l[1]) + files_for_video[3] = sorted(files_for_video[3], key=lambda l: l[1]) + print("creating video") - # for filename in filenames: - # images.append(imageio.imread(filename)) - # imageio.mimsave(top_directory+'/videos/'+base_label+'.gif', images) + images = [] + for filenames in files_for_video: + for filename in filenames: + images.append(imageio.imread(top_directory+'/'+filename[0])) + imageio.mimsave(top_directory+'/videos/'+base_label+string_end+'.gif', images) + + # with imageio.get_writer('/path/to/movie.gif', mode='I') as writer: + # for filename in filenames: + # image = imageio.imread(filename) + # writer.append_data(image) # draw_graph_from_file('/home/adampcloth/PycharmProjects/PyNN8Examples/eprop_testing/connection_lists/', # 'full 0nd 1 cue 20n recF', # False, -# save_flag=False) \ No newline at end of file +# save_flag=False) + +if __name__ == '__main__': + directory = '/localhome/mbaxrap7/eprop_python3/PyNN8Examples/eprop_testing/big_with_labels' + # label = 'eta-0.1_0.05 - size-40_100 - rec-False' + label = 'eta-0.03_0.015 - size-40_100 - rec-False' + create_video(directory, label, + # string_end=' learning curve.png') + string_end=' SNN.png') + create_video(directory, label, + string_end=' learning curve.png') + # string_end=' SNN.png') + + print("done") \ No newline at end of file From 6a320fcfe44db0d3269aa2bd48c694745100b7af Mon Sep 17 00:00:00 2001 From: such-a-git Date: Tue, 6 Oct 2020 10:51:54 +0100 Subject: [PATCH 56/68] Added free string for easy addition of custom changes to test label --- eprop_testing/create_pops_for_incremental_learning.py | 8 ++++---- eprop_testing/incremental_config.py | 7 ++++--- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/eprop_testing/create_pops_for_incremental_learning.py b/eprop_testing/create_pops_for_incremental_learning.py index 28d8ce7d..fd1a10a7 100644 --- a/eprop_testing/create_pops_for_incremental_learning.py +++ b/eprop_testing/create_pops_for_incremental_learning.py @@ -168,9 +168,9 @@ def first_create_pops(): runtime = cycle_time * num_repeats - experiment_label = "c-{} eta-{}_{} - size-{}_{} - " \ + experiment_label = "c-{} {} eta-{}_{} - size-{}_{} - " \ "rec-{} - cycle-{}_{}_{} b-{}".format( # "weights-{} - p_conn-{}_{}_{} - " \ - readout_neuron_params["number_of_cues"], readout_neuron_params["eta"], neuron_params["eta"], input_size, neuron_pop_size, + readout_neuron_params["number_of_cues"], free_label, readout_neuron_params["eta"], neuron_params["eta"], input_size, neuron_pop_size, # weight_string, p_connect_in, p_connect_rec, p_connect_out, recurrent_connections, cycle_time, window_size, runtime, threshold_beta) print("\n", experiment_label, "\n") @@ -285,9 +285,9 @@ def next_create_pops(from_list_in, from_list_rec, from_list_out): cycle_time = int(window_size / window_cycles) runtime = cycle_time * num_repeats - experiment_label = "c-{} eta-{}_{} - size-{}_{} - " \ + experiment_label = "c-{} {} eta-{}_{} - size-{}_{} - " \ "rec-{} - cycle-{}_{}_{} b-{}".format( # "weights-{} - p_conn-{}_{}_{} - " \ - readout_neuron_params["number_of_cues"], readout_neuron_params["eta"], neuron_params["eta"], input_size, neuron_pop_size, + readout_neuron_params["number_of_cues"], free_label, readout_neuron_params["eta"], neuron_params["eta"], input_size, neuron_pop_size, # weight_string, p_connect_in, p_connect_rec, p_connect_out, recurrent_connections, cycle_time, window_size, runtime, threshold_beta) print("\n", experiment_label, "\n") diff --git a/eprop_testing/incremental_config.py b/eprop_testing/incremental_config.py index 78d0d96a..febb532e 100644 --- a/eprop_testing/incremental_config.py +++ b/eprop_testing/incremental_config.py @@ -10,12 +10,12 @@ p_connect_rec = 1. p_connect_out = 1. recurrent_connections = False -synapse_eta = 0.1 -tau_a = 8500 # [cycle_time - 150 + (np.random.randn() * 200) for i in range(100)] +synapse_eta = 0.03 +tau_a = 3500 # [cycle_time - 150 + (np.random.randn() * 200) for i in range(100)] input_split = 100 window_cycles = 2 window_size = cycle_time * window_cycles -threshold_beta = 10 +threshold_beta = 3 max_weight = 8.0 in_weight = 0.55 @@ -23,6 +23,7 @@ rec_weight = 0 # -0.5 out_weight = 0 # 0.01 weight_string = "i{}-p{}-r{}-o{}".format(in_weight, prompt_weight, rec_weight, out_weight) +free_label = 't35' input_size = 40 readout_neuron_params = { From 5d933be34a3f2ad87ba2dac9a6d7eba2192dd6f7 Mon Sep 17 00:00:00 2001 From: such-a-git Date: Tue, 6 Oct 2020 11:06:23 +0100 Subject: [PATCH 57/68] Code clean up --- __init__.py | 0 .../create_pops_for_incremental_learning.py | 24 ------------------- eprop_testing/incremental_config.py | 9 +------ eprop_testing/incremental_learning.py | 12 ---------- eprop_testing/plot_graph.py | 14 ----------- 5 files changed, 1 insertion(+), 58 deletions(-) create mode 100644 __init__.py diff --git a/__init__.py b/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/eprop_testing/create_pops_for_incremental_learning.py b/eprop_testing/create_pops_for_incremental_learning.py index fd1a10a7..46a030c9 100644 --- a/eprop_testing/create_pops_for_incremental_learning.py +++ b/eprop_testing/create_pops_for_incremental_learning.py @@ -1,9 +1,4 @@ import spynnaker8 as pynn -import numpy as np -import matplotlib.pyplot as plt -from PyNN8Examples.eprop_testing.frozen_poisson import build_input_spike_train, frozen_poisson_variable_hz -from pyNN.random import NumpyRNG, RandomDistribution -from pyNN.utility.plotting import Figure, Panel from spynnaker.pyNN.spynnaker_external_device_plugin_manager import SpynnakerExternalDevicePluginManager from PyNN8Examples.eprop_testing.plot_graph import draw_graph_from_list, plot_learning_curve from PyNN8Examples.eprop_testing.incremental_config import * @@ -73,8 +68,6 @@ def first_create_pops(): pynn.setup(timestep=1) input_pop = pynn.Population(input_size, pynn.SpikeSourcePoisson(rate=rates), - # {'spike_times': build_input_spike_train(num_repeats, cycle_time, input_size)}, - # {'spike_times': frozen_poisson_variable_hz(num_repeats, cycle_time, input_split, input_split, input_size)}, label='input_pop') neuron = pynn.Population(neuron_pop_size, pynn.extra_models.EPropAdaptive(**neuron_params), @@ -97,10 +90,6 @@ def first_create_pops(): # from_list_in, max_syn_per_input = probability_connector(input_size, neuron_pop_size, p_connect_in) ps = int(readout_neuron_params["poisson_pop_size"]) - # from_list_in = range_connector(0, ps, 0, neuron_pop_size/2, weight=in_weight) # connect 1/2st 2 left - # from_list_in += range_connector(ps, ps*2, neuron_pop_size/2, neuron_pop_size, weight=in_weight) # connect 2/2nd 2 right - # from_list_in = range_connector(0, ps*2, 0, neuron_pop_size, weight=in_weight) # connect all cues to pop - # from_list_in += range_connector(ps*2, ps*3, 0, neuron_pop_size, delay_offset=0, weight=prompt_weight) # connect all 2 prompt from_list_in = range_connector(0, ps * 2, 0, neuron_pop_size, delay_offset=0, weight=in_weight) # connect all 2 prompt from_list_in += range_connector(ps * 2, ps * 4, 0, neuron_pop_size, delay_offset=0, @@ -118,12 +107,6 @@ def first_create_pops(): weight_dependence=pynn.extra_models.WeightDependenceEpropReg( w_min=-max_weight, w_max=max_weight, reg_rate=0.0)) - # from_list_out = [[i, 0, weight_distribution(input_size), i] for i in range(input_size)] - # from_list_out, max_syn_per_output = probability_connector(neuron_pop_size, 2, p_connect_out) - # from_list_out = range_connector(0, neuron_pop_size/2, 1, 2, weight=out_weight) # connect 1/2st 2 right output - # from_list_out += range_connector(neuron_pop_size/2, neuron_pop_size, 0, 1, weight=out_weight) # connect 2/2nd 2 left output - # from_list_out += range_connector(0, neuron_pop_size/2, 0, 1, weight=-out_weight) # connect 1/2st -2 left output - # from_list_out += range_connector(neuron_pop_size/2, neuron_pop_size, 1, 2, weight=-out_weight) # connect 2/2nd -2 right output from_list_out = range_connector(0, neuron_pop_size, 0, 2, weight=out_weight) # connect all out_proj = pynn.Projection(neuron, readout_pop, @@ -145,9 +128,6 @@ def first_create_pops(): weight_dependence=pynn.extra_models.WeightDependenceEpropReg( w_min=-max_weight, w_max=max_weight, reg_rate=reg_rate)) - # from_list_rec, max_syn_per_rec = probability_connector(neuron_pop_size, neuron_pop_size, p_connect_rec, offset=0) - # from_list_rec = range_connector(0, neuron_pop_size/2, neuron_pop_size/2, neuron_pop_size, weight=rec_weight, delay_offset=100) # inhibitory connections between 1/2s - # from_list_rec += range_connector(neuron_pop_size/2, neuron_pop_size, 0, neuron_pop_size/2, weight=rec_weight, delay_offset=100) # inhibitory connections between 1/2s from_list_rec = range_connector(0, neuron_pop_size, 0, neuron_pop_size, weight=rec_weight, delay_offset=100) # recurrent connections recurrent_proj = pynn.Projection(neuron, @@ -304,8 +284,6 @@ def run_until(experiment_label, runtime, pynn, in_proj, recurrent_proj, out_proj window_size = neuron_params["window_size"] cycle_time = int(window_size / window_cycles) runtime = cycle_time * num_repeats - # cycle_error = [0.0 for i in range(int(runtime/window_size))] - # correct_or_not = [0 for i in range(int(runtime/window_size))] while current_window * window_size < runtime: print(experiment_label) @@ -313,8 +291,6 @@ def run_until(experiment_label, runtime, pynn, in_proj, recurrent_proj, out_proj # in_spikes = input_pop.get_data('spikes', clear=True) # neuron_res = neuron.get_data('all', clear=True) readout_res = readout_pop.get_data('all', clear=True) - # plot_start = (window_size * current_window) - # plot_end = (window_size * current_window) for cycle in range(window_cycles): cycle_error.append(0.0) diff --git a/eprop_testing/incremental_config.py b/eprop_testing/incremental_config.py index febb532e..fc62cdb8 100644 --- a/eprop_testing/incremental_config.py +++ b/eprop_testing/incremental_config.py @@ -32,7 +32,6 @@ "poisson_pop_size": input_size / 4, "rate_on": 100, "rate_off": 0, - # "tau_m": tau_a, "w_fb": [1, -1, 0], "eta": synapse_eta * 10., "window_size": window_size, @@ -46,13 +45,11 @@ rates.append(0) neuron_pop_size = 4 * 25 -# from_list_in, from_list_rec, from_list_out = load_connections('good 1 cue 20n recT', neuron_pop_size) ratio_of_LIF = 0.5 beta = [] for i in range(neuron_pop_size): if i < neuron_pop_size / 2: - # if i % 2 == 0: beta.append(threshold_beta) else: beta.append(threshold_beta) @@ -60,12 +57,8 @@ "v": 0, "i_offset": 0, "v_rest": 0, - # "w_fb": [np.random.random() for i in range(neuron_pop_size)], # best it seems - # "w_fb": [(np.random.random() * 2) - 1. for i in range(neuron_pop_size)], # "w_fb": [4*np.random.random() - 4*np.random.random() for i in range(neuron_pop_size)], ## for both feedback weights - # "w_fb": [-3]*(neuron_pop_size/2) + [3]*(neuron_pop_size/2), - "w_fb": [3] * int(neuron_pop_size / 4) + [-3] * int(neuron_pop_size / 4) + [3] * int(neuron_pop_size / 4) + [ - -3] * int(neuron_pop_size / 4), + "w_fb": [3] * int(neuron_pop_size / 4) + [-3] * int(neuron_pop_size / 4) + [3] * int(neuron_pop_size / 4) + [-3] * int(neuron_pop_size / 4), # "B": 0.0, "beta": beta, "target_rate": 10, diff --git a/eprop_testing/incremental_learning.py b/eprop_testing/incremental_learning.py index a7404847..bea101dd 100644 --- a/eprop_testing/incremental_learning.py +++ b/eprop_testing/incremental_learning.py @@ -1,10 +1,3 @@ -import spynnaker8 as pynn -import numpy as np -import matplotlib.pyplot as plt -from PyNN8Examples.eprop_testing.frozen_poisson import build_input_spike_train, frozen_poisson_variable_hz -from pyNN.random import NumpyRNG, RandomDistribution -from pyNN.utility.plotting import Figure, Panel -from spynnaker.pyNN.spynnaker_external_device_plugin_manager import SpynnakerExternalDevicePluginManager from PyNN8Examples.eprop_testing.plot_graph import draw_graph_from_list, plot_learning_curve from PyNN8Examples.eprop_testing.create_pops_for_incremental_learning import first_create_pops, next_create_pops, run_until from PyNN8Examples.eprop_testing.incremental_config import * @@ -33,11 +26,6 @@ if not final_iteration: print("Ending simulation") break - # save performance - # for result in correct_or_not: - # correct_or_not_full_list.append(result) - # for err in cycle_error: - # cycle_error_full_list.append(err) transiterations.append(final_iteration) # update cues in params diff --git a/eprop_testing/plot_graph.py b/eprop_testing/plot_graph.py index 42ee6304..9cf44fa3 100644 --- a/eprop_testing/plot_graph.py +++ b/eprop_testing/plot_graph.py @@ -3,7 +3,6 @@ import numpy as np import imageio import os -import time def load_connections(npy_label, pop_size, rec=True): in_conn = [list(ele) for ele in np.load(npy_label+' in.npy').tolist()] @@ -129,7 +128,6 @@ def draw_graph_from_file(address_string, test_label, rec_flag, save_flag=False): figure = plt.gcf() # get current figure figure.set_size_inches(16, 9) plt.tight_layout() - # time.sleep(10) if save_flag: plt.savefig(address_string+test_label+".png", bbox_inches='tight') # save as png # plt.show() # display @@ -180,7 +178,6 @@ def draw_graph_from_list(from_list_in, from_list_rec, from_list_out, address_str figure.set_size_inches(16, 9) # print(manager.window.maxsize()) plt.tight_layout() - # time.sleep(10) if save_flag: plt.savefig(address_string+test_label+" SNN.png", bbox_inches='tight') # save as png if plot_flag: @@ -236,7 +233,6 @@ def plot_learning_curve(correct_or_not, cycle_error, address_string, test_label, # print(manager.window.maxsize()) # plt.tight_layout() plt.tight_layout(rect=[0, 0.03, 1, 0.95]) - # time.sleep(10) if save_flag: plt.savefig(address_string+test_label+" learning curve.png", bbox_inches='tight') # plt.show() @@ -290,16 +286,6 @@ def create_video(top_directory, base_label, string_end=' SNN.png'): images.append(imageio.imread(top_directory+'/'+filename[0])) imageio.mimsave(top_directory+'/videos/'+base_label+string_end+'.gif', images) - # with imageio.get_writer('/path/to/movie.gif', mode='I') as writer: - # for filename in filenames: - # image = imageio.imread(filename) - # writer.append_data(image) - -# draw_graph_from_file('/home/adampcloth/PycharmProjects/PyNN8Examples/eprop_testing/connection_lists/', -# 'full 0nd 1 cue 20n recF', -# False, -# save_flag=False) - if __name__ == '__main__': directory = '/localhome/mbaxrap7/eprop_python3/PyNN8Examples/eprop_testing/big_with_labels' # label = 'eta-0.1_0.05 - size-40_100 - rec-False' From 93d787a8e0fb98ebc243c7caa6cbaa1062d156c2 Mon Sep 17 00:00:00 2001 From: such-a-git Date: Tue, 6 Oct 2020 11:16:49 +0100 Subject: [PATCH 58/68] Added setup file for terminal execution --- setup.py | 84 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 84 insertions(+) create mode 100644 setup.py diff --git a/setup.py b/setup.py new file mode 100644 index 00000000..5daf02c2 --- /dev/null +++ b/setup.py @@ -0,0 +1,84 @@ +# Copyright (c) 2017-2019 The University of Manchester +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +try: + from setuptools import setup +except ImportError: + from distutils.core import setup +try: + from collections.abc import defaultdict +except ImportError: + from collections import defaultdict +import os + +__version__ = '1.0.27' + +# Build a list of all project modules, as well as supplementary files +main_package = "PyNN8Examples" +extensions = {".aplx", ".boot", ".cfg", ".json", ".sql", ".template", ".xml", + ".xsd"} +main_package_dir = os.path.join(os.path.dirname(__file__), main_package) +start = len(main_package_dir) +packages = [] +package_data = defaultdict(list) +for dirname, dirnames, filenames in os.walk(main_package_dir): + if '__init__.py' in filenames: + package = "{}{}".format( + main_package, dirname[start:].replace(os.sep, '.')) + packages.append(package) + for filename in filenames: + _, ext = os.path.splitext(filename) + if ext in extensions: + package = "{}{}".format( + main_package, dirname[start:].replace(os.sep, '.')) + package_data[package].append(filename) + +setup( + name="SpiNNaker_PyNN8Examples", + version=__version__, + description="Partition and Configuration Manager", + url="https://github.com/SpiNNakerManchester/PyNN8Examples", + license="GNU GPLv3.0", + classifiers=[ + "Development Status :: 3 - Alpha", + + "Intended Audience :: Developers", + "Intended Audience :: Science/Research", + + "License :: OSI Approved :: GNU General Public License v2 (GPLv2)", + + "Natural Language :: English", + + "Operating System :: POSIX :: Linux", + "Operating System :: Microsoft :: Windows", + "Operating System :: MacOS", + + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.5", + "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: 3.7", + ], + packages=packages, + package_data=package_data, + install_requires=[ + 'SpiNNUtilities >= 1!5.0.1, < 1!6.0.0', + 'SpiNNMachine >= 1!5.0.1, < 1!6.0.0', + 'six', + 'enum34', + 'future', + 'numpy'], + maintainer="SpiNNakerTeam", + maintainer_email="spinnakerusers@googlegroups.com" +) From 9b731221c8c3690aaf9aceb244909bb4eb966446 Mon Sep 17 00:00:00 2001 From: such-a-git Date: Tue, 6 Oct 2020 11:24:57 +0100 Subject: [PATCH 59/68] Removed PyNN8Examples include as terminal doesn't like it --- eprop_testing/create_pops_for_incremental_learning.py | 4 ++-- eprop_testing/incremental_learning.py | 7 ++++--- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/eprop_testing/create_pops_for_incremental_learning.py b/eprop_testing/create_pops_for_incremental_learning.py index 46a030c9..84f7a641 100644 --- a/eprop_testing/create_pops_for_incremental_learning.py +++ b/eprop_testing/create_pops_for_incremental_learning.py @@ -1,7 +1,7 @@ import spynnaker8 as pynn from spynnaker.pyNN.spynnaker_external_device_plugin_manager import SpynnakerExternalDevicePluginManager -from PyNN8Examples.eprop_testing.plot_graph import draw_graph_from_list, plot_learning_curve -from PyNN8Examples.eprop_testing.incremental_config import * +from eprop_testing.plot_graph import draw_graph_from_list, plot_learning_curve +from eprop_testing.incremental_config import * def load_connections(npy_label, pop_size, rec=True): in_conn = [list(ele) for ele in np.load(npy_label+' in.npy').tolist()] diff --git a/eprop_testing/incremental_learning.py b/eprop_testing/incremental_learning.py index bea101dd..cd14c987 100644 --- a/eprop_testing/incremental_learning.py +++ b/eprop_testing/incremental_learning.py @@ -1,6 +1,7 @@ -from PyNN8Examples.eprop_testing.plot_graph import draw_graph_from_list, plot_learning_curve -from PyNN8Examples.eprop_testing.create_pops_for_incremental_learning import first_create_pops, next_create_pops, run_until -from PyNN8Examples.eprop_testing.incremental_config import * +import numpy as np +from eprop_testing.plot_graph import draw_graph_from_list, plot_learning_curve +from eprop_testing.create_pops_for_incremental_learning import first_create_pops, next_create_pops, run_until +from eprop_testing.incremental_config import * np.random.seed(272727) From e2db1a39073a45deacd11488cc6b4581366e0988 Mon Sep 17 00:00:00 2001 From: such-a-git Date: Tue, 13 Oct 2020 15:44:58 +0100 Subject: [PATCH 60/68] small changes to tests --- eprop_testing/incremental_config.py | 12 ++--- .../learn_sinusoid_from_frozen_poisson.py | 49 ++++++++++--------- eprop_testing/plot_graph.py | 3 +- 3 files changed, 34 insertions(+), 30 deletions(-) diff --git a/eprop_testing/incremental_config.py b/eprop_testing/incremental_config.py index fc62cdb8..14cd4f1f 100644 --- a/eprop_testing/incremental_config.py +++ b/eprop_testing/incremental_config.py @@ -10,12 +10,12 @@ p_connect_rec = 1. p_connect_out = 1. recurrent_connections = False -synapse_eta = 0.03 +synapse_eta = 0.003 tau_a = 3500 # [cycle_time - 150 + (np.random.randn() * 200) for i in range(100)] input_split = 100 window_cycles = 2 window_size = cycle_time * window_cycles -threshold_beta = 3 +threshold_beta = 0.3 max_weight = 8.0 in_weight = 0.55 @@ -23,7 +23,7 @@ rec_weight = 0 # -0.5 out_weight = 0 # 0.01 weight_string = "i{}-p{}-r{}-o{}".format(in_weight, prompt_weight, rec_weight, out_weight) -free_label = 't35' +free_label = 't35 rfb.3' input_size = 40 readout_neuron_params = { @@ -57,8 +57,8 @@ "v": 0, "i_offset": 0, "v_rest": 0, - # "w_fb": [4*np.random.random() - 4*np.random.random() for i in range(neuron_pop_size)], ## for both feedback weights - "w_fb": [3] * int(neuron_pop_size / 4) + [-3] * int(neuron_pop_size / 4) + [3] * int(neuron_pop_size / 4) + [-3] * int(neuron_pop_size / 4), + "w_fb": [5*np.random.random() - 5*np.random.random() for i in range(neuron_pop_size)], ## for both feedback weights + # "w_fb": [3] * int(neuron_pop_size / 4) + [-3] * int(neuron_pop_size / 4) + [3] * int(neuron_pop_size / 4) + [-3] * int(neuron_pop_size / 4), # "B": 0.0, "beta": beta, "target_rate": 10, @@ -66,4 +66,4 @@ "eta": synapse_eta * 5, # / 20., "window_size": window_size, "number_of_cues": number_of_cues -} \ No newline at end of file +} diff --git a/eprop_testing/learn_sinusoid_from_frozen_poisson.py b/eprop_testing/learn_sinusoid_from_frozen_poisson.py index 53fff5a6..eb9a9298 100644 --- a/eprop_testing/learn_sinusoid_from_frozen_poisson.py +++ b/eprop_testing/learn_sinusoid_from_frozen_poisson.py @@ -1,7 +1,7 @@ import spynnaker8 as pynn import numpy as np import matplotlib.pyplot as plt -from frozen_poisson import build_input_spike_train, frozen_poisson_variable_hz +from PyNN8Examples.eprop_testing.frozen_poisson import build_input_spike_train, frozen_poisson_variable_hz from pyNN.random import NumpyRNG, RandomDistribution from pyNN.utility.plotting import Figure, Panel @@ -10,7 +10,7 @@ def weight_distribution(pop_size): # base_weight = 0 return base_weight -def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): +def probability_connector(pre_pop_size, post_pop_size, prob, offset=0, base_weight=0.0): connections = [] max_syn_per_neuron = 0 for j in range(post_pop_size): @@ -19,7 +19,7 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): for i in range(pre_pop_size): if np.random.random() < prob: neuron_syn_count += 1 - conn = [i, j, weight_distribution(pre_pop_size), delay_count] + conn = [i, j, weight_distribution(pre_pop_size)+base_weight, delay_count] delay_count += 1 connections.append(conn) if neuron_syn_count > max_syn_per_neuron: @@ -29,7 +29,7 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): np.random.seed(272727) cycle_time = 1024 -num_repeats = 10 +num_repeats = 100 pynn.setup(1.0) target_data = [] @@ -40,15 +40,15 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): ) -reg_rate = 0.0001 +reg_rate = 0.00001 p_connect_in = 1. p_connect_rec = 1. p_connect_out = 1. recurrent_connections = False -synapse_eta = 0.2 +synapse_eta = 0.001 input_split = 20 input_speed_up = 1. - +base_weight = 0.55 pynn.setup(timestep=1) @@ -58,7 +58,8 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): "v": 0, "v_thresh": 30, # controls firing rate of error neurons "target_data": target_data, - "eta": synapse_eta #- 0.1 + "eta": synapse_eta + 0.0, + "update_ready": cycle_time } input_pop = pynn.Population(input_size, pynn.SpikeSourceArray, @@ -76,7 +77,8 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): # "B": 0.0, "beta": 0.0, "target_rate": 10,#[10 + np.random.randn() for i in range(neuron_pop_size)], - "eta": 0#synapse_eta #/ 4. + "eta": synapse_eta, #/ 4. + "window_size": 1 } if neuron_pop_size: neuron = pynn.Population(neuron_pop_size, @@ -90,6 +92,12 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): ), label="readout_pop" ) + +eprop_learning_output = pynn.STDPMechanism( + timing_dependence=pynn.extra_models.TimingDependenceEprop(), + weight_dependence=pynn.extra_models.WeightDependenceEpropReg( + w_min=-2, w_max=2, reg_rate=0.0)) + if neuron_pop_size: start_w = [weight_distribution(neuron_pop_size*input_size) for i in range(input_size)] eprop_learning_neuron = pynn.STDPMechanism( @@ -97,7 +105,7 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): weight_dependence=pynn.extra_models.WeightDependenceEpropReg( w_min=-2.0, w_max=2.0, reg_rate=reg_rate)) - from_list_in, max_syn_per_input = probability_connector(input_size, neuron_pop_size, p_connect_in) + from_list_in, max_syn_per_input = probability_connector(input_size, neuron_pop_size, p_connect_in, base_weight=base_weight) if max_syn_per_input > 100: Exception else: @@ -109,12 +117,6 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): label='input_connections', receptor_type='input_connections') -eprop_learning_output = pynn.STDPMechanism( - timing_dependence=pynn.extra_models.TimingDependenceEprop(), - weight_dependence=pynn.extra_models.WeightDependenceEpropReg( - w_min=-2, w_max=2, reg_rate=0.0)) - -if neuron_pop_size: # from_list_out = [[i, 0, weight_distribution(input_size), i] for i in range(input_size)] from_list_out, max_syn_per_output = probability_connector(neuron_pop_size, 1, p_connect_out) if max_syn_per_output > 100: @@ -137,7 +139,7 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): pynn.StaticSynapse(weight=0.5, delay=0), receptor_type='learning_signal') else: - from_list_out, max_syn_per_output = probability_connector(input_size, 1, p_connect_out) + from_list_out, max_syn_per_output = probability_connector(input_size, 1, p_connect_out, base_weight=base_weight) if max_syn_per_output > 100: Exception else: @@ -168,7 +170,7 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): label='recurrent_connections', receptor_type='recurrent_connections') -# input_pop.record('spikes') +input_pop.record('spikes') if neuron_pop_size: neuron.record('spikes') neuron.record(['gsyn_exc', 'v', 'gsyn_inh'], indexes=[0, 1, 9, 17, 25, 33]) @@ -180,7 +182,7 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): runtime = cycle_time * num_repeats pynn.run(runtime) -# in_spikes = input_pop.get_data('spikes') +in_spikes = input_pop.get_data('spikes') if neuron_pop_size: neuron_res = neuron.get_data('all') readout_res = readout_pop.get_data('all') @@ -243,6 +245,7 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): print("minimum error = ", np.min(cycle_error)) print("minimum iteration = ", cycle_error.index(np.min(cycle_error)), "- with time stamp =", cycle_error.index(np.min(cycle_error)) * 1024) + if neuron_pop_size: plt.figure() Figure( @@ -252,11 +255,11 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): Panel(neuron_res.segments[0].filter(name='gsyn_inh')[0], ylabel='gsyn_inh', yticks=True, xticks=True, xlim=(0, runtime)), - # Panel(in_spikes.segments[0].spiketrains, ylabel='in_spikes', xlabel='in_spikes', yticks=True, xticks=True, xlim=(0, runtime)), + Panel(in_spikes.segments[0].spiketrains, ylabel='in_spikes', xlabel='in_spikes', yticks=True, xticks=True, xlim=(0, runtime)), Panel(neuron_res.segments[0].spiketrains, ylabel='neuron_spikes', xlabel='neuron_spikes', yticks=True, xticks=True, xlim=(0, runtime)), - Panel(readout_res.segments[0].filter(name='v')[0], ylabel='Membrane potential (mV)', yticks=True, xticks=True, xlim=(0, runtime)), + Panel(readout_res.segments[0].filter(name='v')[0], ylabel='Membrane potential (mV)', yticks=True, xticks=True, xlim=(runtime-cycle_time*3, runtime)), Panel(readout_res.segments[0].filter(name='gsyn_exc')[0], ylabel='gsyn_exc', yticks=True, xticks=True, xlim=(0, runtime)), @@ -268,10 +271,10 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): else: plt.figure() Figure( - # Panel(in_spikes.segments[0].spiketrains, ylabel='in_spikes', xlabel='in_spikes', yticks=True, xticks=True, xlim=(0, runtime)), + Panel(in_spikes.segments[0].spiketrains, ylabel='in_spikes', xlabel='in_spikes', yticks=True, xticks=True, xlim=(0, runtime)), Panel(readout_res.segments[0].filter(name='v')[0], ylabel='Membrane potential (mV)', yticks=True, xticks=True, - xlim=(0, runtime)), + xlim=(runtime-cycle_time*3, runtime)), Panel(readout_res.segments[0].filter(name='gsyn_exc')[0], ylabel='gsyn_exc', yticks=True, xticks=True, xlim=(0, runtime)), diff --git a/eprop_testing/plot_graph.py b/eprop_testing/plot_graph.py index 9cf44fa3..a437274a 100644 --- a/eprop_testing/plot_graph.py +++ b/eprop_testing/plot_graph.py @@ -289,7 +289,8 @@ def create_video(top_directory, base_label, string_end=' SNN.png'): if __name__ == '__main__': directory = '/localhome/mbaxrap7/eprop_python3/PyNN8Examples/eprop_testing/big_with_labels' # label = 'eta-0.1_0.05 - size-40_100 - rec-False' - label = 'eta-0.03_0.015 - size-40_100 - rec-False' + # label = 'eta-0.03_0.015 - size-40_100 - rec-False' + label = 't35 eta-0.03_0.015 - size-40_100 - rec-False' create_video(directory, label, # string_end=' learning curve.png') string_end=' SNN.png') From 84d8826da422aa5f1a15c456b2400a7df84fa008 Mon Sep 17 00:00:00 2001 From: Andrew Gait Date: Fri, 5 May 2023 12:05:22 +0100 Subject: [PATCH 61/68] Update scripts to work with current version --- eprop_testing/hand_crafted_left_right.py | 26 ++++--- eprop_testing/input_buffer_overflow_test.py | 37 +++++----- .../learn_sinusoid_from_frozen_poisson.py | 9 ++- eprop_testing/learn_sinusoid_only_readout.py | 2 + eprop_testing/pop_rate_test.py | 2 +- eprop_testing/readout_input_test.py | 68 +++++++++++-------- .../test_learning_signal_by_payload.py | 5 +- eprop_testing/test_left_right_readout.py | 57 +++++++++------- eprop_testing/test_sinusoid_learning.py | 2 +- 9 files changed, 122 insertions(+), 86 deletions(-) diff --git a/eprop_testing/hand_crafted_left_right.py b/eprop_testing/hand_crafted_left_right.py index f9b81be7..79db73e6 100644 --- a/eprop_testing/hand_crafted_left_right.py +++ b/eprop_testing/hand_crafted_left_right.py @@ -1,11 +1,11 @@ import spynnaker8 as pynn import numpy as np import matplotlib.pyplot as plt -from PyNN8Examples.eprop_testing.frozen_poisson import build_input_spike_train, frozen_poisson_variable_hz +from frozen_poisson import build_input_spike_train, frozen_poisson_variable_hz from pyNN.random import NumpyRNG, RandomDistribution from pyNN.utility.plotting import Figure, Panel from spynnaker.pyNN.spynnaker_external_device_plugin_manager import SpynnakerExternalDevicePluginManager -from PyNN8Examples.eprop_testing.plot_graph import draw_graph_from_list, plot_learning_curve +from plot_graph import draw_graph_from_list, plot_learning_curve def weight_distribution(pop_size): base_weight = np.random.randn() / np.sqrt(pop_size) #+ 0.5 @@ -66,6 +66,7 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs weight_string = "i{}-p{}-r{}-o{}".format(in_weight, prompt_weight, rec_weight, out_weight) pynn.setup(timestep=1) +pynn.set_number_of_neurons_per_core(pynn.extra_models.EPropAdaptive, 6) input_size = 40 readout_neuron_params = { @@ -131,7 +132,12 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs label="readout_pop" ) -SpynnakerExternalDevicePluginManager.add_edge(readout_pop._get_vertex, input_pop._get_vertex, "CONTROL") +poisson_control_edge = SpynnakerExternalDevicePluginManager.add_edge( + readout_pop._vertex, input_pop._vertex, "CONTROL") +# pynn.external_devices.activate_live_output_to( +# readout_pop, input_pop, "CONTROL") +input_pop._vertex.set_live_poisson_control_edge(poisson_control_edge) +# pynn.external_devices.add_poisson_live_rate_control(input_pop) start_w = [weight_distribution(neuron_pop_size*input_size) for i in range(input_size)] eprop_learning_neuron = pynn.STDPMechanism( @@ -206,7 +212,9 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs input_pop.record('spikes') neuron.record('spikes') -neuron.record(['gsyn_exc', 'v', 'gsyn_inh'], indexes=[i for i in range(int((neuron_pop_size/2)-5), int((neuron_pop_size/2)+5))]) +# neuron.record(['gsyn_exc', 'v', 'gsyn_inh'], indexes=[i for i in range(int((neuron_pop_size/2)-5), int((neuron_pop_size/2)+5))]) +neuron[[i for i in range(int((neuron_pop_size/2)-5), int( + (neuron_pop_size/2)+5))]].record(['gsyn_exc', 'v', 'gsyn_inh']) readout_pop.record('all') runtime = cycle_time * num_repeats @@ -343,8 +351,9 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs title="neuron data for {}".format(experiment_label) ) -manager = plt.get_current_fig_manager() -manager.resize(*manager.window.maxsize()) +# The below only works with a Qt-based backend for matplotlib +# manager = plt.get_current_fig_manager() +# manager.resize(*manager.window.maxsize()) plt.show() print("plotted neuron data") @@ -372,8 +381,9 @@ def moving_average(a, n=3) : axs[3].plot([0, num_repeats], [0.9, 0.9], 'r') axs[3].plot([0, num_repeats], [0.95, 0.95], 'g') axs[3].set_xlim([-20, num_repeats+20]) -manager = plt.get_current_fig_manager() -manager.resize(*manager.window.maxsize()) +# The below only works with a Qt-based backend for matplotlib +# manager = plt.get_current_fig_manager() +# manager.resize(*manager.window.maxsize()) plt.show() print("plotted curves") diff --git a/eprop_testing/input_buffer_overflow_test.py b/eprop_testing/input_buffer_overflow_test.py index 505981ae..bd2fa933 100644 --- a/eprop_testing/input_buffer_overflow_test.py +++ b/eprop_testing/input_buffer_overflow_test.py @@ -4,7 +4,7 @@ from frozen_poisson import build_input_spike_train, frozen_poisson_variable_hz from pyNN.random import NumpyRNG, RandomDistribution from pyNN.utility.plotting import Figure, Panel -from spynnaker.pyNN.spynnaker_external_device_plugin_manager import SpynnakerExternalDevicePluginManager +# from spynnaker.pyNN.spynnaker_external_device_plugin_manager import SpynnakerExternalDevicePluginManager def weight_distribution(pop_size): base_weight = np.random.randn() / np.sqrt(pop_size) #+ 0.5 @@ -69,6 +69,7 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs pynn.setup(timestep=1) +pynn.set_number_of_neurons_per_core(pynn.extra_models.EPropAdaptive, 6) input_size = 24 readout_neuron_params = { @@ -129,7 +130,9 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs label="readout_pop" ) -SpynnakerExternalDevicePluginManager.add_edge(readout_pop._get_vertex, input_pop._get_vertex, "CONTROL") +# SpynnakerExternalDevicePluginManager.add_edge(readout_pop._get_vertex, input_pop._get_vertex, "CONTROL") +pynn.external_devices.activate_live_output_to( + readout_pop, input_pop, "CONTROL") start_w = [weight_distribution(neuron_pop_size*input_size) for i in range(input_size)] eprop_learning_neuron = pynn.STDPMechanism( @@ -211,7 +214,7 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs experiment_label = "eta:{}/{} - size:{}/{} - reg_rate:{} - p_conn:{}/{}/{} - rec:{} - cycle:{}/{}/{} regoff delai".format( readout_neuron_params["eta"], neuron_params["eta"], input_size, neuron_pop_size, reg_rate, p_connect_in, p_connect_rec, p_connect_out, recurrent_connections, cycle_time, window_size, runtime) -print "\n", experiment_label, "\n" +print("\n", experiment_label, "\n") pynn.run(runtime) in_spikes = input_pop.get_data('spikes') @@ -245,9 +248,9 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs connection_diff_in = [] for i in range(len(from_list_in)): connection_diff_in.append(new_connections_in[i][2] - from_list_in[i][2]) -print "Input connections\noriginal\n", np.array(from_list_in) -print "new\n", np.array(new_connections_in) -print "diff\n", np.array(connection_diff_in) +print("Input connections\noriginal\n", np.array(from_list_in)) +print("new\n", np.array(new_connections_in)) +print("diff\n", np.array(connection_diff_in)) new_connections_out = []#out_proj.get('weight', 'delay').connections[0]#[] for partition in out_proj.get('weight', 'delay').connections: @@ -258,17 +261,17 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs connection_diff_out = [] for i in range(len(from_list_out)): connection_diff_out.append(new_connections_out[i][2] - from_list_out[i][2]) -print "Output connections\noriginal\n", np.array(from_list_out) -print "new\n", np.array(new_connections_out) -print "diff\n", np.array(connection_diff_out) - -print experiment_label -print "cycle_error =", cycle_error -print "total error =", total_error -print "average error = ", np.average(cycle_error) -print "weighted average", np.average(cycle_error, weights=[i for i in range(num_repeats)]) -print "minimum error = ", np.min(cycle_error) -print "minimum iteration =", cycle_error.index(np.min(cycle_error)), "- with time stamp =", cycle_error.index(np.min(cycle_error)) * 1024 +print("Output connections\noriginal\n", np.array(from_list_out)) +print("new\n", np.array(new_connections_out)) +print("diff\n", np.array(connection_diff_out)) + +print(experiment_label) +print("cycle_error =", cycle_error) +print("total error =", total_error) +print("average error = ", np.average(cycle_error)) +print("weighted average", np.average(cycle_error, weights=[i for i in range(num_repeats)])) +print("minimum error = ", np.min(cycle_error)) +print("minimum iteration =", cycle_error.index(np.min(cycle_error)), "- with time stamp =", cycle_error.index(np.min(cycle_error)) * 1024) plt.figure() Figure( diff --git a/eprop_testing/learn_sinusoid_from_frozen_poisson.py b/eprop_testing/learn_sinusoid_from_frozen_poisson.py index eb9a9298..f8a75f3b 100644 --- a/eprop_testing/learn_sinusoid_from_frozen_poisson.py +++ b/eprop_testing/learn_sinusoid_from_frozen_poisson.py @@ -1,7 +1,7 @@ import spynnaker8 as pynn import numpy as np import matplotlib.pyplot as plt -from PyNN8Examples.eprop_testing.frozen_poisson import build_input_spike_train, frozen_poisson_variable_hz +from frozen_poisson import build_input_spike_train, frozen_poisson_variable_hz from pyNN.random import NumpyRNG, RandomDistribution from pyNN.utility.plotting import Figure, Panel @@ -29,7 +29,7 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0, base_weig np.random.seed(272727) cycle_time = 1024 -num_repeats = 100 +num_repeats = 100 # 100 pynn.setup(1.0) target_data = [] @@ -52,6 +52,7 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0, base_weig pynn.setup(timestep=1) +pynn.set_number_of_neurons_per_core(pynn.extra_models.EPropAdaptive, 6) input_size = 100 readout_neuron_params = { @@ -172,8 +173,10 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0, base_weig input_pop.record('spikes') if neuron_pop_size: + # neuron.record('all') neuron.record('spikes') - neuron.record(['gsyn_exc', 'v', 'gsyn_inh'], indexes=[0, 1, 9, 17, 25, 33]) + # neuron.record(['gsyn_exc', 'v', 'gsyn_inh'], indexes=[0, 1, 9, 17, 25, 33]) + neuron[0, 1, 9, 17, 25, 33].record(['gsyn_exc', 'v', 'gsyn_inh']) readout_pop.record('all') experiment_label = "eta:{}/{} - size:{}/{} - reg_rate:{} - p_conn:{}/{}/{} - rec:{} - 10*{}hz all2all".format( diff --git a/eprop_testing/learn_sinusoid_only_readout.py b/eprop_testing/learn_sinusoid_only_readout.py index d27eba32..6f282fc7 100644 --- a/eprop_testing/learn_sinusoid_only_readout.py +++ b/eprop_testing/learn_sinusoid_only_readout.py @@ -52,6 +52,8 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): pynn.setup(timestep=1) +# pynn.set_number_of_neurons_per_core(pynn.extra_models.EPropAdaptive, 6) + input_size = 100 input_pop = pynn.Population(input_size, pynn.SpikeSourceArray, diff --git a/eprop_testing/pop_rate_test.py b/eprop_testing/pop_rate_test.py index 1370e6b8..8acff242 100644 --- a/eprop_testing/pop_rate_test.py +++ b/eprop_testing/pop_rate_test.py @@ -6,7 +6,7 @@ def frozen_poisson_variable_hz(num_repeats, cycle_time, split, speed_up, pop_siz pattern = np.load('1000 neurons - 10Hz - 100*1024s.npy').tolist() if split > pop_size: - print "Cannot split population into sizes smaller than 1 i.e. split > population size" + print("Cannot split population into sizes smaller than 1 i.e. split > population size") raise Exception spikes = [] diff --git a/eprop_testing/readout_input_test.py b/eprop_testing/readout_input_test.py index db97477a..c6deec0e 100644 --- a/eprop_testing/readout_input_test.py +++ b/eprop_testing/readout_input_test.py @@ -69,12 +69,13 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs pynn.setup(timestep=1) +pynn.set_number_of_neurons_per_core(pynn.extra_models.EPropAdaptive, 6) input_size = 24 readout_neuron_params = { "v": 0, "v_thresh": 30, # controls firing rate of error neurons - "poisson_pop_size": input_size / 4, + "poisson_pop_size": input_size // 4, "rate_on": 40, "rate_off": 0, # "tau_m": tau_a, @@ -84,7 +85,7 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs } rates = [] for i in range(input_size): - if i >= (3*input_size) / 4: + if i >= (3*input_size) // 4: rates.append(10) else: rates.append(0) @@ -98,7 +99,7 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs ratio_of_LIF = 0.5 beta = [] for i in range(neuron_pop_size): - if i < neuron_pop_size/2: + if i < neuron_pop_size//2: # if i % 2 == 0: beta.append(25.8) else: @@ -129,7 +130,12 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs label="readout_pop" ) -SpynnakerExternalDevicePluginManager.add_edge(readout_pop._get_vertex, input_pop._get_vertex, "CONTROL") +poisson_control_edge = SpynnakerExternalDevicePluginManager.add_edge( + readout_pop._vertex, input_pop._vertex, "CONTROL") +# pynn.external_devices.activate_live_output_to( +# readout_pop, input_pop, "CONTROL") +input_pop._vertex.set_live_poisson_control_edge(poisson_control_edge) +# pynn.external_devices.add_poisson_live_rate_control(input_pop) start_w = [weight_distribution(neuron_pop_size*input_size) for i in range(input_size)] eprop_learning_neuron = pynn.STDPMechanism( @@ -139,8 +145,8 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs # from_list_in, max_syn_per_input = probability_connector(input_size, neuron_pop_size, p_connect_in) ps = readout_neuron_params["poisson_pop_size"] -from_list_in = range_connector(0, ps, 0, neuron_pop_size/2, weight=in_weight) -from_list_in += range_connector(ps, ps*2, neuron_pop_size/2, neuron_pop_size, weight=in_weight) +from_list_in = range_connector(0, ps, 0, neuron_pop_size//2, weight=in_weight) +from_list_in += range_connector(ps, ps*2, neuron_pop_size//2, neuron_pop_size, weight=in_weight) from_list_in += range_connector(ps*2, ps*3, 0, neuron_pop_size, delay_offset=0, weight=prompt_weight) in_proj = pynn.Projection(input_pop, neuron, @@ -157,8 +163,8 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs # from_list_out = [[i, 0, weight_distribution(input_size), i] for i in range(input_size)] # from_list_out, max_syn_per_output = probability_connector(neuron_pop_size, 2, p_connect_out) -from_list_out = range_connector(0, neuron_pop_size/2, 1, 2, weight=out_weight) -from_list_out += range_connector(neuron_pop_size/2, neuron_pop_size, 0, 1, weight=out_weight) +from_list_out = range_connector(0, neuron_pop_size//2, 1, 2, weight=out_weight) +from_list_out += range_connector(neuron_pop_size//2, neuron_pop_size, 0, 1, weight=out_weight) out_proj = pynn.Projection(neuron, readout_pop, # pynn.OneToOneConnector(), @@ -204,7 +210,7 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs experiment_label = "eta:{}/{} - size:{}/{} - reg_rate:{} - p_conn:{}/{}/{} - rec:{} - cycle:{}/{}/{} regoff delai".format( readout_neuron_params["eta"], neuron_params["eta"], input_size, neuron_pop_size, reg_rate, p_connect_in, p_connect_rec, p_connect_out, recurrent_connections, cycle_time, window_size, runtime) -print "\n", experiment_label, "\n" +print("\n", experiment_label, "\n") pynn.run(runtime) in_spikes = input_pop.get_data('spikes') @@ -217,6 +223,12 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs cross_entropy = [] # how do I extract the answer easily? final gsyn exc value? all_cross = [[], []] from_soft = [[], []] +print("size of readout_res (gsyn inh) ", + len(readout_res.segments[0].filter(name='gsyn_inh')[0])) +print("size of readout_res (gsyn exc) ", + len(readout_res.segments[0].filter(name='gsyn_exc')[0])) +print("size of readout_res (v) ", + len(readout_res.segments[0].filter(name='v')[0])) for cycle in range(num_repeats): ticks_for_mean = 0 mean_0 = 0. @@ -224,8 +236,10 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs # mean_0_all = 0. # mean_1_all = 0. for time_index in range(cycle_time): + # print("cycle, cycle_time, time_index ", cycle, cycle_time, time_index) instantaneous_error = np.abs(float( - readout_res.segments[0].filter(name='gsyn_inh')[0][time_index+(cycle*cycle_time)][0])) + readout_res.segments[0].filter( + name='gsyn_inh')[0][time_index+(cycle*cycle_time)][0])) cycle_error[cycle] += instantaneous_error total_error += instantaneous_error @@ -278,9 +292,9 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs connection_diff_in = [] for i in range(len(from_list_in)): connection_diff_in.append(new_connections_in[i][2] - from_list_in[i][2]) -print "Input connections\noriginal\n", np.array(from_list_in) -print "new\n", np.array(new_connections_in) -print "diff\n", np.array(connection_diff_in) +print("Input connections\noriginal\n", np.array(from_list_in)) +print("new\n", np.array(new_connections_in)) +print("diff\n", np.array(connection_diff_in)) new_connections_out = []#out_proj.get('weight', 'delay').connections[0]#[] for partition in out_proj.get('weight', 'delay').connections: @@ -291,9 +305,9 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs connection_diff_out = [] for i in range(len(from_list_out)): connection_diff_out.append(new_connections_out[i][2] - from_list_out[i][2]) -print "Output connections\noriginal\n", np.array(from_list_out) -print "new\n", np.array(new_connections_out) -print "diff\n", np.array(connection_diff_out) +print("Output connections\noriginal\n", np.array(from_list_out)) +print("new\n", np.array(new_connections_out)) +print("diff\n", np.array(connection_diff_out)) if recurrent_connections: new_connections_rec = []#out_proj.get('weight', 'delay').connections[0]#[] @@ -305,17 +319,17 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs connection_diff_rec = [] for i in range(len(from_list_rec)): connection_diff_rec.append(new_connections_rec[i][2] - from_list_rec[i][2]) - print "Recurrent connections\noriginal\n", np.array(from_list_rec) - print "new\n", np.array(new_connections_rec) - print "diff\n", np.array(connection_diff_rec) - -print experiment_label -print "cycle_error =", cycle_error -print "total error =", total_error -print "average error = ", np.average(cycle_error) -print "weighted average", np.average(cycle_error, weights=[i for i in range(num_repeats)]) -print "minimum error = ", np.min(cycle_error) -print "minimum iteration =", cycle_error.index(np.min(cycle_error)), "- with time stamp =", cycle_error.index(np.min(cycle_error)) * 1024 + print("Recurrent connections\noriginal\n", np.array(from_list_rec)) + print("new\n", np.array(new_connections_rec)) + print("diff\n", np.array(connection_diff_rec)) + +print(experiment_label) +print("cycle_error =", cycle_error) +print("total error =", total_error) +print("average error = ", np.average(cycle_error)) +print("weighted average", np.average(cycle_error, weights=[i for i in range(num_repeats)])) +print("minimum error = ", np.min(cycle_error)) +print("minimum iteration =", cycle_error.index(np.min(cycle_error)), "- with time stamp =", cycle_error.index(np.min(cycle_error)) * 1024) plt.figure() Figure( diff --git a/eprop_testing/test_learning_signal_by_payload.py b/eprop_testing/test_learning_signal_by_payload.py index 4ec24c08..2a839e69 100644 --- a/eprop_testing/test_learning_signal_by_payload.py +++ b/eprop_testing/test_learning_signal_by_payload.py @@ -28,7 +28,6 @@ "target_data": target_data, } - input_pop = pynn.Population(1, pynn.SpikeSourceArray, {'spike_times': [200, 210]}, @@ -48,8 +47,8 @@ readout_pop = pynn.Population(3, # HARDCODED 1 pynn.extra_models.SinusoidReadout( **readout_neuron_params - ), - label="readout_pop" + ), + label="readout_pop" ) learning_proj = pynn.Projection(readout_pop, diff --git a/eprop_testing/test_left_right_readout.py b/eprop_testing/test_left_right_readout.py index 93152475..e396f228 100644 --- a/eprop_testing/test_left_right_readout.py +++ b/eprop_testing/test_left_right_readout.py @@ -9,7 +9,7 @@ def weight_distribution(pop_size): base_weight = np.random.randn() / np.sqrt(pop_size) #+ 0.5 if abs(base_weight) < np.exp(-10): # checking because if too many are small neurons can't learn - print "\nweight too small: {}\n".format(base_weight) + print("\nweight too small: {}\n".format(base_weight)) # base_weight = 0 return base_weight @@ -65,6 +65,7 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0, added_wei pynn.setup(timestep=1) +pynn.set_number_of_neurons_per_core(pynn.extra_models.EPropAdaptive, 6) input_size = 40 readout_neuron_params = { @@ -125,7 +126,10 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0, added_wei label="readout_pop" ) -SpynnakerExternalDevicePluginManager.add_edge(readout_pop._get_vertex, input_pop._get_vertex, "CONTROL") +# SpynnakerExternalDevicePluginManager.add_edge( +# readout_pop._vertex, input_pop._vertex, "CONTROL") +pynn.external_devices.activate_live_output_to( + readout_pop, input_pop, "CONTROL") # start_w = [weight_distribution(neuron_pop_size*input_size) for i in range(input_size)] eprop_learning_neuron = pynn.STDPMechanism( @@ -137,7 +141,7 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0, added_wei if max_syn_per_input > 100: Exception else: - print "max number of synapses per neuron:", max_syn_per_input + print("max number of synapses per neuron:", max_syn_per_input) in_proj = pynn.Projection(input_pop, neuron, pynn.FromListConnector(from_list_in), @@ -156,7 +160,7 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0, added_wei if max_syn_per_output > 100: Exception else: - print "max number of synapses per readout:", max_syn_per_output + print("max number of synapses per readout:", max_syn_per_output) out_proj = pynn.Projection(neuron, readout_pop, # pynn.OneToOneConnector(), @@ -187,7 +191,7 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0, added_wei if max_syn_per_rec > 150: Exception else: - print "max number of synapses per neuron:", max_syn_per_rec + print("max number of synapses per neuron:", max_syn_per_rec) recurrent_proj = pynn.Projection(neuron, neuron, pynn.FromListConnector(from_list_rec), @@ -197,14 +201,15 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0, added_wei input_pop.record('spikes') neuron.record('spikes') -neuron.record(['gsyn_exc', 'v', 'gsyn_inh'], indexes=[i for i in range(45, 55)]) +# neuron.record(['gsyn_exc', 'v', 'gsyn_inh'], indexes=[i for i in range(45, 55)]) +neuron[[i for i in range(45, 55)]].record(['gsyn_exc', 'v', 'gsyn_inh']) readout_pop.record('all') runtime = cycle_time * num_repeats experiment_label = "eta:{}/{} - size:{}/{} - reg_rate:{} - p_conn:{}/{}/{} - rec:{} - cycle:{}/{}/{} noresetv 0d b:{} in+{}".format( readout_neuron_params["eta"], neuron_params["eta"], input_size, neuron_pop_size, reg_rate, p_connect_in, p_connect_rec, p_connect_out, recurrent_connections, cycle_time, window_size, runtime, eprop_beta, added_input_weight) -print "\n", experiment_label, "\n" +print("\n", experiment_label, "\n") pynn.run(runtime) in_spikes = input_pop.get_data('spikes') @@ -286,9 +291,9 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0, added_wei connection_diff_in = [] for i in range(len(from_list_in)): connection_diff_in.append(new_connections_in[i][2] - from_list_in[i][2]) -print "Input connections\noriginal\n", np.array(from_list_in) -print "new\n", np.array(new_connections_in) -print "diff\n", np.array(connection_diff_in) +print("Input connections\noriginal\n", np.array(from_list_in)) +print("new\n", np.array(new_connections_in)) +print("diff\n", np.array(connection_diff_in)) new_connections_out = []#out_proj.get('weight', 'delay').connections[0]#[] for partition in out_proj.get('weight', 'delay').connections: @@ -301,9 +306,9 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0, added_wei connection_diff_out = [] for i in range(len(from_list_out)): connection_diff_out.append(new_connections_out[i][2] - from_list_out[i][2]) -print "Output connections\noriginal\n", np.array(from_list_out) -print "new\n", np.array(new_connections_out) -print "diff\n", np.array(connection_diff_out) +print("Output connections\noriginal\n", np.array(from_list_out)) +print("new\n", np.array(new_connections_out)) +print("diff\n", np.array(connection_diff_out)) if recurrent_connections: new_connections_rec = []#out_proj.get('weight', 'delay').connections[0]#[] @@ -317,20 +322,20 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0, added_wei connection_diff_rec = [] for i in range(len(from_list_out)): connection_diff_rec.append(new_connections_rec[i][2] - from_list_rec[i][2]) - print "Recurrent connections\noriginal\n", np.array(from_list_out) - print "new\n", np.array(new_connections_out) - print "diff\n", np.array(connection_diff_out) - -print experiment_label -print "cycle_error =", cycle_error -print "total error =", total_error -print "correct:"# =", correct_or_not + print("Recurrent connections\noriginal\n", np.array(from_list_out)) + print("new\n", np.array(new_connections_out)) + print("diff\n", np.array(connection_diff_out)) + +print(experiment_label) +print("cycle_error =", cycle_error) +print("total error =", total_error) +print("correct:")# =", correct_or_not for i in range(int(np.ceil(len(correct_or_not) / float(window_cycles)))): - print correct_or_not[i*window_cycles:(i+1)*window_cycles], np.average(correct_or_not[i*window_cycles:(i+1)*window_cycles]) -print "average error = ", np.average(cycle_error) -print "weighted average", np.average(cycle_error, weights=[i for i in range(num_repeats)]) -print "minimum error = ", np.min(cycle_error) -print "minimum iteration =", cycle_error.index(np.min(cycle_error)), "- with time stamp =", cycle_error.index(np.min(cycle_error)) * 1024 + print(correct_or_not[i*window_cycles:(i+1)*window_cycles], np.average(correct_or_not[i*window_cycles:(i+1)*window_cycles])) +print("average error = ", np.average(cycle_error)) +print("weighted average", np.average(cycle_error, weights=[i for i in range(num_repeats)])) +print("minimum error = ", np.min(cycle_error)) +print("minimum iteration =", cycle_error.index(np.min(cycle_error)), "- with time stamp =", cycle_error.index(np.min(cycle_error)) * 1024) plt.figure() Figure( diff --git a/eprop_testing/test_sinusoid_learning.py b/eprop_testing/test_sinusoid_learning.py index 488cf488..2e17bf57 100644 --- a/eprop_testing/test_sinusoid_learning.py +++ b/eprop_testing/test_sinusoid_learning.py @@ -65,7 +65,7 @@ readout_pop, pynn.OneToOneConnector(), synapse_type=eprop_learning, - label='input_connections', + label='output_connections', receptor_type='input_connections') learning_proj = pynn.Projection(readout_pop, From e3aedfd3a996bd2b7e53be5f33f28e689074348d Mon Sep 17 00:00:00 2001 From: Andrew Gait Date: Fri, 12 May 2023 09:30:36 +0100 Subject: [PATCH 62/68] Tidy up scripts --- .../create_pops_for_incremental_learning.py | 29 +++++++++++++----- eprop_testing/incremental_config.py | 6 ++-- eprop_testing/incremental_graph_drawing.py | 30 ++++++++++++------- eprop_testing/incremental_learning.py | 6 ++-- eprop_testing/input_buffer_overflow_test.py | 9 ++++-- eprop_testing/readout_input_test.py | 2 +- eprop_testing/test_left_right_readout.py | 16 ++++++---- 7 files changed, 65 insertions(+), 33 deletions(-) diff --git a/eprop_testing/create_pops_for_incremental_learning.py b/eprop_testing/create_pops_for_incremental_learning.py index 84f7a641..0dabfe09 100644 --- a/eprop_testing/create_pops_for_incremental_learning.py +++ b/eprop_testing/create_pops_for_incremental_learning.py @@ -1,7 +1,7 @@ -import spynnaker8 as pynn +import pyNN.spiNNaker as pynn from spynnaker.pyNN.spynnaker_external_device_plugin_manager import SpynnakerExternalDevicePluginManager -from eprop_testing.plot_graph import draw_graph_from_list, plot_learning_curve -from eprop_testing.incremental_config import * +from plot_graph import draw_graph_from_list, plot_learning_curve +from incremental_config import * def load_connections(npy_label, pop_size, rec=True): in_conn = [list(ele) for ele in np.load(npy_label+' in.npy').tolist()] @@ -66,6 +66,7 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs def first_create_pops(): pynn.setup(timestep=1) + pynn.set_number_of_neurons_per_core(pynn.extra_models.EPropAdaptive, 6) input_pop = pynn.Population(input_size, pynn.SpikeSourcePoisson(rate=rates), label='input_pop') @@ -81,7 +82,13 @@ def first_create_pops(): label="readout_pop" ) - SpynnakerExternalDevicePluginManager.add_edge(readout_pop._get_vertex, input_pop._get_vertex, "CONTROL") + # SpynnakerExternalDevicePluginManager.add_edge(readout_pop._get_vertex, input_pop._get_vertex, "CONTROL") + poisson_control_edge = SpynnakerExternalDevicePluginManager.add_edge( + readout_pop._vertex, input_pop._vertex, "CONTROL") + # pynn.external_devices.activate_live_output_to( + # readout_pop, input_pop, "CONTROL") + input_pop._vertex.set_live_poisson_control_edge(poisson_control_edge) + # pynn.external_devices.add_poisson_live_rate_control(input_pop) eprop_learning_neuron = pynn.STDPMechanism( timing_dependence=pynn.extra_models.TimingDependenceEprop(), @@ -179,7 +186,13 @@ def next_create_pops(from_list_in, from_list_rec, from_list_out): label="readout_pop" ) - SpynnakerExternalDevicePluginManager.add_edge(readout_pop._get_vertex, input_pop._get_vertex, "CONTROL") + # SpynnakerExternalDevicePluginManager.add_edge(readout_pop._get_vertex, input_pop._get_vertex, "CONTROL") + poisson_control_edge = SpynnakerExternalDevicePluginManager.add_edge( + readout_pop._vertex, input_pop._vertex, "CONTROL") + # pynn.external_devices.activate_live_output_to( + # readout_pop, input_pop, "CONTROL") + input_pop._vertex.set_live_poisson_control_edge(poisson_control_edge) + # pynn.external_devices.add_poisson_live_rate_control(input_pop) eprop_learning_neuron = pynn.STDPMechanism( timing_dependence=pynn.extra_models.TimingDependenceEprop(), @@ -290,14 +303,16 @@ def run_until(experiment_label, runtime, pynn, in_proj, recurrent_proj, out_proj pynn.run(window_size) # in_spikes = input_pop.get_data('spikes', clear=True) # neuron_res = neuron.get_data('all', clear=True) - readout_res = readout_pop.get_data('all', clear=True) + readout_res = readout_pop.get_data('all') #, clear=True) for cycle in range(window_cycles): cycle_error.append(0.0) correct_or_not.append([]) for time_index in range(cycle_time): instantaneous_error = np.abs(float( - readout_res.segments[0].filter(name='gsyn_inh')[0][time_index + ((cycle+current_iter) * cycle_time)][0])) + readout_res.segments[0].filter( + name='gsyn_inh')[0][time_index + ( + (cycle+current_iter) * cycle_time)][0])) cycle_error[-1] += instantaneous_error if cycle_error[-1] < 75: correct_or_not[-1] = 1 diff --git a/eprop_testing/incremental_config.py b/eprop_testing/incremental_config.py index 14cd4f1f..6546a8e6 100644 --- a/eprop_testing/incremental_config.py +++ b/eprop_testing/incremental_config.py @@ -29,7 +29,7 @@ readout_neuron_params = { "v": 0, "v_thresh": 30, # controls firing rate of error neurons - "poisson_pop_size": input_size / 4, + "poisson_pop_size": input_size // 4, "rate_on": 100, "rate_off": 0, "w_fb": [1, -1, 0], @@ -39,7 +39,7 @@ } rates = [] for i in range(input_size): - if i >= (3 * input_size) / 4: + if i >= (3 * input_size) // 4: rates.append(10) else: rates.append(0) @@ -49,7 +49,7 @@ ratio_of_LIF = 0.5 beta = [] for i in range(neuron_pop_size): - if i < neuron_pop_size / 2: + if i < neuron_pop_size // 2: beta.append(threshold_beta) else: beta.append(threshold_beta) diff --git a/eprop_testing/incremental_graph_drawing.py b/eprop_testing/incremental_graph_drawing.py index a5ed5634..60881a80 100644 --- a/eprop_testing/incremental_graph_drawing.py +++ b/eprop_testing/incremental_graph_drawing.py @@ -1,11 +1,11 @@ import spynnaker8 as pynn import numpy as np import matplotlib.pyplot as plt -from PyNN8Examples.eprop_testing.frozen_poisson import build_input_spike_train, frozen_poisson_variable_hz +from frozen_poisson import build_input_spike_train, frozen_poisson_variable_hz from pyNN.random import NumpyRNG, RandomDistribution from pyNN.utility.plotting import Figure, Panel from spynnaker.pyNN.spynnaker_external_device_plugin_manager import SpynnakerExternalDevicePluginManager -from PyNN8Examples.eprop_testing.plot_graph import draw_graph_from_list, plot_learning_curve +from plot_graph import draw_graph_from_list, plot_learning_curve def load_connections(npy_label, pop_size, rec=True): in_conn = [list(ele) for ele in np.load(npy_label+' in.npy').tolist()] @@ -72,7 +72,7 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs number_of_cues = 1 cycle_time = (number_of_cues*150)+1000+150 num_repeats = 300 -pynn.setup(1.0) +# pynn.setup(1.0) # setup called twice? reg_rate = 0.000 p_connect_in = 1. @@ -94,12 +94,13 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs weight_string = "i{}-p{}-r{}-o{}".format(in_weight, prompt_weight, rec_weight, out_weight) pynn.setup(timestep=1) +pynn.set_number_of_neurons_per_core(pynn.extra_models.EPropAdaptive, 6) input_size = 40 readout_neuron_params = { "v": 0, "v_thresh": 30, # controls firing rate of error neurons - "poisson_pop_size": input_size / 4, + "poisson_pop_size": input_size // 4, "rate_on": 100, "rate_off": 0, # "tau_m": tau_a, @@ -109,7 +110,7 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs } rates = [] for i in range(input_size): - if i >= (3*input_size) / 4: + if i >= (3*input_size) // 4: rates.append(10) else: rates.append(0) @@ -125,7 +126,7 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs ratio_of_LIF = 0.5 beta = [] for i in range(neuron_pop_size): - if i < neuron_pop_size/2: + if i < neuron_pop_size//2: # if i % 2 == 0: beta.append(threshold_beta) else: @@ -158,7 +159,12 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs label="readout_pop" ) -SpynnakerExternalDevicePluginManager.add_edge(readout_pop._get_vertex, input_pop._get_vertex, "CONTROL") +poisson_control_edge = SpynnakerExternalDevicePluginManager.add_edge( + readout_pop._vertex, input_pop._vertex, "CONTROL") +# pynn.external_devices.activate_live_output_to( +# readout_pop, input_pop, "CONTROL") +input_pop._vertex.set_live_poisson_control_edge(poisson_control_edge) +# pynn.external_devices.add_poisson_live_rate_control(input_pop) eprop_learning_neuron = pynn.STDPMechanism( timing_dependence=pynn.extra_models.TimingDependenceEprop(), @@ -232,7 +238,9 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs input_pop.record('spikes') neuron.record('spikes') -neuron.record(['gsyn_exc', 'v', 'gsyn_inh'], indexes=[i for i in range(int((neuron_pop_size/2)-5), int((neuron_pop_size/2)+5))]) +# neuron.record(['gsyn_exc', 'v', 'gsyn_inh'], indexes=[i for i in range(int((neuron_pop_size/2)-5), int((neuron_pop_size/2)+5))]) +neuron[[i for i in range(int((neuron_pop_size/2)-5), + int((neuron_pop_size/2)+5))]].record(['gsyn_exc', 'v', 'gsyn_inh']) readout_pop.record('all') runtime = cycle_time * num_repeats @@ -246,7 +254,7 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs pynn.run(window_size) in_spikes = input_pop.get_data('spikes', clear=True) neuron_res = neuron.get_data('all', clear=True) - readout_res = readout_pop.get_data('all', clear=True) + readout_res = readout_pop.get_data('all') #, clear=True) plot_start = (window_size*current_window) current_window += 1 plot_end = (window_size*current_window) @@ -315,7 +323,9 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs graph_directory = './graphs/' draw_graph_from_list(new_connections_in, new_connections_rec, new_connections_out, graph_directory, experiment_label+' {}'.format(current_window), rec_flag=recurrent_connections, save_flag=True) - plot_learning_curve([correct_or_not, cycle_error], graph_directory, experiment_label+' {}'.format(current_window), save_flag=True) + plot_learning_curve(correct_or_not, cycle_error, graph_directory, + experiment_label+' {}'.format(current_window), + save_flag=True) total_error = 0.0 diff --git a/eprop_testing/incremental_learning.py b/eprop_testing/incremental_learning.py index cd14c987..632dae89 100644 --- a/eprop_testing/incremental_learning.py +++ b/eprop_testing/incremental_learning.py @@ -1,7 +1,7 @@ import numpy as np -from eprop_testing.plot_graph import draw_graph_from_list, plot_learning_curve -from eprop_testing.create_pops_for_incremental_learning import first_create_pops, next_create_pops, run_until -from eprop_testing.incremental_config import * +from plot_graph import draw_graph_from_list, plot_learning_curve +from create_pops_for_incremental_learning import first_create_pops, next_create_pops, run_until +from incremental_config import * np.random.seed(272727) diff --git a/eprop_testing/input_buffer_overflow_test.py b/eprop_testing/input_buffer_overflow_test.py index bd2fa933..4374f5a9 100644 --- a/eprop_testing/input_buffer_overflow_test.py +++ b/eprop_testing/input_buffer_overflow_test.py @@ -130,9 +130,12 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs label="readout_pop" ) -# SpynnakerExternalDevicePluginManager.add_edge(readout_pop._get_vertex, input_pop._get_vertex, "CONTROL") -pynn.external_devices.activate_live_output_to( - readout_pop, input_pop, "CONTROL") +poisson_control_edge = SpynnakerExternalDevicePluginManager.add_edge( + readout_pop._vertex, input_pop._vertex, "CONTROL") +# pynn.external_devices.activate_live_output_to( +# readout_pop, input_pop, "CONTROL") +input_pop._vertex.set_live_poisson_control_edge(poisson_control_edge) +# pynn.external_devices.add_poisson_live_rate_control(input_pop) start_w = [weight_distribution(neuron_pop_size*input_size) for i in range(input_size)] eprop_learning_neuron = pynn.STDPMechanism( diff --git a/eprop_testing/readout_input_test.py b/eprop_testing/readout_input_test.py index c6deec0e..1033df49 100644 --- a/eprop_testing/readout_input_test.py +++ b/eprop_testing/readout_input_test.py @@ -1,4 +1,4 @@ -import spynnaker8 as pynn +import pyNN.spiNNaker as pynn import numpy as np import matplotlib.pyplot as plt from frozen_poisson import build_input_spike_train, frozen_poisson_variable_hz diff --git a/eprop_testing/test_left_right_readout.py b/eprop_testing/test_left_right_readout.py index e396f228..d43813a5 100644 --- a/eprop_testing/test_left_right_readout.py +++ b/eprop_testing/test_left_right_readout.py @@ -126,10 +126,12 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0, added_wei label="readout_pop" ) -# SpynnakerExternalDevicePluginManager.add_edge( -# readout_pop._vertex, input_pop._vertex, "CONTROL") -pynn.external_devices.activate_live_output_to( - readout_pop, input_pop, "CONTROL") +poisson_control_edge = SpynnakerExternalDevicePluginManager.add_edge( + readout_pop._vertex, input_pop._vertex, "CONTROL") +# pynn.external_devices.activate_live_output_to( +# readout_pop, input_pop, "CONTROL") +input_pop._vertex.set_live_poisson_control_edge(poisson_control_edge) +# pynn.external_devices.add_poisson_live_rate_control(input_pop) # start_w = [weight_distribution(neuron_pop_size*input_size) for i in range(input_size)] eprop_learning_neuron = pynn.STDPMechanism( @@ -207,8 +209,10 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0, added_wei runtime = cycle_time * num_repeats -experiment_label = "eta:{}/{} - size:{}/{} - reg_rate:{} - p_conn:{}/{}/{} - rec:{} - cycle:{}/{}/{} noresetv 0d b:{} in+{}".format( - readout_neuron_params["eta"], neuron_params["eta"], input_size, neuron_pop_size, reg_rate, p_connect_in, p_connect_rec, p_connect_out, recurrent_connections, cycle_time, window_size, runtime, eprop_beta, added_input_weight) +experiment_label = "eta:{}/{} - size:{}/{} - reg_rate:{} - p_conn:{}/{}/{} - rec:{} - cycle:{}/{}/{} noresetv 0d b:{}".format( + readout_neuron_params["eta"], neuron_params["eta"], input_size, neuron_pop_size, + reg_rate, p_connect_in, p_connect_rec, p_connect_out, recurrent_connections, + cycle_time, window_size, runtime, eprop_beta) print("\n", experiment_label, "\n") pynn.run(runtime) From 60559866a32d5ce07e4dbf37ad2a5c32ec615a10 Mon Sep 17 00:00:00 2001 From: Andrew Gait Date: Thu, 25 May 2023 12:04:10 +0100 Subject: [PATCH 63/68] Switch scripts to use pyNN.spiNNaker and minor tidying up --- .../create_pops_for_incremental_learning.py | 20 ++++++++++++++----- eprop_testing/delta_synapse_test.py | 2 +- eprop_testing/hand_crafted_left_right.py | 2 +- eprop_testing/incremental_graph_drawing.py | 11 ++++++---- eprop_testing/input_buffer_overflow_test.py | 14 ++++++------- .../learn_sinusoid_from_frozen_poisson.py | 2 +- eprop_testing/learn_sinusoid_only_readout.py | 2 +- ...inusoid_only_readout_single_cycle_input.py | 6 +++--- eprop_testing/one_neuron.py | 2 +- eprop_testing/signed_weights_test.py | 2 +- eprop_testing/test_8_neuron_regularisation.py | 2 +- eprop_testing/test_adaptive_threshold.py | 2 +- .../test_learning_signal_by_payload.py | 2 +- eprop_testing/test_left_right_readout.py | 4 ++-- eprop_testing/test_single_plastic_update.py | 4 ++-- eprop_testing/test_sinusoid_learning.py | 2 +- eprop_testing/test_synapse_state_evol.py | 2 +- 17 files changed, 47 insertions(+), 34 deletions(-) diff --git a/eprop_testing/create_pops_for_incremental_learning.py b/eprop_testing/create_pops_for_incremental_learning.py index 0dabfe09..352c4a54 100644 --- a/eprop_testing/create_pops_for_incremental_learning.py +++ b/eprop_testing/create_pops_for_incremental_learning.py @@ -67,6 +67,9 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs def first_create_pops(): pynn.setup(timestep=1) pynn.set_number_of_neurons_per_core(pynn.extra_models.EPropAdaptive, 6) + + print("Check rates: ", rates) + input_pop = pynn.Population(input_size, pynn.SpikeSourcePoisson(rate=rates), label='input_pop') @@ -101,6 +104,9 @@ def first_create_pops(): weight=in_weight) # connect all 2 prompt from_list_in += range_connector(ps * 2, ps * 4, 0, neuron_pop_size, delay_offset=0, weight=prompt_weight) # connect all 2 prompt + + print("length ", len(from_list_in)) + in_proj = pynn.Projection(input_pop, neuron, pynn.FromListConnector(from_list_in), @@ -303,7 +309,7 @@ def run_until(experiment_label, runtime, pynn, in_proj, recurrent_proj, out_proj pynn.run(window_size) # in_spikes = input_pop.get_data('spikes', clear=True) # neuron_res = neuron.get_data('all', clear=True) - readout_res = readout_pop.get_data('all') #, clear=True) + readout_res = readout_pop.get_data('all', clear=True) for cycle in range(window_cycles): cycle_error.append(0.0) @@ -312,7 +318,8 @@ def run_until(experiment_label, runtime, pynn, in_proj, recurrent_proj, out_proj instantaneous_error = np.abs(float( readout_res.segments[0].filter( name='gsyn_inh')[0][time_index + ( - (cycle+current_iter) * cycle_time)][0])) + cycle * cycle_time)][0])) + # (cycle+current_iter) * cycle_time)][0])) cycle_error[-1] += instantaneous_error if cycle_error[-1] < 75: correct_or_not[-1] = 1 @@ -375,9 +382,12 @@ def run_until(experiment_label, runtime, pynn, in_proj, recurrent_proj, out_proj print(experiment_label) graph_directory = './big_with_labels/' - draw_graph_from_list(new_connections_in, new_connections_rec, new_connections_out, graph_directory, - experiment_label + ' {}'.format(current_window), rec_flag=recurrent_connections, - save_flag=True) + draw_graph_from_list( + new_connections_in, new_connections_rec, new_connections_out, + graph_directory, + experiment_label + ' {}'.format(current_window), + rec_flag=recurrent_connections, + save_flag=True) plot_learning_curve(correct_or_not, cycle_error, graph_directory, experiment_label + ' {}'.format(current_window), save_flag=True, diff --git a/eprop_testing/delta_synapse_test.py b/eprop_testing/delta_synapse_test.py index 767c435f..fa5f0ba6 100644 --- a/eprop_testing/delta_synapse_test.py +++ b/eprop_testing/delta_synapse_test.py @@ -1,4 +1,4 @@ -import spynnaker8 as pynn +import pyNN.spiNNaker as pynn import numpy as np import matplotlib.pyplot as plt from pyNN.random import NumpyRNG, RandomDistribution diff --git a/eprop_testing/hand_crafted_left_right.py b/eprop_testing/hand_crafted_left_right.py index 79db73e6..3dc338bb 100644 --- a/eprop_testing/hand_crafted_left_right.py +++ b/eprop_testing/hand_crafted_left_right.py @@ -1,4 +1,4 @@ -import spynnaker8 as pynn +import pyNN.spiNNaker as pynn import numpy as np import matplotlib.pyplot as plt from frozen_poisson import build_input_spike_train, frozen_poisson_variable_hz diff --git a/eprop_testing/incremental_graph_drawing.py b/eprop_testing/incremental_graph_drawing.py index 60881a80..da3145e6 100644 --- a/eprop_testing/incremental_graph_drawing.py +++ b/eprop_testing/incremental_graph_drawing.py @@ -1,4 +1,4 @@ -import spynnaker8 as pynn +import pyNN.spiNNaker as pynn import numpy as np import matplotlib.pyplot as plt from frozen_poisson import build_input_spike_train, frozen_poisson_variable_hz @@ -139,7 +139,9 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs # "w_fb": [(np.random.random() * 2) - 1. for i in range(neuron_pop_size)], # "w_fb": [4*np.random.random() - 4*np.random.random() for i in range(neuron_pop_size)], ## for both feedback weights # "w_fb": [-3]*(neuron_pop_size/2) + [3]*(neuron_pop_size/2), - "w_fb": [3]*int(neuron_pop_size/4) + [-3]*int(neuron_pop_size/4) + [3]*int(neuron_pop_size/4) + [-3]*int(neuron_pop_size/4), + "w_fb": [3.0]*int(neuron_pop_size/4) + [-3.0]*int( + neuron_pop_size/4) + [3.0]*int(neuron_pop_size/4) + [-3.0]*int( + neuron_pop_size/4), # "B": 0.0, "beta": beta, "target_rate": 10, @@ -254,7 +256,7 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs pynn.run(window_size) in_spikes = input_pop.get_data('spikes', clear=True) neuron_res = neuron.get_data('all', clear=True) - readout_res = readout_pop.get_data('all') #, clear=True) + readout_res = readout_pop.get_data('all', clear=True) plot_start = (window_size*current_window) current_window += 1 plot_end = (window_size*current_window) @@ -262,7 +264,8 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs total_error = 0.0 cycle_error = [0.0 for i in range(current_window*window_cycles)] correct_or_not = [0 for i in range(current_window*window_cycles)] - for cycle in range(current_window*window_cycles): + # for cycle in range(current_window*window_cycles): + for cycle in range(window_cycles): for time_index in range(cycle_time): instantaneous_error = np.abs(float( readout_res.segments[0].filter(name='gsyn_inh')[0][time_index+(cycle*cycle_time)][0])) diff --git a/eprop_testing/input_buffer_overflow_test.py b/eprop_testing/input_buffer_overflow_test.py index 4374f5a9..24a89391 100644 --- a/eprop_testing/input_buffer_overflow_test.py +++ b/eprop_testing/input_buffer_overflow_test.py @@ -1,10 +1,10 @@ -import spynnaker8 as pynn +import pyNN.spiNNaker as pynn import numpy as np import matplotlib.pyplot as plt from frozen_poisson import build_input_spike_train, frozen_poisson_variable_hz from pyNN.random import NumpyRNG, RandomDistribution from pyNN.utility.plotting import Figure, Panel -# from spynnaker.pyNN.spynnaker_external_device_plugin_manager import SpynnakerExternalDevicePluginManager +from spynnaker.pyNN.spynnaker_external_device_plugin_manager import SpynnakerExternalDevicePluginManager def weight_distribution(pop_size): base_weight = np.random.randn() / np.sqrt(pop_size) #+ 0.5 @@ -75,7 +75,7 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs readout_neuron_params = { "v": 0, "v_thresh": 30, # controls firing rate of error neurons - "poisson_pop_size": input_size / 4, + "poisson_pop_size": input_size // 4, "rate_on": 40, "rate_off": 0, # "tau_m": tau_a, @@ -85,7 +85,7 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs } rates = [] for i in range(input_size): - if i >= (3*input_size) / 4: + if i >= (3*input_size) // 4: rates.append(10) else: rates.append(0) @@ -99,7 +99,7 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs ratio_of_LIF = 0.5 beta = [] for i in range(neuron_pop_size): - if i < neuron_pop_size/2: + if i < neuron_pop_size//2: # if i % 2 == 0: beta.append(25.8) else: @@ -145,8 +145,8 @@ def range_connector(pre_min, pre_max, post_min, post_max, weight=1.5, delay_offs # from_list_in, max_syn_per_input = probability_connector(input_size, neuron_pop_size, p_connect_in) ps = readout_neuron_params["poisson_pop_size"] -from_list_in = range_connector(0, ps, 0, neuron_pop_size/2, weight=in_weight) -from_list_in += range_connector(ps, ps*2, neuron_pop_size/2, neuron_pop_size, weight=in_weight) +from_list_in = range_connector(0, ps, 0, neuron_pop_size//2, weight=in_weight) +from_list_in += range_connector(ps, ps*2, neuron_pop_size//2, neuron_pop_size, weight=in_weight) from_list_in += range_connector(ps*2, ps*3, 0, neuron_pop_size, delay_offset=0, weight=prompt_weight) in_proj = pynn.Projection(input_pop, neuron, diff --git a/eprop_testing/learn_sinusoid_from_frozen_poisson.py b/eprop_testing/learn_sinusoid_from_frozen_poisson.py index f8a75f3b..f08e7f62 100644 --- a/eprop_testing/learn_sinusoid_from_frozen_poisson.py +++ b/eprop_testing/learn_sinusoid_from_frozen_poisson.py @@ -1,4 +1,4 @@ -import spynnaker8 as pynn +import pyNN.spiNNaker as pynn import numpy as np import matplotlib.pyplot as plt from frozen_poisson import build_input_spike_train, frozen_poisson_variable_hz diff --git a/eprop_testing/learn_sinusoid_only_readout.py b/eprop_testing/learn_sinusoid_only_readout.py index 6f282fc7..6335a238 100644 --- a/eprop_testing/learn_sinusoid_only_readout.py +++ b/eprop_testing/learn_sinusoid_only_readout.py @@ -1,4 +1,4 @@ -import spynnaker8 as pynn +import pyNN.spiNNaker as pynn import numpy as np import matplotlib.pyplot as plt from frozen_poisson import build_input_spike_train, frozen_poisson_variable_hz diff --git a/eprop_testing/learn_sinusoid_only_readout_single_cycle_input.py b/eprop_testing/learn_sinusoid_only_readout_single_cycle_input.py index f3b91dce..8989fd35 100644 --- a/eprop_testing/learn_sinusoid_only_readout_single_cycle_input.py +++ b/eprop_testing/learn_sinusoid_only_readout_single_cycle_input.py @@ -1,4 +1,4 @@ -import spynnaker8 as pynn +import pyNN.spiNNaker as pynn import numpy as np import matplotlib.pyplot as plt from frozen_poisson import build_input_spike_train, frozen_poisson_variable_hz @@ -95,7 +95,7 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): for i in range(num_repeats): print('\nrepeat: {}\n'.format(i)) pynn.run(cycle_time) - + in_spikes = input_pop.get_data('spikes') readout_res = readout_pop.get_data('all') @@ -117,7 +117,7 @@ def probability_connector(pre_pop_size, post_pop_size, prob, offset=0): connection_diff_in = [] for i in range(len(from_list_in)): connection_diff_in.append(new_connections_in[i][2] - from_list_in[i][2]) - + print("Input connections\noriginal\n", np.array(from_list_in)) print("new\n", np.array(new_connections_in)) print("diff\n", np.array(connection_diff_in)) diff --git a/eprop_testing/one_neuron.py b/eprop_testing/one_neuron.py index 1ac9b7f3..eb370f1b 100644 --- a/eprop_testing/one_neuron.py +++ b/eprop_testing/one_neuron.py @@ -1,4 +1,4 @@ -import spynnaker8 as pynn +import pyNN.spiNNaker as pynn import numpy as np import matplotlib.pyplot as plt from pyNN.random import NumpyRNG, RandomDistribution diff --git a/eprop_testing/signed_weights_test.py b/eprop_testing/signed_weights_test.py index af740961..d89417d2 100644 --- a/eprop_testing/signed_weights_test.py +++ b/eprop_testing/signed_weights_test.py @@ -1,4 +1,4 @@ -import spynnaker8 as pynn +import pyNN.spiNNaker as pynn import numpy as np import matplotlib.pyplot as plt from pyNN.random import NumpyRNG, RandomDistribution diff --git a/eprop_testing/test_8_neuron_regularisation.py b/eprop_testing/test_8_neuron_regularisation.py index ce55978e..be21414f 100644 --- a/eprop_testing/test_8_neuron_regularisation.py +++ b/eprop_testing/test_8_neuron_regularisation.py @@ -1,4 +1,4 @@ -import spynnaker8 as pynn +import pyNN.spiNNaker as pynn import numpy as np import matplotlib.pyplot as plt from pyNN.random import NumpyRNG, RandomDistribution diff --git a/eprop_testing/test_adaptive_threshold.py b/eprop_testing/test_adaptive_threshold.py index ebd3ee6c..45d52be8 100644 --- a/eprop_testing/test_adaptive_threshold.py +++ b/eprop_testing/test_adaptive_threshold.py @@ -1,4 +1,4 @@ -import spynnaker8 as pynn +import pyNN.spiNNaker as pynn import numpy as np import matplotlib.pyplot as plt from pyNN.random import NumpyRNG, RandomDistribution diff --git a/eprop_testing/test_learning_signal_by_payload.py b/eprop_testing/test_learning_signal_by_payload.py index 2a839e69..fe503f13 100644 --- a/eprop_testing/test_learning_signal_by_payload.py +++ b/eprop_testing/test_learning_signal_by_payload.py @@ -1,4 +1,4 @@ -import spynnaker8 as pynn +import pyNN.spiNNaker as pynn import numpy as np import matplotlib.pyplot as plt from pyNN.random import NumpyRNG, RandomDistribution diff --git a/eprop_testing/test_left_right_readout.py b/eprop_testing/test_left_right_readout.py index d43813a5..ec3634dc 100644 --- a/eprop_testing/test_left_right_readout.py +++ b/eprop_testing/test_left_right_readout.py @@ -1,7 +1,7 @@ -import spynnaker8 as pynn +import pyNN.spiNNaker as pynn import numpy as np import matplotlib.pyplot as plt -from frozen_poisson import build_input_spike_train, frozen_poisson_variable_hz +# from frozen_poisson import build_input_spike_train, frozen_poisson_variable_hz from pyNN.random import NumpyRNG, RandomDistribution from pyNN.utility.plotting import Figure, Panel from spynnaker.pyNN.spynnaker_external_device_plugin_manager import SpynnakerExternalDevicePluginManager diff --git a/eprop_testing/test_single_plastic_update.py b/eprop_testing/test_single_plastic_update.py index 789b91eb..998b7a02 100644 --- a/eprop_testing/test_single_plastic_update.py +++ b/eprop_testing/test_single_plastic_update.py @@ -1,4 +1,4 @@ -import spynnaker8 as pynn +import pyNN.spiNNaker as pynn import numpy as np import matplotlib.pyplot as plt from pyNN.random import NumpyRNG, RandomDistribution @@ -29,7 +29,7 @@ eprop_learning = pynn.STDPMechanism( timing_dependence=pynn.extra_models.TimingDependenceEprop(), weight_dependence=pynn.extra_models.WeightDependenceEpropReg( - w_min=-2.0, w_max=2.0, reg_rate=1.5), + w_min=-2.0, w_max=2.0, reg_rate=1.5), weight=start_w, delay=[0, 0]) proj = pynn.Projection(spike_source, neuron, diff --git a/eprop_testing/test_sinusoid_learning.py b/eprop_testing/test_sinusoid_learning.py index 2e17bf57..fcfa2d37 100644 --- a/eprop_testing/test_sinusoid_learning.py +++ b/eprop_testing/test_sinusoid_learning.py @@ -1,4 +1,4 @@ -import spynnaker8 as pynn +import pyNN.spiNNaker as pynn import numpy as np import matplotlib.pyplot as plt from pyNN.random import NumpyRNG, RandomDistribution diff --git a/eprop_testing/test_synapse_state_evol.py b/eprop_testing/test_synapse_state_evol.py index 0fab3f2f..58e434c7 100644 --- a/eprop_testing/test_synapse_state_evol.py +++ b/eprop_testing/test_synapse_state_evol.py @@ -1,4 +1,4 @@ -import spynnaker8 as pynn +import pyNN.spiNNaker as pynn import numpy as np import matplotlib.pyplot as plt from pyNN.random import NumpyRNG, RandomDistribution From e3456a096a7551db20d6e33597c65cca8c12460b Mon Sep 17 00:00:00 2001 From: Andrew Gait Date: Thu, 6 Jul 2023 16:41:44 +0100 Subject: [PATCH 64/68] Add cfg file and update gitignore --- .gitignore | 2 ++ eprop_testing/spynnaker.cfg | 6 ++++++ 2 files changed, 8 insertions(+) create mode 100644 eprop_testing/spynnaker.cfg diff --git a/.gitignore b/.gitignore index 06205f55..8cfe326d 100644 --- a/.gitignore +++ b/.gitignore @@ -8,3 +8,5 @@ __pycache__ *application_generated_data_files/ *reports/ .mypy_cache/ +*big_with_labels/ +*graphs/ \ No newline at end of file diff --git a/eprop_testing/spynnaker.cfg b/eprop_testing/spynnaker.cfg new file mode 100644 index 00000000..98e8ef34 --- /dev/null +++ b/eprop_testing/spynnaker.cfg @@ -0,0 +1,6 @@ +# set time scale factor to somewhere between 3 and 10 +[Machine] +time_scale_factor = 3 + +[Simulation] +n_colour_bits = 0 \ No newline at end of file From 23edf9df78cc10f35c2f11e87e519104a9c434c8 Mon Sep 17 00:00:00 2001 From: Andrew Gait Date: Tue, 8 Aug 2023 17:09:05 +0100 Subject: [PATCH 65/68] Not sure why this file is still here --- examples/one_neuron_test.py | 95 ------------------------------------- 1 file changed, 95 deletions(-) delete mode 100644 examples/one_neuron_test.py diff --git a/examples/one_neuron_test.py b/examples/one_neuron_test.py deleted file mode 100644 index e3e49b60..00000000 --- a/examples/one_neuron_test.py +++ /dev/null @@ -1,95 +0,0 @@ -import spynnaker8 as p -<<<<<<< HEAD -import numpy -import math -import unittest -from pyNN.utility.plotting import Figure, Panel -import matplotlib.pyplot as plt - -p.setup(0.1) # simulation timestep (ms) -runtime = 100 - -# Post-synapse population -neuron_params = { - "v_thresh": -50, - "v_reset": -70, - "v_rest": -65, - "i_offset": 0, # DC input - "v": -60 - } - -spike_times = [10] -# delays = 250 -delays = 2 - - -# pop_src = p.Population(1, p.SpikeSourceArray, {'spike_times': spike_times}, label="src") - - -pop_exc = p.Population(64, # number of neurons - p.IF_curr_exp(**neuron_params), # Neuron model - label="LIF Neuron" # identifier - ) - - -# proj_exc = p.Projection(pop_exc, pop_exc, p.FixedProbabilityConnector(0.99), -# p.StaticSynapse(weight=0.01, delay=delays), receptor_type="excitatory") -# -# proj_inh = p.Projection(pop_src, pop_exc, p.FixedProbabilityConnector(0.99), -# p.StaticSynapse(weight=0.1, delay=delays), receptor_type="inhibitory") - -# pop_exc.record("all") - -p.run(runtime) - -# exc_data = pop_exc.get_data() - -# syn_weight_exc = proj_exc.get('weight', 'list', with_address=False) -# syn_weight_inh = proj_inh.get('weight', 'list', with_address=False) - -# print syn_weight_exc -# , syn_weight_inh - -# Plot -# F = Figure( -# # plot data for postsynaptic neuron -# Panel(exc_data.segments[0].filter(name='v')[0], -# ylabel="Membrane potential (mV)", -# data_labels=[pop_exc.label], yticks=True, xlim=(0, runtime) -# ), -# Panel(exc_data.segments[0].filter(name='gsyn_exc')[0], -# ylabel="gsyn excitatory (mV)", -# data_labels=[pop_exc.label], yticks=True, xlim=(0, runtime) -# ), -# Panel(exc_data.segments[0].filter(name='gsyn_inh')[0], -# ylabel="gsyn inhibitory (mV)", -# data_labels=[pop_exc.label], yticks=True, xlim=(0, runtime) -# ), -# Panel(exc_data.segments[0].spiketrains, -# yticks=True, markersize=2, xlim=(0, runtime) -# ), -# ) - -# plt.show() - -p.end() -print 'job done' - -======= - - -timestep=1 -p.setup(timestep) - - -pop_ex1 = p.Population(2, p.IF_curr_exp, {}, label="ex1") - -# pop_ex1.record('all') - -p.run(100) - -# res = pop_ex1.get_data('all') - -p.end() -print("\n job done") ->>>>>>> b26172aaea9bede0b09ea127cc71436332b4c960 From f7771afa717ebca212007210b45f526f196ceba8 Mon Sep 17 00:00:00 2001 From: Andrew Gait Date: Tue, 8 Aug 2023 17:30:33 +0100 Subject: [PATCH 66/68] Add licenses --- .../create_pops_for_incremental_learning.py | 13 +++++++++++++ eprop_testing/delta_synapse_test.py | 13 +++++++++++++ eprop_testing/frozen_poisson.py | 13 +++++++++++++ eprop_testing/hand_crafted_left_right.py | 13 +++++++++++++ eprop_testing/incremental_config.py | 13 +++++++++++++ eprop_testing/incremental_graph_drawing.py | 13 +++++++++++++ eprop_testing/incremental_learning.py | 13 +++++++++++++ eprop_testing/input_buffer_overflow_test.py | 13 +++++++++++++ .../learn_sinusoid_from_frozen_poisson.py | 13 +++++++++++++ eprop_testing/learn_sinusoid_only_readout.py | 13 +++++++++++++ ...rn_sinusoid_only_readout_single_cycle_input.py | 13 +++++++++++++ eprop_testing/one_neuron.py | 13 +++++++++++++ eprop_testing/plot_graph.py | 15 ++++++++++++++- eprop_testing/pop_rate_test.py | 13 +++++++++++++ eprop_testing/readout_input_test.py | 13 +++++++++++++ eprop_testing/signed_weights_test.py | 13 +++++++++++++ eprop_testing/store_recall.py | 13 +++++++++++++ eprop_testing/test_8_neuron_regularisation.py | 13 +++++++++++++ eprop_testing/test_adaptive_threshold.py | 13 +++++++++++++ eprop_testing/test_learning_signal_by_payload.py | 13 +++++++++++++ eprop_testing/test_left_right_readout.py | 13 +++++++++++++ eprop_testing/test_regularisation.py | 13 +++++++++++++ eprop_testing/test_single_plastic_update.py | 13 +++++++++++++ eprop_testing/test_sinusoid_learning.py | 13 +++++++++++++ eprop_testing/test_synapse_state_evol.py | 13 +++++++++++++ 25 files changed, 326 insertions(+), 1 deletion(-) diff --git a/eprop_testing/create_pops_for_incremental_learning.py b/eprop_testing/create_pops_for_incremental_learning.py index 352c4a54..c1877824 100644 --- a/eprop_testing/create_pops_for_incremental_learning.py +++ b/eprop_testing/create_pops_for_incremental_learning.py @@ -1,3 +1,16 @@ +# Copyright (c) 2019 The University of Manchester +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. import pyNN.spiNNaker as pynn from spynnaker.pyNN.spynnaker_external_device_plugin_manager import SpynnakerExternalDevicePluginManager from plot_graph import draw_graph_from_list, plot_learning_curve diff --git a/eprop_testing/delta_synapse_test.py b/eprop_testing/delta_synapse_test.py index fa5f0ba6..e84c279d 100644 --- a/eprop_testing/delta_synapse_test.py +++ b/eprop_testing/delta_synapse_test.py @@ -1,3 +1,16 @@ +# Copyright (c) 2019 The University of Manchester +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. import pyNN.spiNNaker as pynn import numpy as np import matplotlib.pyplot as plt diff --git a/eprop_testing/frozen_poisson.py b/eprop_testing/frozen_poisson.py index ef7ca2e9..d59d7ce8 100644 --- a/eprop_testing/frozen_poisson.py +++ b/eprop_testing/frozen_poisson.py @@ -1,3 +1,16 @@ +# Copyright (c) 2019 The University of Manchester +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. import numpy as np def build_input_spike_train(num_repeats, cycle_time, pop_size, use_old=False): diff --git a/eprop_testing/hand_crafted_left_right.py b/eprop_testing/hand_crafted_left_right.py index 3dc338bb..92ecc4e7 100644 --- a/eprop_testing/hand_crafted_left_right.py +++ b/eprop_testing/hand_crafted_left_right.py @@ -1,3 +1,16 @@ +# Copyright (c) 2019 The University of Manchester +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. import pyNN.spiNNaker as pynn import numpy as np import matplotlib.pyplot as plt diff --git a/eprop_testing/incremental_config.py b/eprop_testing/incremental_config.py index 6546a8e6..0e52682d 100644 --- a/eprop_testing/incremental_config.py +++ b/eprop_testing/incremental_config.py @@ -1,3 +1,16 @@ +# Copyright (c) 2019 The University of Manchester +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. import numpy as np number_of_cues = 1 diff --git a/eprop_testing/incremental_graph_drawing.py b/eprop_testing/incremental_graph_drawing.py index da3145e6..f03c7fc1 100644 --- a/eprop_testing/incremental_graph_drawing.py +++ b/eprop_testing/incremental_graph_drawing.py @@ -1,3 +1,16 @@ +# Copyright (c) 2019 The University of Manchester +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. import pyNN.spiNNaker as pynn import numpy as np import matplotlib.pyplot as plt diff --git a/eprop_testing/incremental_learning.py b/eprop_testing/incremental_learning.py index 632dae89..b55e7501 100644 --- a/eprop_testing/incremental_learning.py +++ b/eprop_testing/incremental_learning.py @@ -1,3 +1,16 @@ +# Copyright (c) 2019 The University of Manchester +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. import numpy as np from plot_graph import draw_graph_from_list, plot_learning_curve from create_pops_for_incremental_learning import first_create_pops, next_create_pops, run_until diff --git a/eprop_testing/input_buffer_overflow_test.py b/eprop_testing/input_buffer_overflow_test.py index 24a89391..b2aa5470 100644 --- a/eprop_testing/input_buffer_overflow_test.py +++ b/eprop_testing/input_buffer_overflow_test.py @@ -1,3 +1,16 @@ +# Copyright (c) 2019 The University of Manchester +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. import pyNN.spiNNaker as pynn import numpy as np import matplotlib.pyplot as plt diff --git a/eprop_testing/learn_sinusoid_from_frozen_poisson.py b/eprop_testing/learn_sinusoid_from_frozen_poisson.py index f08e7f62..0e9025c9 100644 --- a/eprop_testing/learn_sinusoid_from_frozen_poisson.py +++ b/eprop_testing/learn_sinusoid_from_frozen_poisson.py @@ -1,3 +1,16 @@ +# Copyright (c) 2019 The University of Manchester +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. import pyNN.spiNNaker as pynn import numpy as np import matplotlib.pyplot as plt diff --git a/eprop_testing/learn_sinusoid_only_readout.py b/eprop_testing/learn_sinusoid_only_readout.py index 6335a238..6b315ac5 100644 --- a/eprop_testing/learn_sinusoid_only_readout.py +++ b/eprop_testing/learn_sinusoid_only_readout.py @@ -1,3 +1,16 @@ +# Copyright (c) 2019 The University of Manchester +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. import pyNN.spiNNaker as pynn import numpy as np import matplotlib.pyplot as plt diff --git a/eprop_testing/learn_sinusoid_only_readout_single_cycle_input.py b/eprop_testing/learn_sinusoid_only_readout_single_cycle_input.py index 8989fd35..593a0115 100644 --- a/eprop_testing/learn_sinusoid_only_readout_single_cycle_input.py +++ b/eprop_testing/learn_sinusoid_only_readout_single_cycle_input.py @@ -1,3 +1,16 @@ +# Copyright (c) 2019 The University of Manchester +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. import pyNN.spiNNaker as pynn import numpy as np import matplotlib.pyplot as plt diff --git a/eprop_testing/one_neuron.py b/eprop_testing/one_neuron.py index eb370f1b..93494f2d 100644 --- a/eprop_testing/one_neuron.py +++ b/eprop_testing/one_neuron.py @@ -1,3 +1,16 @@ +# Copyright (c) 2019 The University of Manchester +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. import pyNN.spiNNaker as pynn import numpy as np import matplotlib.pyplot as plt diff --git a/eprop_testing/plot_graph.py b/eprop_testing/plot_graph.py index 8d50afc2..3dce00be 100644 --- a/eprop_testing/plot_graph.py +++ b/eprop_testing/plot_graph.py @@ -1,3 +1,16 @@ +# Copyright (c) 2019 The University of Manchester +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. import matplotlib.pyplot as plt import networkx as nx import numpy as np @@ -297,5 +310,5 @@ def create_video(top_directory, base_label, string_end=' SNN.png'): create_video(directory, label, string_end=' learning curve.png') # string_end=' SNN.png') - + print("done") diff --git a/eprop_testing/pop_rate_test.py b/eprop_testing/pop_rate_test.py index 8acff242..f9b26544 100644 --- a/eprop_testing/pop_rate_test.py +++ b/eprop_testing/pop_rate_test.py @@ -1,3 +1,16 @@ +# Copyright (c) 2019 The University of Manchester +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. import numpy as np import matplotlib.pyplot as plt diff --git a/eprop_testing/readout_input_test.py b/eprop_testing/readout_input_test.py index 1033df49..2886dc86 100644 --- a/eprop_testing/readout_input_test.py +++ b/eprop_testing/readout_input_test.py @@ -1,3 +1,16 @@ +# Copyright (c) 2019 The University of Manchester +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. import pyNN.spiNNaker as pynn import numpy as np import matplotlib.pyplot as plt diff --git a/eprop_testing/signed_weights_test.py b/eprop_testing/signed_weights_test.py index d89417d2..c7cb19df 100644 --- a/eprop_testing/signed_weights_test.py +++ b/eprop_testing/signed_weights_test.py @@ -1,3 +1,16 @@ +# Copyright (c) 2019 The University of Manchester +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. import pyNN.spiNNaker as pynn import numpy as np import matplotlib.pyplot as plt diff --git a/eprop_testing/store_recall.py b/eprop_testing/store_recall.py index a8f0dbea..2b8fd103 100644 --- a/eprop_testing/store_recall.py +++ b/eprop_testing/store_recall.py @@ -1,3 +1,16 @@ +# Copyright (c) 2019 The University of Manchester +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. import spynnaker8 as p from spinn_front_end_common.utility_models import ( ReverseIpTagMultiCastSource) diff --git a/eprop_testing/test_8_neuron_regularisation.py b/eprop_testing/test_8_neuron_regularisation.py index be21414f..db67e6ce 100644 --- a/eprop_testing/test_8_neuron_regularisation.py +++ b/eprop_testing/test_8_neuron_regularisation.py @@ -1,3 +1,16 @@ +# Copyright (c) 2019 The University of Manchester +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. import pyNN.spiNNaker as pynn import numpy as np import matplotlib.pyplot as plt diff --git a/eprop_testing/test_adaptive_threshold.py b/eprop_testing/test_adaptive_threshold.py index 45d52be8..05f53b15 100644 --- a/eprop_testing/test_adaptive_threshold.py +++ b/eprop_testing/test_adaptive_threshold.py @@ -1,3 +1,16 @@ +# Copyright (c) 2019 The University of Manchester +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. import pyNN.spiNNaker as pynn import numpy as np import matplotlib.pyplot as plt diff --git a/eprop_testing/test_learning_signal_by_payload.py b/eprop_testing/test_learning_signal_by_payload.py index fe503f13..3f3daa9f 100644 --- a/eprop_testing/test_learning_signal_by_payload.py +++ b/eprop_testing/test_learning_signal_by_payload.py @@ -1,3 +1,16 @@ +# Copyright (c) 2019 The University of Manchester +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. import pyNN.spiNNaker as pynn import numpy as np import matplotlib.pyplot as plt diff --git a/eprop_testing/test_left_right_readout.py b/eprop_testing/test_left_right_readout.py index ec3634dc..95317c58 100644 --- a/eprop_testing/test_left_right_readout.py +++ b/eprop_testing/test_left_right_readout.py @@ -1,3 +1,16 @@ +# Copyright (c) 2019 The University of Manchester +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. import pyNN.spiNNaker as pynn import numpy as np import matplotlib.pyplot as plt diff --git a/eprop_testing/test_regularisation.py b/eprop_testing/test_regularisation.py index e00395fd..07ac19b2 100644 --- a/eprop_testing/test_regularisation.py +++ b/eprop_testing/test_regularisation.py @@ -1,3 +1,16 @@ +# Copyright (c) 2019 The University of Manchester +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. import spynnaker8 as p import numpy import math diff --git a/eprop_testing/test_single_plastic_update.py b/eprop_testing/test_single_plastic_update.py index 998b7a02..8c3c073f 100644 --- a/eprop_testing/test_single_plastic_update.py +++ b/eprop_testing/test_single_plastic_update.py @@ -1,3 +1,16 @@ +# Copyright (c) 2019 The University of Manchester +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. import pyNN.spiNNaker as pynn import numpy as np import matplotlib.pyplot as plt diff --git a/eprop_testing/test_sinusoid_learning.py b/eprop_testing/test_sinusoid_learning.py index fcfa2d37..f20ae422 100644 --- a/eprop_testing/test_sinusoid_learning.py +++ b/eprop_testing/test_sinusoid_learning.py @@ -1,3 +1,16 @@ +# Copyright (c) 2019 The University of Manchester +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. import pyNN.spiNNaker as pynn import numpy as np import matplotlib.pyplot as plt diff --git a/eprop_testing/test_synapse_state_evol.py b/eprop_testing/test_synapse_state_evol.py index 58e434c7..24291aed 100644 --- a/eprop_testing/test_synapse_state_evol.py +++ b/eprop_testing/test_synapse_state_evol.py @@ -1,3 +1,16 @@ +# Copyright (c) 2019 The University of Manchester +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. import pyNN.spiNNaker as pynn import numpy as np import matplotlib.pyplot as plt From d5c2cf12dac283f9cd3ddcd427695e0ed49cd589 Mon Sep 17 00:00:00 2001 From: Andrew Gait Date: Wed, 9 Aug 2023 10:01:43 +0100 Subject: [PATCH 67/68] Missing license and add to excludes --- .ratexcludes | 1 + eprop_testing/__init__.py | 13 +++++++++++++ 2 files changed, 14 insertions(+) diff --git a/.ratexcludes b/.ratexcludes index f63e4903..276e7df0 100644 --- a/.ratexcludes +++ b/.ratexcludes @@ -1,5 +1,6 @@ **/*.colour_map **/*.col +**/*.npy **/SpiNNUtils/** **/SpiNNMachine/** **/SpiNNMan/** diff --git a/eprop_testing/__init__.py b/eprop_testing/__init__.py index e69de29b..b5b04680 100644 --- a/eprop_testing/__init__.py +++ b/eprop_testing/__init__.py @@ -0,0 +1,13 @@ +# Copyright (c) 2019 The University of Manchester +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. From 1fcfef2016db93491e5ece51c6b738f571536fbe Mon Sep 17 00:00:00 2001 From: Andrew Gait Date: Wed, 9 Aug 2023 11:39:28 +0100 Subject: [PATCH 68/68] Not sure where these two files came from --- __init__.py | 0 setup.py | 84 ----------------------------------------------------- 2 files changed, 84 deletions(-) delete mode 100644 __init__.py delete mode 100644 setup.py diff --git a/__init__.py b/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/setup.py b/setup.py deleted file mode 100644 index 5daf02c2..00000000 --- a/setup.py +++ /dev/null @@ -1,84 +0,0 @@ -# Copyright (c) 2017-2019 The University of Manchester -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . - -try: - from setuptools import setup -except ImportError: - from distutils.core import setup -try: - from collections.abc import defaultdict -except ImportError: - from collections import defaultdict -import os - -__version__ = '1.0.27' - -# Build a list of all project modules, as well as supplementary files -main_package = "PyNN8Examples" -extensions = {".aplx", ".boot", ".cfg", ".json", ".sql", ".template", ".xml", - ".xsd"} -main_package_dir = os.path.join(os.path.dirname(__file__), main_package) -start = len(main_package_dir) -packages = [] -package_data = defaultdict(list) -for dirname, dirnames, filenames in os.walk(main_package_dir): - if '__init__.py' in filenames: - package = "{}{}".format( - main_package, dirname[start:].replace(os.sep, '.')) - packages.append(package) - for filename in filenames: - _, ext = os.path.splitext(filename) - if ext in extensions: - package = "{}{}".format( - main_package, dirname[start:].replace(os.sep, '.')) - package_data[package].append(filename) - -setup( - name="SpiNNaker_PyNN8Examples", - version=__version__, - description="Partition and Configuration Manager", - url="https://github.com/SpiNNakerManchester/PyNN8Examples", - license="GNU GPLv3.0", - classifiers=[ - "Development Status :: 3 - Alpha", - - "Intended Audience :: Developers", - "Intended Audience :: Science/Research", - - "License :: OSI Approved :: GNU General Public License v2 (GPLv2)", - - "Natural Language :: English", - - "Operating System :: POSIX :: Linux", - "Operating System :: Microsoft :: Windows", - "Operating System :: MacOS", - - "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.5", - "Programming Language :: Python :: 3.6", - "Programming Language :: Python :: 3.7", - ], - packages=packages, - package_data=package_data, - install_requires=[ - 'SpiNNUtilities >= 1!5.0.1, < 1!6.0.0', - 'SpiNNMachine >= 1!5.0.1, < 1!6.0.0', - 'six', - 'enum34', - 'future', - 'numpy'], - maintainer="SpiNNakerTeam", - maintainer_email="spinnakerusers@googlegroups.com" -)

LsVKbEWEHa{fud2zzCof}hTDst)ccfioHC?Lksc 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≤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

}TzM?(N6z0Nw|5vC`;+#2?Zw>WCwZ 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 z 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