neurali:nest_tutorial1
Tutorial (part one)
Come sempre Python, può essere anche usato interattivamente. Ma in tal caso bisogna resettare il simulatore alla fine di ogni simulazione usando ResetKernel() e/o ResetNetwork() per liberare la memoria da nodi e connessioni.
import nest
- Necessaria solo per la rappresentazione grafica (vedi dopo)
import pylab
- creare un nodo di tipo iaf_neuron, o altri tipi=….
neuroid = nest.Create("iaf_neuron")
- ottenere le proprietà del dictionary, come una corrente di background o una tensione threshold
nest.GetStatus(neuroid)
nest.GetStatus(neuroid,"I_e")
nest.GetStatus(neuroid,"V_th")
- modificare le proprietà (dictionary)
nest.SetStatus(neuroid,{"I_e":300.0})
- registrare l'output tramite un nodo multimetro
multiid= nest.Create("multimeter")
nest.SetStatus(multiid, {"withtime":True,"record_from":["V m]})
- Connessione! Anche qui si possono impostare delle proprietà delle sinapsi (peso, delay)
nest.Connect(multiid, neuroid)
- Simulazione in azione! (non visibile)
nest.Simulate(1000.0)
- Estrazione dati associati al primio elemento
primodmm = nest.GetStatus(multiid)[0] tensioni = primodmm["events"]["V_m"] tempi = primodmm["events"]["times"]
- Visualizzazione dati
pylab.figure(1) pylab.plot(tempi, tensioni)
I parametri predefiniti del dictionary del modello di un neurone possono essere modificati subito prima di usare questo modello per creare una nuova lista di neuroni, in modo che tutti i nuovi neuroni abbiano questi valori nei propri parametri. Questo evita di usare il già visto “nest.SetStatus”.
nest.SetDefault("iaf_neuron",{"I_e":200.0})
neurali/nest_tutorial1.txt · Last modified: 2020/06/08 22:20 by 127.0.0.1