当前位置: 首页>>代码示例>>Python>>正文


Python neuron.run函数代码示例

本文整理汇总了Python中pyNN.neuron.run函数的典型用法代码示例。如果您正苦于以下问题:Python run函数的具体用法?Python run怎么用?Python run使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了run函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: exercise1

def exercise1(v_rest = 65.0):
    ssp = p.Population(1, cellclass=p.SpikeSourcePoisson)
    ssp.set('rate', 30.)
    ssp.record()
    n = p.Population(1, cellclass=p.IF_cond_exp)

    n.record_v()
    n.record()
    n.record_gsyn()
    n.set('v_rest', v_rest) 
    prj = p.Projection(ssp, n, target="excitatory", method=p.AllToAllConnector())
    prj.setWeights(0.001)
    p.run(1000)
    gsyn = n.get_gsyn()
    pot = n.get_v()
    spikes = ssp.getSpikes()
    plot(pot[:,1], pot[:,2])
    plot(spikes[:,1], [max(pot[:,2])]*len(spikes), '|', color='r', markersize=20.0)

    xlabel('Time/ms')
    ylabel('Membrane potential/mV')
    title('EPSPs after excitatory postsynaptic signal')

    plot(gsyn[:,1], gsyn[:,2])
    plot(spikes[:,1], [0]*len(spikes), '|', color='r', markersize=20.0)

    xlabel('Time/ms')
    ylabel('Membrane potential/mV')
    title('Excitatory conductance')

    savefig('../output/day5figure2.png')

    return pot, gsyn, spikes
开发者ID:gittenberg,项目名称:NeuronaleProzesse2011,代码行数:33,代码来源:day5exercise1.py

示例2: exercise4_iandf

def exercise4_iandf():
    startTime = time.clock()
    hugs = p.Population(1, cellclass=p.IF_cond_exp)
    dcsource = p.DCSource(amplitude=0.9, start=100., stop=100000)
    dcsource.inject_into(hugs)
    p.run(100000.)
    print(time.clock() - startTime)
开发者ID:nebw,项目名称:NeuronaleProzesse2011,代码行数:7,代码来源:day4exercise1.py

示例3: run_simulation

def run_simulation(parameters, plot_figure=False):
    """

    """
    import pyNN.neuron as sim

    timestamp = datetime.now()
    model = build_model(**parameters["network"])
    if "full_filename" in parameters["experiment"]:
        xml_file = os.path.splitext(parameters["experiment"]["full_filename"])[0] + ".xml"
    else:
        xml_file = "{}.xml".format(parameters["experiment"]["base_filename"])
    model.write(xml_file)
    print("Exported model to file {}".format(xml_file))

    sim.setup(timestep=parameters["experiment"]["timestep"])

    print("Building network")
    net = Network(sim, xml_file)

    if plot_figure:
        stim = net.populations["Ext"]
        stim[:100].record('spikes')
        exc = net.populations["Exc"]
        exc.sample(50).record("spikes")
        exc.sample(1).record(["nrn_v", "syn_a"])
        inh = net.populations["Inh"]
        inh.sample(50).record("spikes")
        inh.sample(1).record(["nrn_v", "syn_a"])
    else:
        ##all = net.assemblies["All"]
        ##all.sample(parameters["experiment"]["n_record"]).record("spikes")
        net.populations["Ext"].sample(parameters["experiment"]["n_record"]).record("spikes")  ## debugging

    print("Running simulation")
    t_stop = parameters["experiment"]["duration"]
    pb = SimulationProgressBar(t_stop/80, t_stop)
    sim.run(t_stop, callbacks=[pb])

    print("Handling data")
    data = {}
    if plot_figure:
        data["stim"] = stim.get_data().segments[0]
        data["exc"] = exc.get_data().segments[0]
        data["inh"] = inh.get_data().segments[0]
    else:
        if "full_filename" in parameters["experiment"]:
            filename = parameters["experiment"]["full_filename"]
        else:
            filename = "{}_nineml_{:%Y%m%d%H%M%S}.h5".format(parameters["experiment"]["base_filename"],
                                                             timestamp)
        print("Writing data to {}".format(filename))
        ##all.write_data(filename)  ## debugging
        net.populations["Ext"].write_data(filename)

    sim.end()
    return data
