Advertisement
toweber

nengo-learncommunication_channel1

Sep 19th, 2022
810
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.31 KB | None | 0 0
  1. # https://www.nengo.ai/nengo/examples/learning/learn-communication-channel.html
  2. import os
  3. import ipdb # ipdb.set_trace()
  4.  
  5. import matplotlib.pyplot as plt
  6. import numpy as np
  7.  
  8. import nengo
  9. from nengo.processes import WhiteSignal
  10. from nengo.solvers import LstsqL2
  11.  
  12. model = nengo.Network()
  13. with model:
  14.     inp = nengo.Node(WhiteSignal(60, high=5), size_out=2)
  15.     pre = nengo.Ensemble(60, dimensions=2)
  16.     nengo.Connection(inp, pre)
  17.     post = nengo.Ensemble(60, dimensions=2)
  18.     conn = nengo.Connection(pre, post, function=lambda x: np.random.random(2))
  19.     inp_p = nengo.Probe(inp)
  20.     pre_p = nengo.Probe(pre, synapse=0.01)
  21.     post_p = nengo.Probe(post, synapse=0.01)
  22.  
  23.  
  24. with nengo.Simulator(model) as sim:
  25.     sim.run(10.0)
  26.  
  27. plt.figure(figsize=(12, 8))
  28. plt.subplot(2, 1, 1)
  29. plt.plot(sim.trange(), sim.data[inp_p].T[0], c="k", label="Input")
  30. plt.plot(sim.trange(), sim.data[pre_p].T[0], c="b", label="Pre")
  31. plt.plot(sim.trange(), sim.data[post_p].T[0], c="r", label="Post")
  32. plt.ylabel("Dimension 1")
  33. plt.legend(loc="best")
  34. plt.subplot(2, 1, 2)
  35. plt.plot(sim.trange(), sim.data[inp_p].T[1], c="k", label="Input")
  36. plt.plot(sim.trange(), sim.data[pre_p].T[1], c="b", label="Pre")
  37. plt.plot(sim.trange(), sim.data[post_p].T[1], c="r", label="Post")
  38. plt.ylabel("Dimension 2")
  39. plt.legend(loc="best")
  40.  
  41. plt.show()
  42.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement