본문 바로가기

Nengo

Nengo tutorial

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