开发者ID:INCF,项目名称:NineML_demo_2016,代码行数:57,代码来源:brunel_network_nineml.py

示例4: model_network

def model_network(param_dict):
    """
    This model network consists of a spike source and a neuron (IF_curr_alpha). 
    The spike rate of the source and the weight can be specified in the 
    param_dict. Returns the number of spikes fired during 1000 ms of simulation.
    
    Parameters:
    param_dict - dictionary with keys
                 rate - the rate of the spike source (spikes/second)
                 weight - weight of the connection source -> neuron
                 
    Returns:
    dictionary with keys:
        source_rate - the rate of the spike source
        weight - weight of the connection source -> neuron
        neuron_rate - spike rate of the neuron
    """ 
    #set up the network
    import pyNN.neuron as sim
    sim.setup(dt = 0.01,  min_delay = 1.,  max_delay = 1.,  debug = False,  
              quit_on_end = False)
    
    weight = param_dict['weight']
    
    import NeuroTools.stgen as stgen
    stgen = stgen.StGen()
    spiketrain = stgen.poisson_generator(param_dict['rate'], t_stop = 1000.)
    source = sim.Population(1, sim.SpikeSourceArray,  
                            {'spike_times':spiketrain.spike_times})
    neuron = sim.Population(1, sim.IF_cond_alpha)
    sim.Projection(source, neuron, 
                   method = sim.OneToOneConnector(weights = param_dict['weight'], 
                                                  delays = 1.))
    
    #set recorder
    neuron.record()
    neuron.record_v()
    
    #run the simulation
    sim.run(1001.)
    sim.end()
    
    # count the number of spikes
    spikes = neuron.getSpikes()
    numspikes = len(spikes)
    
    # return everything, including the input parameters
    return {'source_rate':param_dict['rate'], 
            'weight':param_dict['weight'], 
            'neuron_rate':numspikes }
开发者ID:JuergenNeubauer,项目名称:NeuroTools,代码行数:50,代码来源:parameter_search_example.py

示例5: run_simulation

def run_simulation(parameters, plot_figure=False):
    """

    """
    import pyNN.neuron as sim

    timestamp = datetime.now()
    model = build_model(**parameters["network"])
    if "full_filename" in parameters["experiment"]:
        xml_file = parameters["experiment"]["full_filename"].replace(".h5", ".xml")
    else:
        xml_file = "{}.xml".format(parameters["experiment"]["base_filename"])
    model.write(xml_file)
    print("Exported model to file {}".format(xml_file))

    sim.setup()

    print("Building network")
    net = Network(sim, xml_file)

    stim = net.populations["Ext"]
    stim.record('spikes')
    exc = net.populations["Exc"]
    exc.record("spikes")
    n_record = int(parameters["experiment"]["n_record"])
    exc[:n_record].record(["nrn_v", "syn_a"])

    print("Running simulation")
    t_stop = parameters["experiment"]["duration"]
    pb = SimulationProgressBar(t_stop/80, t_stop)
    sim.run(t_stop, callbacks=[pb])

    print("Handling data")
    data = {}
    if plot_figure:
        data["stim"] = stim.get_data().segments[0]
        data["exc"] = exc.get_data().segments[0]
        data["exc"].annotate(simulator="lib9ML with pyNN.neuron")
    else:
        if "full_filename" in parameters["experiment"]:
            filename = parameters["experiment"]["full_filename"]
        else:
            filename = "{}_nineml_{:%Y%m%d%H%M%S}.pkl".format(parameters["experiment"]["base_filename"],
                                                              timestamp)
        print("Writing data to {}".format(filename))
        exc.write_data(filename)

    sim.end()
    return data
开发者ID:INCF,项目名称:NineML_demo_2016,代码行数:49,代码来源:simple_network_nineml.py

示例6: exercise3

