Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
35 changes: 8 additions & 27 deletions balanced_random/split/balanced_random_split.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,8 @@
from pyNN.random import RandomDistribution
from pyNN.utility.plotting import Figure, Panel
import pyNN.spiNNaker as p
from spynnaker.pyNN.extra_algorithms.splitter_components import (
SplitterPoissonDelegate, SplitterPopulationVertexNeuronsSynapses)

p.setup(timestep=0.1, time_scale_factor=1)
p.setup(timestep=0.1)
p.set_number_of_neurons_per_core(p.IF_curr_exp, 64)
p.set_number_of_neurons_per_core(p.SpikeSourcePoisson, 64)
n_neurons = 500
Expand All @@ -30,32 +28,15 @@
weight_inh = -5.0 * weight_exc
weight_input = 0.001

pop_input_splitter = SplitterPoissonDelegate()
pop_input = p.Population(100, p.SpikeSourcePoisson(rate=0.0),
additional_parameters={
"max_rate": 50.0,
"seed": 0,
"splitter": pop_input_splitter},
label="Input")

pop_exc_splitter = \
SplitterPopulationVertexNeuronsSynapses(1, 128, False)
pop_exc = p.Population(n_exc, p.IF_curr_exp, label="Excitatory",
additional_parameters={"splitter": pop_exc_splitter,
"seed": 1})
pop_inh_splitter = \
SplitterPopulationVertexNeuronsSynapses(1, 128, False)
pop_inh = p.Population(n_inh, p.IF_curr_exp, label="Inhibitory",
additional_parameters={"splitter": pop_inh_splitter,
"seed": 2})
stim_exc_splitter = SplitterPoissonDelegate()
pop_input = p.Population(
100, p.SpikeSourcePoisson(rate=0.0), label="Input", seed=0, max_rate=50.0)

pop_exc = p.Population(n_exc, p.IF_curr_exp, label="Excitatory", seed=1)
pop_inh = p.Population(n_inh, p.IF_curr_exp, label="Inhibitory", seed=2)
stim_exc = p.Population(
n_exc, p.SpikeSourcePoisson(rate=1000.0), label="Stim_Exc",
additional_parameters={"seed": 3, "splitter": stim_exc_splitter})
stim_inh_splitter = SplitterPoissonDelegate()
n_exc, p.SpikeSourcePoisson(rate=1000.0), label="Stim_Exc", seed=3)
stim_inh = p.Population(
n_inh, p.SpikeSourcePoisson(rate=1000.0), label="Stim_Inh",
additional_parameters={"seed": 4, "splitter": stim_inh_splitter})
n_inh, p.SpikeSourcePoisson(rate=1000.0), label="Stim_Inh", seed=4)

delays_exc = RandomDistribution(
"normal_clipped", mu=1.5, sigma=0.75, low=1.0, high=1.6)
Expand Down
2 changes: 0 additions & 2 deletions balanced_random/split/spynnaker.cfg

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,9 @@
from pyNN.random import RandomDistribution
from pyNN.utility.plotting import Figure, Panel

p.setup(timestep=0.1)
# We need a time scale factor here as we are interacting live, so too fast
# otherwise!
p.setup(timestep=0.1, time_scale_factor=10.0)
p.set_number_of_neurons_per_core(p.SpikeSourcePoisson, 50)
n_neurons = 500
n_exc = int(round(n_neurons * 0.8))
Expand Down
20 changes: 4 additions & 16 deletions examples/split_examples/pynnBrunnelSplit.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,6 @@
import matplotlib.pyplot as plt
from pyNN.random import RandomDistribution
from pyNN.utility.plotting import Figure, Panel
from spynnaker.pyNN.extra_algorithms.splitter_components import (
SplitterPopulationVertexNeuronsSynapses, SplitterPoissonDelegate)

simulator_Name = 'spiNNaker'
# exec('import pyNN.%s as pynn' % simulator_Name)
Expand Down Expand Up @@ -164,26 +162,16 @@ def poisson_generator(rate, rng, t_start=0.0, t_stop=1000.0, array=True,
}

# Set-up pynn Populations
E_pop_splitter = SplitterPopulationVertexNeuronsSynapses(3, 128, False)
E_pop = pynn.Population(
N_E, pynn.IF_curr_exp(**exc_cell_params), label="E_pop",
additional_parameters={"splitter": E_pop_splitter}, seed=1)
N_E, pynn.IF_curr_exp(**exc_cell_params), label="E_pop", seed=1)

