You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Objective of issue: It would be greatly desirable if we could change parameters of a Loihi2FLearningRule during runtime, particularly for the CPU and/or GPU implimenations.
Lava version:
0.6.0 (feature release)
0.5.1 (bug fixes)
0.5.0 (current version)
0.4.1
0.4.0
0.3.0
0.1.2
I'm submitting a ...
bug report
feature request
documentation request
Current behavior:
The ability to change a learning rule during runtime is needed in order to do research into optimizing learning rules (meta-learning). One option would be to recreate the learning synapse over and over again. Besides being slower, this option is not a possibility because of issue 336 (Memory error after reinitializing and stopping a 2 LIF proccess network multiple times #336).
Expected behavior:
It would be amazing if there was something like there is for Dense synapse where you can do something like:
dense.weights.set()
Except in this case it would be providing something like: lr.dw.set() lr.dt.set() lr.x1_impulse.set() lr.x1_tau.set() lr.y1_impulse.set() lr.y1_tau.set() lr.t_epoch.set()
This would allow us to perform offline trainings that we could then deploy to hardware.
Steps to reproduce:
Related code:
num_steps = 5000
du = 10
dv = 100
vth = 4900
if __name__ == "__main__":
# Create processes
lif1 = LIF(shape=(3, ),
vth=vth,
dv=dv,
du=du,
bias_mant=(1, 3, 2),
name="lif1")
lr= Loihi2FLearningRule(dw=dw,
x1_impulse=x1_impulse,
x1_tau=x1_tau,
y1_impulse=y1_impulse,
y1_tau=y1_tau,
t_epoch=t_epoch)
plast_conn = LearningDense(weights=wgt_plast_conn,
learning_rule=stdp,
name='plastic_dense')
lif1.s_out.connect(plast_conn .s_in)
dense.a_out.connect(lif2.a_in)
for k in range(num_steps):
if k > 0:
lr.dw.set(dw_new)
lr.x1_impulse.set(x1_impulse_new)
lr.x1_tau.set(x1_tau_new)
lr.y1_impulse.set(y1_impulse_new)
lr.y1_tau.set(y1_tau_new)
lr.t_epoch.set(t_epoch_new)
lif2.run(condition=RunSteps(num_steps=10),
run_cfg=Loihi1SimCfg(select_tag="fixed_pt"))
lif2.stop()
Other information:
insert the output from lava debug here
The text was updated successfully, but these errors were encountered:
Thanks for this suggestion, that would be a great feature to support. It should be straight forward to implement that for the CPU/Python version but might need some work on hardware. @mz-ncl could you comment if this is possible at all?
Thanks @weidel-p. I've edited the issue to clarify that we are requesting this for CPU (and potentially future GPU) implementations, and not for hardware.
Objective of issue: It would be greatly desirable if we could change parameters of a Loihi2FLearningRule during runtime, particularly for the CPU and/or GPU implimenations.
Lava version:
I'm submitting a ...
Current behavior:
Expected behavior:
It would be amazing if there was something like there is for Dense synapse where you can do something like:
dense.weights.set()
Except in this case it would be providing something like:
lr.dw.set()
lr.dt.set()
lr.x1_impulse.set()
lr.x1_tau.set()
lr.y1_impulse.set()
lr.y1_tau.set()
lr.t_epoch.set()
This would allow us to perform offline trainings that we could then deploy to hardware.
Steps to reproduce:
Related code:
Other information:
The text was updated successfully, but these errors were encountered: