Changeset 390
- Timestamp:
- 06/24/08 15:45:55 (5 months ago)
- Files:
-
- trunk/src/nest1/__init__.py (modified) (1 diff)
- trunk/src/nest1/cells.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) (1 diff)
- trunk/test/IF_curr_alpha2.py (modified) (2 diffs)
- trunk/test/IF_curr_exp.py (modified) (1 diff)
- trunk/test/IF_curr_exp2.py (modified) (2 diffs)
- trunk/test/SpikeSourcePoisson.py (modified) (1 diff)
- trunk/test/runtests.py (modified) (9 diffs)
- trunk/test/simpleNetwork.py (modified) (2 diffs)
- trunk/test/simpleNetworkL.py (modified) (1 diff)
- trunk/test/small_network.py (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/src/nest1/__init__.py
r374 r390 269 269 else: 270 270 source = [pynest.getAddress(source)] 271 file_handle = filename.replace('/','_') 272 tmpfile = "%s/%s" %(tempdir, file_handle) 271 273 for src in source: 272 274 pynest.connect(src, spike_detector[0]) 273 tmpfile = "%s/%s" %(tempdir, filename) 274 pynest.sr('/%s (%s) (w) file def' % (filename, tmpfile)) 275 pynest.sr('%s << /output_stream %s >> SetStatus' % (pynest.getGID(spike_detector[0]), filename)) 275 pynest.sr('/%s (%s) (w) file def' % (file_handle, tmpfile)) 276 pynest.sr('%s << /output_stream %s >> SetStatus' % (pynest.getGID(spike_detector[0]), file_handle)) 276 277 recorders[filename] = ("spikes", tmpfile) 277 278 trunk/src/nest1/cells.py
r368 r390 45 45 nest_name = 'iaf_exp_neuron2' 46 46 47 class IF_cond_alpha(common.ModelNotAvailable): 48 pass 47 #class IF_cond_alpha(common.ModelNotAvailable): 49 48 50 # Note that Istim is not available in ia d_cond_neuron51 #class IF_cond_alpha(common.IF_cond_alpha):52 #"""Leaky integrate and fire model with fixed threshold and alpha-function-53 #shaped post-synaptic conductance."""54 #55 #translations = common.build_translations(56 #('v_rest', 'U0'),57 #('v_reset', 'Vreset'),58 #('cm', 'C', 1000.0), # C is in pF, cm in nF59 #('tau_m', 'gL', "cm/tau_m*1000.0", "C/gL"),60 #('tau_refrac', 'TauR', "max(get_time_step(), tau_refrac)", "TauR"),61 #('tau_syn_E', 'TauSyn_E'),62 #('tau_syn_I', 'TauSyn_I'),63 #('v_thresh', 'Theta'),64 #('i_offset', 'Istim', 1000.0), # I0 is in pA, i_offset in nA65 #('v_init', 'u'),66 #('e_rev_E', 'V_reversal_E'),67 #('e_rev_I', 'V_reversal_I'),68 #)69 #nest_name = "iaf_cond_neuron"49 # Note that Istim is not available in iaf_cond_neuron 50 class IF_cond_alpha(common.IF_cond_alpha): 51 """Leaky integrate and fire model with fixed threshold and alpha-function- 52 shaped post-synaptic conductance.""" 53 54 translations = common.build_translations( 55 ('v_rest', 'U0'), 56 ('v_reset', 'Vreset'), 57 ('cm', 'C', 1000.0), # C is in pF, cm in nF 58 ('tau_m', 'gL', "cm/tau_m*1000.0", "C/gL"), 59 ('tau_refrac', 'TauR', "max(get_time_step(), tau_refrac)", "TauR"), 60 ('tau_syn_E', 'TauSyn_E'), 61 ('tau_syn_I', 'TauSyn_I'), 62 ('v_thresh', 'Theta'), 63 ('i_offset', 'Istim', 1000.0), # I0 is in pA, i_offset in nA 64 ('v_init', 'u'), 65 ('e_rev_E', 'V_reversal_E'), 66 ('e_rev_I', 'V_reversal_I'), 67 ) 68 nest_name = "iaf_cond_neuron" 70 69 71 70 trunk/test/IF_cond_alpha.py
r384 r390 10 10 import sys 11 11 12 if hasattr(sys,"argv"): # run using python 13 simulator = sys.argv[-1] 14 else: 15 simulator = "neuron" # run using nrngui -python 16 12 simulator = sys.argv[-1] 17 13 18 14 exec("from pyNN.%s import *" % simulator) 19 20 15 21 16 setup(timestep=0.1,min_delay=0.1,max_delay=4.0) … … 32 27 connI = connect(spike_sourceI, ifcell, weight=0.02, synapse_type='inhibitory',delay=4.0) 33 28 34 record_v(ifcell, "IF_cond_alpha_%s.v" % simulator)29 record_v(ifcell, "Results/IF_cond_alpha_%s.v" % simulator) 35 30 36 31 run(200.0) trunk/test/IF_cond_exp.py
r384 r390 10 10 import sys 11 11 12 if hasattr(sys,"argv"): # run using python 13 simulator = sys.argv[-1] 14 else: 15 simulator = "neuron" # run using nrngui -python 16 12 simulator = sys.argv[-1] 17 13 18 14 exec("from pyNN.%s import *" % simulator) … … 32 28 connI = connect(spike_sourceI, ifcell, weight=0.02, synapse_type ='inhibitory',delay=4.0) 33 29 34 record_v(ifcell, "IF_cond_exp_%s.v" % simulator)30 record_v(ifcell, "Results/IF_cond_exp_%s.v" % simulator) 35 31 run(200.0) 36 32 trunk/test/IF_curr_alpha.py
r340 r390 28 28 connI = connect(spike_sourceI, ifcell, weight=-1.5, synapse_type='inhibitory', delay=4.0) 29 29 30 record_v(ifcell, "IF_curr_alpha_%s.v" % simulator)30 record_v(ifcell, "Results/IF_curr_alpha_%s.v" % simulator) 31 31 run(200.0) 32 32 trunk/test/IF_curr_alpha2.py
r341 r390 10 10 import sys 11 11 12 if hasattr(sys,"argv"): # run using python 13 simulator = sys.argv[-1] 14 else: 15 simulator = "neuron" # run using nrngui -python 16 12 simulator = sys.argv[-1] 17 13 18 14 exec("from pyNN.%s import *" % simulator) … … 27 23 conn = connect(spike_source,ifcells,weight=1.5) 28 24 29 record_v(ifcells[0], "IF_curr_alpha2_%s.v" % simulator)25 record_v(ifcells[0], "Results/IF_curr_alpha2_%s.v" % simulator) 30 26 run(100.0) 31 27 trunk/test/IF_curr_exp.py
r340 r390 28 28 connI = connect(spike_sourceI, ifcell, weight=-1.5, synapse_type='inhibitory', delay=4.0) 29 29 30 record_v(ifcell, "IF_curr_exp_%s.v" % simulator)30 record_v(ifcell, "Results/IF_curr_exp_%s.v" % simulator) 31 31 run(200.0) 32 32 trunk/test/IF_curr_exp2.py
r341 r390 8 8 from pyNN.random import NumpyRNG 9 9 10 if hasattr(sys,"argv"): # run using python 11 simulator = sys.argv[-1] 12 else: 13 simulator = "neuron" # run using nrngui -python 14 10 simulator = sys.argv[-1] 15 11 16 12 exec("from pyNN.%s import *" % simulator) … … 35 31 conn = connect(spike_source, ifcell, weight=1.5, synapse_type='excitatory', delay=2.0) 36 32 37 record(ifcell, "IF_curr_exp2_%s.ras" % simulator)38 record_v(ifcell, "IF_curr_exp2_%s.v" % simulator)33 record(ifcell, "Results/IF_curr_exp2_%s.ras" % simulator) 34 record_v(ifcell, "Results/IF_curr_exp2_%s.v" % simulator) 39 35 run(simtime) 40 36 trunk/test/SpikeSourcePoisson.py
r341 r390 10 10 import sys 11 11 12 if hasattr(sys,"argv"): # run using python 13 simulator = sys.argv[-1] 14 else: 15 simulator = "neuron" # run using nrngui -python 16 12 simulator = sys.argv[-1] 17 13 18 14 exec("from pyNN.%s import *" % simulator) 19 15 20 16 21 setup(timestep=0. 01, min_delay=0.01)17 setup(timestep=0.1, min_delay=0.1) 22 18 23 19 poissonsource = create(SpikeSourcePoisson,{'rate' : 100., 'duration' : 100., 'start' : 100.}) 24 20 25 record(poissonsource, "SpikeSourcePoisson_%s.ras" % simulator)21 record(poissonsource, "Results/SpikeSourcePoisson_%s.ras" % simulator) 26 22 run(300.0) 27 23 trunk/test/runtests.py
r341 r390 1 #!/usr/bin/env python2 1 """ Master script for running tests. 3 2 $Id$ … … 7 6 import numpy as N 8 7 import logging 8 import sys 9 9 10 10 logging.basicConfig(level=logging.DEBUG, … … 21 21 def run(cmd,engine): 22 22 #print 'Running "', cmd, '" with', engine.upper() 23 logfile = open("%s_%s.log" % (cmd,engine), 'w') 23 fail = False 24 logfile = open("Results/%s_%s.log" % (cmd,engine), 'w') 24 25 if engine in ('nest1', 'pcsim', 'nest2', 'neuron'): 25 cmd = 'python' + cmd + '.py ' + engine26 cmd = sys.executable + ' ' + cmd + '.py ' + engine 26 27 else: 27 28 logging.error('Invalid simulation engine "%s". Valid values are "nest1", "nest2", "pcsim", and "neuron"' % engine) … … 35 36 if match: 36 37 errorMsg = match.groupdict()['body'] 37 38 38 if len(errorMsg) > 0: 39 39 logging.error("\n=== %s Error =======================" % engine.upper()) 40 40 logging.error(" " + errorMsg.replace("\n","\n ")) 41 41 logging.error("=======================================") 42 sys.exit(2)42 raise Exception() 43 43 44 44 def sortTracesByCells(traces, gids): … … 71 71 try: 72 72 run(script, engine) 73 pattern = ' %s_*_%s.v' % (script, engine)73 pattern = 'Results/%s_*_%s.v' % (script, engine) 74 74 filenames = glob.glob(pattern) 75 75 if len(filenames) == 0: 76 pattern = ' %s_%s.v' % (script, engine)76 pattern = 'Results/%s_%s.v' % (script, engine) 77 77 filenames = glob.glob(pattern) 78 78 if filenames: … … 124 124 else: 125 125 logging.info("%s: Fail - %s" % (script, fail_message)) 126 126 return fail 127 127 128 128 def compare_rasters(script,mse_threshold,engines): … … 139 139 #if (True): 140 140 run(script, engine) 141 filenames = glob.glob('%s_*_%s.ras' % (script, engine)) 141 pattern = 'Results/%s_*_%s.ras' % (script, engine) 142 filenames = glob.glob(pattern) 142 143 if len(filenames) == 0: 143 filenames = glob.glob('%s_%s.ras' % (script, engine)) 144 pattern = 'Results/%s_%s.ras' % (script, engine) 145 filenames = glob.glob(pattern) 144 146 if filenames: 145 147 for filename in filenames: … … 158 160 rasters[engine].append(raster) 159 161 else: 160 fail = True; fail_message += "No files match glob pattern . "162 fail = True; fail_message += "No files match glob pattern %s. " % pattern 161 163 except Exception: 162 164 fail = True … … 191 193 if __name__ == "__main__": 192 194 193 engine_list = ("nest1", "neuron", "pcsim", "nest2") 194 195 engine_list = ["nest1", "neuron", "pcsim", "nest2"] 196 for engine in engine_list: 197 try: 198 exec("import pyNN.%s" % engine) 199 except ImportError, errmsg: 200 engine_list.remove(engine) 201 logging.warning("Unable to use %s: %s" % (engine, errmsg)) 202 if len(engine_list) < 2: 203 logging.error("Need at least two simulators to run tests.") 204 sys.exit(1) 205 logging.debug("Using the following simulators: %s" % ", ".join(engine_list)) 206 195 207 thresholds_v = {"IF_curr_alpha" : 0.26, 196 208 "IF_curr_exp" : 0.25, trunk/test/simpleNetwork.py
r341 r390 11 11 import sys 12 12 13 if hasattr(sys,"argv"): # run using python 14 simulator = sys.argv[-1] 15 else: 16 simulator = "neuron" # run using nrngui -python 13 simulator = sys.argv[-1] 17 14 18 15 exec("from pyNN.%s import *" % simulator) … … 41 38 run(tstop) 42 39 43 output_population.printSpikes(" simpleNetwork_output_%s.ras" % simulator)44 input_population.printSpikes(" simpleNetwork_input_%s.ras" % simulator)45 output_population.print_v(" simpleNetwork_output_%s.v" % simulator)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) 46 43 47 44 end() trunk/test/simpleNetworkL.py
r340 r390 34 34 conn2 = connect(spike_source, ifcell2, weight=1.0) 35 35 36 record_v(ifcell1, "simpleNetworkL_1_%s.v" % simulator)37 record_v(ifcell2, "simpleNetworkL_2_%s.v" % simulator)36 record_v(ifcell1, "Results/simpleNetworkL_1_%s.v" % simulator) 37 record_v(ifcell2, "Results/simpleNetworkL_2_%s.v" % simulator) 38 38 run(tstop) 39 39 trunk/test/small_network.py
r340 r390 57 57 run(simtime) 58 58 59 cells.printSpikes(" small_network_%s.ras" % (simulator, ))60 cells.print_v(" small_network_%s.v" % (simulator, ))59 cells.printSpikes("Results/small_network_%s.ras" % (simulator, )) 60 cells.print_v("Results/small_network_%s.v" % (simulator, )) 61 61 62 62 print "Mean firing rate: ", cells.meanSpikeCount()*1000.0/simtime, "Hz"