I_pop_splitter = SplitterPopulationVertexNeuronsSynapses(3, 128, False)
I_pop = pynn.Population(
N_I, pynn.IF_curr_exp(**inh_cell_params), label="I_pop",
additional_parameters={"splitter": I_pop_splitter}, seed=2)
N_I, pynn.IF_curr_exp(**inh_cell_params), label="I_pop", seed=2)

Poiss_ext_E_splitter = SplitterPoissonDelegate()
Poiss_ext_E = pynn.Population(
N_E, pynn.SpikeSourcePoisson(rate=10.0), label="Poisson_pop_E",
additional_parameters={"seed": 3,
"splitter": Poiss_ext_E_splitter})
Poiss_ext_I_splitter = SplitterPoissonDelegate()
N_E, pynn.SpikeSourcePoisson(rate=10.0), label="Poisson_pop_E", seed=3)
Poiss_ext_I = pynn.Population(
N_I, pynn.SpikeSourcePoisson(rate=10.0), label="Poisson_pop_I",
additional_parameters={"seed": 4,
"splitter": Poiss_ext_I_splitter})
N_I, pynn.SpikeSourcePoisson(rate=10.0), label="Poisson_pop_I", seed=4)

# Connectors
E_conn = pynn.FixedProbabilityConnector(epsilon)
Expand Down
2 changes: 0 additions & 2 deletions examples/split_examples/spynnaker.cfg

This file was deleted.

14 changes: 5 additions & 9 deletions examples/split_examples/stdp_neuromodulated_example_split.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,9 +26,6 @@
post-synaptic neurons to the same stimuli.
"""

from spynnaker.pyNN.extra_algorithms.splitter_components import (
SplitterPopulationVertexNeuronsSynapses)

import pyNN.spiNNaker as sim
import pylab

Expand Down Expand Up @@ -59,6 +56,7 @@
}

sim.setup(timestep=timestep)
sim.set_number_of_synapse_cores(sim.IF_curr_exp, 1)

# Create a population of dopaminergic neurons for reward and punishment
reward_pop = sim.Population(n_neurons, sim.SpikeSourceArray,
Expand All @@ -70,7 +68,6 @@
pre_pops = []
stimulation = []
post_pops = []
post_splitters = []
reward_projections = []
punishment_projections = []
plastic_projections = []
Expand All @@ -85,12 +82,11 @@
weight=plastic_weights)

for i in range(n_pops):
stimulation.append(sim.Population(n_neurons, sim.SpikeSourcePoisson,
{'rate': stim_rate, 'duration': duration}, label="pre"))
post_splitters.append(SplitterPopulationVertexNeuronsSynapses(2))
stimulation.append(sim.Population(
n_neurons, sim.SpikeSourcePoisson(rate=stim_rate, duration=duration),
label="pre"))
post_pops.append(sim.Population(
n_neurons, sim.IF_curr_exp, cell_params, label='post',
additional_parameters={"splitter": post_splitters[i]}))
n_neurons, sim.IF_curr_exp, cell_params, label='post'))
plastic_projections.append(
sim.Projection(stimulation[i], post_pops[i],
sim.OneToOneConnector(),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,9 +31,6 @@
STDP, structural plasticity and neuron instructions would not fit on one core
"""

from spynnaker.pyNN.extra_algorithms.splitter_components import (
SplitterPopulationVertexNeuronsSynapses)

import pyNN.spiNNaker as sim
import pylab
import numpy as np
Expand Down Expand Up @@ -76,7 +73,6 @@
pre_pops = []
stimulation = []
post_pops = []
post_splitters = []
reward_projections = []
punishment_projections = []
plastic_projections = []
Expand Down Expand Up @@ -118,12 +114,11 @@
weight_dependence=sim.AdditiveWeightDependence(w_min=0, w_max=5.0))

for i in range(n_pops):
stimulation.append(sim.Population(n_neurons, sim.SpikeSourcePoisson,
{'rate': stim_rate, 'duration': duration}, label="pre"))
post_splitters.append(SplitterPopulationVertexNeuronsSynapses(1))
stimulation.append(sim.Population(
n_neurons, sim.SpikeSourcePoisson(rate=stim_rate, duration=duration),
label="pre"))
post_pops.append(sim.Population(
n_neurons, sim.IF_curr_exp, cell_params, label='post',
additional_parameters={"splitter": post_splitters[i]}))
n_neurons, sim.IF_curr_exp, cell_params, label='post'))
plastic_projections.append(
sim.Projection(stimulation[i], post_pops[i],
sim.FixedProbabilityConnector(0.), # no initial conns
Expand Down
16 changes: 4 additions & 12 deletions examples/split_examples/va_benchmark_split.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,6 @@
from pyNN.utility import Timer
from pyNN.utility.plotting import Figure, Panel
import matplotlib.pyplot as plt
from spynnaker.pyNN.extra_algorithms.splitter_components import (
SplitterPopulationVertexNeuronsSynapses)


simulator_name = 'spiNNaker'
Expand Down Expand Up @@ -126,10 +124,8 @@
timestep=dt, min_delay=delay, db_name='va_benchmark.sqlite', **extra)

if simulator_name == 'spiNNaker':
p.set_number_of_neurons_per_core(p.IF_curr_exp, 100) # this will set
# 100 neurons per core
p.set_number_of_neurons_per_core(p.IF_cond_exp, 50) # this will set
# 50 neurons per core
p.set_number_of_neurons_per_core(p.IF_curr_exp, 100)
p.set_number_of_neurons_per_core(p.IF_cond_exp, 50)
np = 1

host_name = socket.gethostname()
Expand Down Expand Up @@ -158,14 +154,10 @@
timer.start()

print("%s Creating cell populations..." % node_id)
exc_cells_splitter = SplitterPopulationVertexNeuronsSynapses(2)
exc_cells = p.Population(
n_exc, celltype(**cell_params), label="Excitatory_Cells",
additional_parameters={"splitter": exc_cells_splitter}, seed=1)
inh_cells_splitter = SplitterPopulationVertexNeuronsSynapses(3)
n_exc, celltype(**cell_params), label="Excitatory_Cells", seed=1)
inh_cells = p.Population(
n_inh, celltype(**cell_params), label="Inhibitory_Cells",
additional_parameters={"splitter": inh_cells_splitter}, seed=2)
n_inh, celltype(**cell_params), label="Inhibitory_Cells", seed=2)
exc_conn = None
ext_stim = None
if benchmark == "COBA":
Expand Down
2 changes: 0 additions & 2 deletions learning/split/spynnaker.cfg

This file was deleted.

23 changes: 7 additions & 16 deletions learning/split/stdp_split.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,38 +15,29 @@
import pyNN.utility.plotting as plot
import matplotlib.pyplot as plt
import pyNN.spiNNaker as sim
from spynnaker.pyNN.extra_algorithms.splitter_components import (
SplitterPopulationVertexNeuronsSynapses, SplitterPoissonDelegate)

n_neurons = 192
simtime = 5000

sim.setup(timestep=1.0)
sim.set_number_of_neurons_per_core(sim.IF_curr_exp, 64)
sim.set_number_of_synapse_cores(sim.IF_curr_exp, 1)
sim.set_allow_delay_extensions(sim.IF_curr_exp, False)

pre_splitter = SplitterPopulationVertexNeuronsSynapses(1, 128, False)
pre_pop = sim.Population(
n_neurons, sim.IF_curr_exp(), label="Pre", additional_parameters={
"splitter": pre_splitter})
post_splitter = SplitterPopulationVertexNeuronsSynapses(1, 128, False)
post_pop = sim.Population(
n_neurons, sim.IF_curr_exp(), label="Post", additional_parameters={
"splitter": post_splitter})
pre_pop = sim.Population(n_neurons, sim.IF_curr_exp(), label="Pre")
post_pop = sim.Population(n_neurons, sim.IF_curr_exp(), label="Post")
pre_noise = sim.Population(
n_neurons, sim.SpikeSourcePoisson(rate=10.0), label="Noise_Pre",
additional_parameters={"splitter": SplitterPoissonDelegate()})
n_neurons, sim.SpikeSourcePoisson(rate=10.0), label="Noise_Pre")
post_noise = sim.Population(
n_neurons, sim.SpikeSourcePoisson(rate=10.0), label="Noise_Post",
additional_parameters={"splitter": SplitterPoissonDelegate()})
n_neurons, sim.SpikeSourcePoisson(rate=10.0), label="Noise_Post")

pre_pop.record("spikes")
post_pop.record("spikes")

training = sim.Population(
n_neurons,
sim.SpikeSourcePoisson(rate=10.0, start=1500.0, duration=1500.0),
label="Training",
additional_parameters={"splitter": SplitterPoissonDelegate()})
label="Training")

sim.Projection(pre_noise, pre_pop, sim.OneToOneConnector(),
synapse_type=sim.StaticSynapse(weight=2.0))
Expand Down
23 changes: 7 additions & 16 deletions learning/split/struct_pl_split.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,37 +16,28 @@
import numpy
import pyNN.utility.plotting as plot
import pyNN.spiNNaker as sim
from spynnaker.pyNN.extra_algorithms.splitter_components import (
SplitterPopulationVertexNeuronsSynapses, SplitterPoissonDelegate)

