Changeset 391
- Timestamp:
- 06/24/08 18:12:10 (5 months ago)
- Files:
-
- trunk/src/neuron/__init__.py (modified) (1 diff)
- trunk/test/IF_cond_alpha.py (modified) (2 diffs)
- trunk/test/IF_cond_exp.py (modified) (2 diffs)
- trunk/test/IF_curr_alpha.py (modified) (2 diffs)
- trunk/test/IF_curr_alpha2.py (modified) (2 diffs)
- trunk/test/IF_curr_exp.py (modified) (2 diffs)
- trunk/test/IF_curr_exp2.py (modified) (2 diffs)
- trunk/test/SpikeSourcePoisson.py (modified) (2 diffs)
- trunk/test/runtests.py (modified) (6 diffs)
- trunk/test/simpleNetwork.py (modified) (3 diffs)
- trunk/test/simpleNetworkL.py (modified) (2 diffs)
- trunk/test/small_network.py (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/src/neuron/__init__.py
r374 r391 592 592 if "cond" in tgt.cellclass.__name__: 593 593 weight = abs(weight) # weights must be positive for conductance-based synapses 594 else:595 if tgt in gidlist: # only create connections to cells that exist on this machine596 if p < 1:597 if rng: # use the supplied RNG598 rarr = self.rng.uniform(0,1, len(source))599 else: # use the default RNG600 rarr = numpy.random.uniform(0,1, len(source))601 for j, src in enumerate(source):602 if src > gid or src < 0 or not isinstance(src, int):603 raise common.ConnectionError, "Presynaptic cell id %s does not exist." % str(src)604 else:605 if p >= 1.0 or rarr[j] < p: # might be more efficient to vectorise the latter comparison606 hoc_commands += [#'nc = pc.gid_connect(%d, pc.gid2cell(%d).%s)' % (src, tgt, syn_objref),607 'nc = pc.gid_connect(%d, cell%d.%s)' % (src, tgt, syn_objref),608 'nc.delay = %g' % delay,609 'nc.weight = %g' % weight,610 'tmp = netconlist.append(nc)']611 ncid += 1612 else:613 for j, src in enumerate(source):614 if src > gid or src < 0 or not isinstance(src, int):615 raise common.ConnectionError, "Presynaptic cell id %s does not exist." % str(src)594 if tgt in gidlist: # only create connections to cells that exist on this machine 595 if p < 1: 596 if rng: # use the supplied RNG 597 rarr = self.rng.uniform(0,1, len(source)) 598 else: # use the default RNG 599 rarr = numpy.random.uniform(0,1, len(source)) 600 for j, src in enumerate(source): 601 if src > gid or src < 0 or not isinstance(src, int): 602 raise common.ConnectionError, "Presynaptic cell id %s does not exist." % str(src) 603 else: 604 if p >= 1.0 or rarr[j] < p: # might be more efficient to vectorise the latter comparison 605 hoc_commands += [#'nc = pc.gid_connect(%d, pc.gid2cell(%d).%s)' % (src, tgt, syn_objref), 606 'nc = pc.gid_connect(%d, cell%d.%s)' % (src, tgt, syn_objref), 607 'nc.delay = %g' % delay, 608 'nc.weight = %g' % weight, 609 'tmp = netconlist.append(nc)'] 610 ncid += 1 611 else: 612 for j, src in enumerate(source): 613 if src > gid or src < 0 or not isinstance(src, int): 614 raise common.ConnectionError, "Presynaptic cell id %s does not exist." % str(src) 615 print hoc_commands 616 616 hoc_execute(hoc_commands, "--- connect(%s,%s) ---" % (str(source), str(target))) 617 617 return range(nc_start, ncid) trunk/test/IF_cond_alpha.py
r390 r391 10 10 import sys 11 11 12 simulator = sys.argv[-1]12 simulator_name = sys.argv[-1] 13 13 14 exec("from pyNN.%s import *" % simulator )14 exec("from pyNN.%s import *" % simulator_name) 15 15 16 setup(timestep=0.1, min_delay=0.1,max_delay=4.0)16 setup(timestep=0.1, min_delay=0.1, max_delay=4.0, debug=True) 17 17 18 18 ifcell = create(IF_cond_alpha, {'i_offset' : 0.1, 'tau_refrac' : 3.0, … … 27 27 connI = connect(spike_sourceI, ifcell, weight=0.02, synapse_type='inhibitory',delay=4.0) 28 28 29 record_v(ifcell, "Results/IF_cond_alpha_%s.v" % simulator )29 record_v(ifcell, "Results/IF_cond_alpha_%s.v" % simulator_name) 30 30 31 31 run(200.0) trunk/test/IF_cond_exp.py
r390 r391 10 10 import sys 11 11 12 simulator = sys.argv[-1]12 simulator_name = sys.argv[-1] 13 13 14 exec("from pyNN.%s import *" % simulator )14 exec("from pyNN.%s import *" % simulator_name) 15 15 16 16 … … 28 28 connI = connect(spike_sourceI, ifcell, weight=0.02, synapse_type ='inhibitory',delay=4.0) 29 29 30 record_v(ifcell, "Results/IF_cond_exp_%s.v" % simulator )30 record_v(ifcell, "Results/IF_cond_exp_%s.v" % simulator_name) 31 31 run(200.0) 32 32 trunk/test/IF_curr_alpha.py
r390 r391 10 10 import sys 11 11 12 simulator = sys.argv[-1]12 simulator_name = sys.argv[-1] 13 13 14 exec("from pyNN.%s import *" % simulator )14 exec("from pyNN.%s import *" % simulator_name) 15 15 16 16 … … 28 28 connI = connect(spike_sourceI, ifcell, weight=-1.5, synapse_type='inhibitory', delay=4.0) 29 29 30 record_v(ifcell, "Results/IF_curr_alpha_%s.v" % simulator )30 record_v(ifcell, "Results/IF_curr_alpha_%s.v" % simulator_name) 31 31 run(200.0) 32 32 trunk/test/IF_curr_alpha2.py
r390 r391 10 10 import sys 11 11 12 simulator = sys.argv[-1]12 simulator_name = sys.argv[-1] 13 13 14 exec("from pyNN.%s import *" % simulator )14 exec("from pyNN.%s import *" % simulator_name) 15 15 16 16 17 id = setup(timestep=0. 01,min_delay=0.1)17 id = setup(timestep=0.1,min_delay=0.1) 18 18 19 19 ifcells = create(IF_curr_alpha, {'i_offset' : 0.1, 'tau_refrac' : 0.1, 'v_thresh' : -52.2},n=5) … … 23 23 conn = connect(spike_source,ifcells,weight=1.5) 24 24 25 record_v(ifcells[0], "Results/IF_curr_alpha2_%s.v" % simulator )25 record_v(ifcells[0], "Results/IF_curr_alpha2_%s.v" % simulator_name) 26 26 run(100.0) 27 27 trunk/test/IF_curr_exp.py
r390 r391 10 10 import sys 11 11 12 simulator = sys.argv[-1]12 simulator_name = sys.argv[-1] 13 13 14 exec("from pyNN.%s import *" % simulator )14 exec("from pyNN.%s import *" % simulator_name) 15 15 16 16 … … 28 28 connI = connect(spike_sourceI, ifcell, weight=-1.5, synapse_type='inhibitory', delay=4.0) 29 29 30 record_v(ifcell, "Results/IF_curr_exp_%s.v" % simulator )30 record_v(ifcell, "Results/IF_curr_exp_%s.v" % simulator_name) 31 31 run(200.0) 32 32 trunk/test/IF_curr_exp2.py
r390 r391 8 8 from pyNN.random import NumpyRNG 9 9 10 simulator = sys.argv[-1]10 simulator_name = sys.argv[-1] 11 11 12 exec("from pyNN.%s import *" % simulator )12 exec("from pyNN.%s import *" % simulator_name) 13 13 14 14 15 setup(timestep=0. 01, min_delay=2.0, max_delay=4.0)15 setup(timestep=0.1, min_delay=2.0, max_delay=4.0) 16 16 17 17 ifcell = create(IF_curr_exp,{'i_offset' : 0.1, 'tau_refrac' : 3.0, … … 31 31 conn = connect(spike_source, ifcell, weight=1.5, synapse_type='excitatory', delay=2.0) 32 32 33 record(ifcell, "Results/IF_curr_exp2_%s.ras" % simulator )34 record_v(ifcell, "Results/IF_curr_exp2_%s.v" % simulator )33 record(ifcell, "Results/IF_curr_exp2_%s.ras" % simulator_name) 34 record_v(ifcell, "Results/IF_curr_exp2_%s.v" % simulator_name) 35 35 run(simtime) 36 36 trunk/test/SpikeSourcePoisson.py
r390 r391 10 10 import sys 11 11 12 simulator = sys.argv[-1]12 simulator_name = sys.argv[-1] 13 13 14 exec("from pyNN.%s import *" % simulator )14 exec("from pyNN.%s import *" % simulator_name) 15 15 16 16 … … 19 19 poissonsource = create(SpikeSourcePoisson,{'rate' : 100., 'duration' : 100., 'start' : 100.}) 20 20 21 record(poissonsource, "Results/SpikeSourcePoisson_%s.ras" % simulator )21 record(poissonsource, "Results/SpikeSourcePoisson_%s.ras" % simulator_name) 22 22 run(300.0) 23 23 trunk/test/runtests.py
r390 r391 7 7 import logging 8 8 import sys 9 try: 10 import pylab 11 plotting = True 12 except ImportError: 13 plotting = False 9 14 10 15 logging.basicConfig(level=logging.DEBUG, … … 23 28 fail = False 24 29 logfile = open("Results/%s_%s.log" % (cmd,engine), 'w') 25 if engine in ('nest1', 'pcsim', 'nest2', 'neuron' ):30 if engine in ('nest1', 'pcsim', 'nest2', 'neuron', 'neuron2'): 26 31 cmd = sys.executable + ' ' + cmd + '.py ' + engine 27 32 else: 28 logging.error('Invalid simulation engine "%s". Valid values are "nest1", "nest2", "pcsim", and "neuron"' % engine)33 logging.error('Invalid simulation engine "%s". Valid values are "nest1", "nest2", "pcsim", "neuron", "neuron2"' % engine) 29 34 30 35 p = subprocess.Popen(cmd, shell=True, stdout=logfile, stderr=subprocess.PIPE, close_fds=True) … … 65 70 fail = False 66 71 fail_message = "" 72 73 if plotting: 74 fig = pylab.figure() 75 pylab.title(script) 67 76 68 77 for engine in engines: … … 91 100 trace = sortTracesByCells(trace, position) 92 101 traces[engine].append(trace) 102 if plotting: 103 pylab.plot(trace, label=engine) 93 104 else: 94 105 fail = True; fail_message += "No files match glob pattern. %s" % pattern … … 96 107 fail = True 97 108 fail_message += "Exception raised in %s. " % engine.upper() 109 110 if plotting: 111 pylab.legend() 112 pylab.savefig("Results/%s.png" % script) 98 113 99 114 if not fail: … … 193 208 if __name__ == "__main__": 194 209 195 engine_list = ["nest1", "neuron", "pcsim", "nest2" ]210 engine_list = ["nest1", "neuron", "pcsim", "nest2", "neuron2"] 196 211 for engine in engine_list: 197 212 try: trunk/test/simpleNetwork.py
r390 r391 11 11 import sys 12 12 13 simulator = sys.argv[-1]13 simulator_name = sys.argv[-1] 14 14 15 exec("from pyNN.%s import *" % simulator )15 exec("from pyNN.%s import *" % simulator_name) 16 16 17 17 from NeuroTools.stgen import StGen … … 29 29 input_population = Population(1, SpikeSourceArray, {'spike_times': spike_times }, "input") 30 30 31 projection = Projection(input_population, output_population, 'allToAll')31 projection = Projection(input_population, output_population, AllToAllConnector()) 32 32 projection.setWeights(1.0) 33 33 … … 38 38 run(tstop) 39 39 40 output_population.printSpikes("Results/simpleNetwork_output_%s.ras" % simulator )41 input_population.printSpikes("Results/simpleNetwork_input_%s.ras" % simulator )42 output_population.print_v("Results/simpleNetwork_output_%s.v" % simulator )40 output_population.printSpikes("Results/simpleNetwork_output_%s.ras" % simulator_name) 41 input_population.printSpikes("Results/simpleNetwork_input_%s.ras" % simulator_name) 42 output_population.print_v("Results/simpleNetwork_output_%s.v" % simulator_name) 43 43 44 44 end() trunk/test/simpleNetworkL.py
r390 r391 12 12 import sys 13 13 14 simulator = sys.argv[-1]14 simulator_name = sys.argv[-1] 15 15 16 exec("from pyNN.%s import *" % simulator )16 exec("from pyNN.%s import *" % simulator_name) 17 17 18 18 from NeuroTools.stgen import StGen … … 34 34 conn2 = connect(spike_source, ifcell2, weight=1.0) 35 35 36 record_v(ifcell1, "Results/simpleNetworkL_1_%s.v" % simulator )37 record_v(ifcell2, "Results/simpleNetworkL_2_%s.v" % simulator )36 record_v(ifcell1, "Results/simpleNetworkL_1_%s.v" % simulator_name) 37 record_v(ifcell2, "Results/simpleNetworkL_2_%s.v" % simulator_name) 38 38 run(tstop) 39 39 trunk/test/small_network.py
r390 r391 12 12 import sys 13 13 14 simulator = sys.argv[-1]14 simulator_name = sys.argv[-1] 15 15 16 exec("from pyNN.%s import *" % simulator )16 exec("from pyNN.%s import *" % simulator_name) 17 17 from NeuroTools.stgen import StGen 18 18 … … 49 49 cells.record_v() 50 50 51 input_conns = Projection(spike_source, cells,'allToAll')51 input_conns = Projection(spike_source, cells, AllToAllConnector()) 52 52 input_conns.setWeights(w) 53 53 input_conns.setDelays(syn_delay) … … 57 57 run(simtime) 58 58 59 cells.printSpikes("Results/small_network_%s.ras" % (simulator , ))60 cells.print_v("Results/small_network_%s.v" % (simulator , ))59 cells.printSpikes("Results/small_network_%s.ras" % (simulator_name, )) 60 cells.print_v("Results/small_network_%s.v" % (simulator_name, )) 61 61 62 62 print "Mean firing rate: ", cells.meanSpikeCount()*1000.0/simtime, "Hz"