def exercise3():
    p.setup(quit_on_end=False, timestep=0.01)
    iandf = p.Population(1, cellclass=p.IF_cond_exp)
    dcsource = p.DCSource(amplitude=1.0, start=100.0, stop=1000.0)
    dcsource.inject_into(iandf)
    iandf.record()
    iandf.record_v()
    p.run(1200.0)
    pot = iandf.get_v()
    spikes = iandf.getSpikes()
    plot(pot[:, 1], pot[:, 2], color="b")
    plot(spikes[:, 1], [-60] * len(spikes), ".", color="r")
    line = axhline(y=-60, xmin=0, xmax=len(pot[:, 1]), color="r")
    xlabel("Time/ms")
    ylabel("Current/mV")
    savefig("../output/day4_figure3.png")
    show()
开发者ID:gittenberg,项目名称:NeuronaleProzesse2011,代码行数:17,代码来源:day4exercise1.py

示例7: exercise4_curve

def exercise4_curve(tau_refrac):
  hugs = p.Population(1, cellclass=p.IF_cond_exp)
  hugs.set("tau_refrac", tau_refrac)
  start = 100.
  stop = 1100.
  frequency = []
  currentSpace = linspace(0.1,5.0,50)
  for current in currentSpace:
    hugs.record()
    hugs.record_v()
    dcsource = p.DCSource(amplitude=current, start=start, stop=stop)
    dcsource.inject_into(hugs)
    p.run(1100.)
    spikes = hugs.getSpikes()
    frequency.append(len(spikes) / (stop - start))
    print(current, frequency[-1])
    p.reset() 
  return currentSpace, frequency
开发者ID:nebw,项目名称:NeuronaleProzesse2011,代码行数:18,代码来源:day4exercise1.py

示例8: sim

def sim(trial):
    global direction
    global inspikes
    global outspikes
    global outspikes2
    global outvolts
    direction=0
    #print direction
    p.reset()
    #for direction in dirs:
    for n in range(len(neuron)):
      neuron[n].set('spike_times',DATA[direction][n][trial])

    p.run(2000)

    outspikes=[0,0]
    outspikes2=[]
    outvolts=[]
    for i,o in enumerate(out):
        outspikes[i]=o.get_spike_counts().values()[0]
        outspikes2.append(o.getSpikes())
        outvolts.append(o.get_v())
    inspikes=[0,0,0,0,0]

    for i,n in enumerate(neuron):
        inspikes[i]=n.get_spike_counts().values()[0]
        
    """  
    fig = figure()
    ax = fig.add_subplot(1,1,1)
    hold(True)
    for i in range(nout):
        ax.plot(outspikes2[i][:,1],i*ones_like(outspikes2[i][:,1]),'b|')
    ax.set_ylim(-6,5)
    for i in range(nneurons):
   
#    ax.plot(DATA[direction][i][trial],-1-i*ones_like(DATA[direction][i][trial]),'r|')
        inspikes2=neuron[i].getSpikes()
        ax.plot(inspikes2,-1-i*ones_like(inspikes2),'r|')
    #ax2=fig.add_subplot(2,1,2)
    #ax2.plot(outvolts[0][:,1],outvolts[0][:,2])
    """
    return inspikes,outspikes
开发者ID:gittenberg,项目名称:NeuronaleProzesse2011,代码行数:43,代码来源:02basic.py

示例9: exercise3

def exercise3():
  figure(figsize=(10,6))
  p.setup(quit_on_end=False, timestep=0.01)
  iandf = p.Population(1, cellclass=p.IF_cond_exp)
  dcsource = p.DCSource(amplitude=1., start=100., stop=1000.)
  dcsource.inject_into(iandf)
  iandf.record()
  iandf.record_v()
  p.run(1200.)
  pot = iandf.get_v()
  spikes = iandf.getSpikes()
  plt = plot(pot[:,1], pot[:,2], color='b')
  spks = plot(spikes[:,1], [-49]*len(spikes), '.', color='r')
  legend((plt, spks), ('Membrane potential', 'Spike times'))
  xlabel('Time/ms')
  ylabel('Current/mV')
  title('Integrate and fire model neuron')
  savefig('../output/day4_figure3.png')
  show()
开发者ID:nebw,项目名称:NeuronaleProzesse2011,代码行数:19,代码来源:day4exercise1.py

示例10: exercise1