n_neurons = 64
simtime = 5000

sim.setup(timestep=1.0)
sim.set_number_of_synapse_cores(sim.IF_curr_exp, 1)
sim.set_allow_delay_extensions(sim.IF_curr_exp, False)

pre_splitter = SplitterPopulationVertexNeuronsSynapses(1, 128, False)
pre_pop = sim.Population(
n_neurons, sim.IF_curr_exp(), label="Pre", additional_parameters={
"splitter": pre_splitter})
post_splitter = SplitterPopulationVertexNeuronsSynapses(1, 128, False)
post_pop = sim.Population(
n_neurons, sim.IF_curr_exp(), label="Post", additional_parameters={
"splitter": post_splitter})
pre_pop = sim.Population(n_neurons, sim.IF_curr_exp(), label="Pre")
post_pop = sim.Population(n_neurons, sim.IF_curr_exp(), label="Post")
pre_noise = sim.Population(
n_neurons, sim.SpikeSourcePoisson(rate=10.0), label="Noise_Pre",
additional_parameters={"splitter": SplitterPoissonDelegate()})
n_neurons, sim.SpikeSourcePoisson(rate=10.0), label="Noise_Pre")
post_noise = sim.Population(
n_neurons, sim.SpikeSourcePoisson(rate=10.0), label="Noise_Post",
additional_parameters={"splitter": SplitterPoissonDelegate()})
n_neurons, sim.SpikeSourcePoisson(rate=10.0), label="Noise_Post")

pre_pop.record("spikes")
post_pop.record("spikes")

training = sim.Population(
n_neurons,
sim.SpikeSourcePoisson(rate=10.0, start=1500.0, duration=1500.0),
label="Training",
additional_parameters={"splitter": SplitterPoissonDelegate()})
label="Training")

sim.Projection(pre_noise, pre_pop, sim.OneToOneConnector(),
synapse_type=sim.StaticSynapse(weight=2.0))
Expand Down
23 changes: 7 additions & 16 deletions learning/split/struct_pl_stdp_split.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,38 +16,29 @@
import numpy
import pyNN.spiNNaker as sim
import pyNN.utility.plotting as plot
from spynnaker.pyNN.extra_algorithms.splitter_components import (
SplitterPopulationVertexNeuronsSynapses, SplitterPoissonDelegate)

n_neurons = 192
simtime = 5000

sim.setup(timestep=1.0)
sim.set_number_of_synapse_cores(sim.IF_curr_exp, 1)
sim.set_allow_delay_extensions(sim.IF_curr_exp, False)

sim.set_number_of_neurons_per_core(sim.IF_curr_exp, 64)
pre_splitter = SplitterPopulationVertexNeuronsSynapses(1, 128, False)
pre_pop = sim.Population(
n_neurons, sim.IF_curr_exp(), label="Pre", additional_parameters={
"splitter": pre_splitter})
post_splitter = SplitterPopulationVertexNeuronsSynapses(1, 128, False)
post_pop = sim.Population(
n_neurons, sim.IF_curr_exp(), label="Post", additional_parameters={
"splitter": post_splitter})
pre_pop = sim.Population(n_neurons, sim.IF_curr_exp(), label="Pre")
post_pop = sim.Population(n_neurons, sim.IF_curr_exp(), label="Post")
pre_noise = sim.Population(
n_neurons, sim.SpikeSourcePoisson(rate=10.0), label="Noise_Pre",
additional_parameters={"splitter": SplitterPoissonDelegate()})
n_neurons, sim.SpikeSourcePoisson(rate=10.0), label="Noise_Pre")
post_noise = sim.Population(
n_neurons, sim.SpikeSourcePoisson(rate=10.0), label="Noise_Post",
additional_parameters={"splitter": SplitterPoissonDelegate()})
n_neurons, sim.SpikeSourcePoisson(rate=10.0), label="Noise_Post")

pre_pop.record("spikes")
post_pop.record("spikes")

training = sim.Population(
n_neurons,
sim.SpikeSourcePoisson(rate=10.0, start=1500.0, duration=1500.0),
label="Training",
additional_parameters={"splitter": SplitterPoissonDelegate()})
label="Training")

sim.Projection(pre_noise, pre_pop, sim.OneToOneConnector(),
synapse_type=sim.StaticSynapse(weight=2.0))
Expand Down
Loading