Intro Nengo
Creating Nengo Objects
Nengo에서 object를 만들때 with 사용.
nengo.Ensemble 은 한 그룹의 neuron을 표현. 아래 예시에서는 40개의 neuron 과 1d signal 표현 (default 로 neuron은 LIF)
with net:
my_ensemble = nengo.Ensemble(n_neurons=40, dimensions=1)
input을 주기위해서 nengo.Node 사용.
output에 다양하게 줄수 있음.
with net:
my_node = nengo.Node(output=0.5) # mynode emits 0.5
sin_node = nengo.Node(output=np.sin) # mynode emits a sine wave
Connecting Nengo objects
my_node 와 my_ensemble 을 연결. 즉, my_ensemble은 40개의 neuron이 0.5를 표현.
with net:
nengo.Connection(my_node, my_ensemble)
dimensions 이용하여 다른 connection 도 연결가능.
with net:
two_d_ensemble = nengo.Ensemble(n_neurons=80, dimensions=2)
nengo.Connection(sin_node, two_d_ensemble[0])
nengo.Connection(my_ensemble, two_d_ensemble[1]) #my_ensemble 과 same value
connection 할때 function 이용하는 것도 가능.
def product(x):
return x[0] * x[1]
with net:
product_ensemble = nengo.Ensemble(n_neurons=40, dimensions=1)
nengo.Connection(two_d_ensemble, product_ensemble, function=product) #function=np.square 도 가능
Probing Nengo objects
connection 된 model 이 있을경우 nengo.Probe 이용해서 측정할 object 결정.
with net:
two_d_probe = nengo.Probe(two_d_ensemble, synapse=0.01)
product_probe = nengo.Probe(product_ensemble, synapse=0.01)
여기서 synapse 에 주어지는 value 는 'time constant' 임.
Running an experiment
model 구성하고, 측정할 object도 결정했으면 run 해서 data 얻을 수 있음.
sim = nengo.Simulator(net) #build simulator
sim.run(5.0) # run the simulator for five seconds
print(sim.data[product_probe][-10:] # print data
Nengo tutorial
representing value , computing function
https://www.nengo.ai/nengo/examples.html#under-the-hood
https://drive.google.com/drive/folders/1Jk_31GSKC2sdbKsvHJPLYGM2Rf_hdPD0
A single neuron
Uploaded by N2T
'Nengo' 카테고리의 다른 글
nengo 5주차 (0) | 2022.06.14 |
---|---|
nengo 하고싶은 것 (0) | 2022.06.14 |
3주차 (0) | 2022.06.14 |
210714_nengo_2주차_hyperpolarization답변 (0) | 2022.06.14 |
Hyperpolarization recovery (0) | 2022.06.14 |