def exercise1():
    hugs = p.Population(1, cellclass=p.HH_cond_exp)
    dcsource = p.DCSource(amplitude=1.0, start=100.0, stop=600)
    dcsource.inject_into(hugs)

    hugs.record()
    hugs.record_v()

    p.run(1000.0)

    pot = hugs.get_v()
    spikes = hugs.getSpikes()

    plot(pot[:, 1], pot[:, 2])
    plot(spikes[:, 1], [-40] * len(spikes), ".", color="r")
    line = axhline(y=-40, xmin=0, xmax=len(pot[:, 1]), color="r")
    xlabel("Time/ms")
    ylabel("Current/mV")
    savefig("../output/day4_figure1.png")
    show()
开发者ID:gittenberg,项目名称:NeuronaleProzesse2011,代码行数:20,代码来源:day4exercise1.py

示例11: exercise2

def exercise2():
    hugs = p.Population(1, cellclass=p.HH_cond_exp)
    start = 100.0
    stop = 1100.0
    frequency = []
    currentSpace = linspace(0.1, 10, 100)
    for current in currentSpace:
        hugs.record()
        hugs.record_v()
        dcsource = p.DCSource(amplitude=current, start=start, stop=stop)
        dcsource.inject_into(hugs)
        p.run(1100.0)
        spikes = hugs.getSpikes()
        frequency.append(len(spikes) / (stop - start))
        p.reset()
    plot(currentSpace, frequency)
    xlabel("Current/nA")
    ylabel("Frequency/kHz")
    savefig("../output/day4_figure2.png")
    show()
开发者ID:gittenberg,项目名称:NeuronaleProzesse2011,代码行数:20,代码来源:day4exercise1.py

示例12: exercise1

def exercise1():
    figure(figsize=(10,6))

    hugs = p.Population(1, cellclass=p.HH_cond_exp)
    dcsource = p.DCSource(amplitude=1., start=100., stop=600)
    dcsource.inject_into(hugs)

    hugs.record()
    hugs.record_v()

    p.run(1000.)

    pot = hugs.get_v()
    spikes = hugs.getSpikes()

    plt = plot(pot[:,1], pot[:,2])
    spks = plot(spikes[:,1], [52]*len(spikes), 'D', color='r')
    xlabel('Time/ms')
    ylabel('Current/mV')
    legend((plt, spks), ('Membrane potential', 'Spike times'))
    title('Hodgkin-Huxley model neuron')
    savefig('../output/day4_figure1.png')
    show()
开发者ID:nebw,项目名称:NeuronaleProzesse2011,代码行数:23,代码来源:day4exercise1.py

示例13: exercise2

def exercise2():
  figure(figsize=(10,6))

  hugs = p.Population(1, cellclass=p.HH_cond_exp)
  start = 100.
  stop = 1100.
  frequency = []
  currentSpace = linspace(0.1,10,100)
  for current in currentSpace:
    hugs.record()
    hugs.record_v()
    dcsource = p.DCSource(amplitude=current, start=start, stop=stop)
    dcsource.inject_into(hugs)
    p.run(1100.)
    spikes = hugs.getSpikes()
    frequency.append(len(spikes) / (stop - start))
    p.reset() 
  plot(currentSpace, frequency)
  title('Current-frequency diagram for a HH model neuron')
  xlabel('Current/nA')
  ylabel('Frequency/kHz')
  savefig('../output/day4_figure2.png')
  show()
开发者ID:nebw,项目名称:NeuronaleProzesse2011,代码行数:23,代码来源:day4exercise1.py

示例14: exercise5

def exercise5(tau_m, v_thresh=-55.0):
    hugs = p.Population(1, cellclass=p.IF_cond_exp)
    hugs.set("tau_refrac", 2.0)
    hugs.set("tau_m", tau_m)
    hugs.set("v_thresh", v_thresh)

    start = 100.0
    stop = 400.0

    dcsource = p.DCSource(amplitude=0.95, start=start, stop=stop)
    dcsource.inject_into(hugs)

    hugs.record()
    hugs.record_v()

    p.run(500.0)

    pot = hugs.get_v()
    spikes = hugs.getSpikes()

    p.reset()

    return pot, spikes, (stop - start)
开发者ID:gittenberg,项目名称:NeuronaleProzesse2011,代码行数:23,代码来源:day4exercise1.py

示例15: simulate

def simulate():
    global direction
    global inspikes
    global outspikes
    global outspikes2
    global outvolts
    global prj
    print "Simulating..."
    # set inputs
    for ntrial in range(ntrials):
	for direction in dirs:
	    print "Training direction:", direction, ", trial:", ntrial+1
	    print "Reading data:"
	    trainingset = [DATA[direction][nneuron][ntrial] for nneuron in range(nneurons)]
	    trainingset = [trainingset[i][startstimulus < trainingset[i]] for i in range(nneurons)]
	    trainingset = [trainingset[i][trainingset[i] < endstimulus] for i in range(nneurons)]

	    # run simulation
	    p.reset()
	    for o in out:
		o.record()
		o.record_v()
	    for i, neuron in enumerate(neurons):
		neuron.set('spike_times', trainingset[i])
		#neuron[nneuron].set('spike_times',arange(1,1901,100))
		neuron.record()

	    p.run(2000)

	    outSpikeTimes = [[] for i in range(nout)]
	    outvolts = [[] for i in range(nout)]
	    ## plot spike trains
	    #fig = figure()
	    #hold(True)
	    #ax = fig.add_subplot(1,1,1)
	    #title("Direction "+str(direction)+", Trial "+str(ntrial+1))
	    for j, o in enumerate(out):
		spikes = list(o.getSpikes()[:,1])
		#print j, spikes, len(spikes), type(spikes)
		outSpikeTimes[j] = spikes
		outvolts[j] = o.get_v()
		print "--------------------------------"
		#print j, outSpikeTimes[j], len(outSpikeTimes[j])
		
		#ax.plot(outSpikeTimes[j], [j]*len(outSpikeTimes[j]), 'b|', markersize = 20.)

	    inspikes=[0 for i in range(nneurons)]
	    outspikes=[0 for i in range(nout)]
	    outspikes2=[]
	    outvolts=[]
	    for i,o in enumerate(out):
		outspikes[i] = o.get_spike_counts().values()[0]
		#outspikes2.append(o.getSpikes())
		outvolts.append(o.get_v())

	    for i,neuron in enumerate(neurons):
		inspikes[i] = neurons[i].get_spike_counts().values()[0]
		#print inspikes[i]

	    def learn():
		global direction
		global inspikes
		global outspikes
		global outspikes2
		global outvolts
		print "Learning..."
		#-----------------------------------------------------
		def updateWeights():
		    global direction
		    global inspikes
		    global outspikes
		    global outspikes2
		    global outvolts
		    global prj
		    print "outspikes:", outspikes
		    print "Updating..."
		    adjust=0.02
		    negadjust=0.02
		    nmax=inspikes.index(max(inspikes))
		    if (outspikes[0]<outspikes[1]) and (direction==dirs[1]):
			prj[2*nmax+1].setWeights(prj[2*nmax+1].getWeights()[0]+adjust)
			print 'correct 0'
			print "Updated to:", prj[2*nmax+1].getWeights()
		    elif (outspikes[0]>outspikes[1]) and (direction==dirs[0]): 
			prj[2*nmax+0].setWeights(prj[2*nmax+0].getWeights()[0]+adjust)
			print 'correct 3'
			print "Updated to:", prj[2*nmax+0].getWeights()
		    elif (outspikes[0]>=outspikes[1]) and (direction==dirs[1]):
			print 'wrong 0'
			prj[2*nmax+0].setWeights(max(0,prj[2*nmax+0].getWeights()[0]-negadjust))
			print "Updated to:", prj[2*nmax+0].getWeights()
		    elif (outspikes[0]<=outspikes[1]) and (direction==dirs[0]):
			prj[2*nmax+1].setWeights(max(0,prj[2*nmax+1].getWeights()[0]-negadjust))
			print 'wrong 3' 
			print "Updated to:", prj[2*nmax+1].getWeights()
		    else:
			print 'no 5'
		    print
		updateWeights()
		#-----------------------------------------------------
#.........这里部分代码省略.........
开发者ID:gittenberg,项目名称:NeuronaleProzesse2011,代码行数:101,代码来源:03_train_and_validate.py


注:本文中的pyNN.neuron.run函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。