Skip to content

Commit 7bf2fc0

Browse files
committed
fix old version synapses when using brainpy.dyn.ProjAlignPost2
1 parent bd2b982 commit 7bf2fc0

File tree

6 files changed

+34
-23
lines changed

6 files changed

+34
-23
lines changed

brainpy/_src/dyn/others/input.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -219,7 +219,7 @@ def __init__(
219219
self.reset_state(self.mode)
220220

221221
def update(self):
222-
spikes = bm.random.rand_like(self.spike) <= (self.freqs * share.dt / 1000.)
222+
spikes = bm.random.rand_like(self.spike) <= (self.freqs * share['dt'] / 1000.)
223223
spikes = bm.asarray(spikes, dtype=self.spk_type)
224224
# spikes = bm.sharding.partition(spikes, self.spike.sharding)
225225
self.spike.value = spikes

brainpy/_src/dynold/synapses/abstract_models.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ def __init__(
9999
mode: bm.Mode = None,
100100
stop_spike_gradient: bool = False,
101101
):
102-
super(Delta, self).__init__(name=name,
102+
super().__init__(name=name,
103103
pre=pre,
104104
post=post,
105105
conn=conn,
@@ -530,7 +530,7 @@ def __init__(
530530

531531
self.check_post_attrs('input')
532532
# copy the references
533-
syn = self.pre.after_updates[self.proj._syn_id].syn.syn
533+
syn = self.post.before_updates[self.proj._syn_id].syn.syn
534534
self.g = syn.g
535535
self.h = syn.h
536536

brainpy/_src/dynold/synapses/biological_models.py

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ def __init__(
8989
mode=mode)
9090

9191
# copy the references
92-
syn = self.pre.after_updates[self.proj._syn_id].syn.syn
92+
syn = self.post.before_updates[self.proj._syn_id].syn.syn
9393
self.g = syn.g
9494
self.spike_arrival_time = syn.spike_arrival_time
9595

@@ -179,22 +179,22 @@ def __init__(
179179
mode: bm.Mode = None,
180180
stop_spike_gradient: bool = False,
181181
):
182-
super(GABAa, self).__init__(pre=pre,
183-
post=post,
184-
conn=conn,
185-
output=output,
186-
stp=stp,
187-
comp_method=comp_method,
188-
delay_step=delay_step,
189-
g_max=g_max,
190-
alpha=alpha,
191-
beta=beta,
192-
T=T,
193-
T_duration=T_duration,
194-
method=method,
195-
name=name,
196-
mode=mode,
197-
stop_spike_gradient=stop_spike_gradient, )
182+
super().__init__(pre=pre,
183+
post=post,
184+
conn=conn,
185+
output=output,
186+
stp=stp,
187+
comp_method=comp_method,
188+
delay_step=delay_step,
189+
g_max=g_max,
190+
alpha=alpha,
191+
beta=beta,
192+
T=T,
193+
T_duration=T_duration,
194+
method=method,
195+
name=name,
196+
mode=mode,
197+
stop_spike_gradient=stop_spike_gradient, )
198198

199199

200200
class _DelayedNMDA(_DelayedSyn):
@@ -405,7 +405,7 @@ def __init__(
405405
mode=mode)
406406

407407
# copy the references
408-
syn = self.pre.after_updates[self.proj._syn_id].syn.syn
408+
syn = self.post.before_updates[self.proj._syn_id].syn.syn
409409
self.g = syn.g
410410
self.x = syn.x
411411
self.spike_arrival_time = syn.spike_arrival_time

brainpy/_src/dynold/synapses/learning_rules.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -223,7 +223,7 @@ def __init__(
223223
name=name)
224224

225225
# variables
226-
syn = self.pre.after_updates[self.proj._syn_id].syn
226+
syn = self.post.before_updates[self.proj._syn_id].syn.syn
227227
self.x = syn[0].x
228228
self.u = syn[0].u
229229
self.I = syn[1].g

brainpy/_src/dynsys.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,7 @@ def __init__(
122122

123123
# local delay variables:
124124
# Compatible for ``DelayRegister``
125+
# TODO: will be deprecated in the future
125126
self.local_delay_vars: Dict = bm.node_dict()
126127

127128
# the before- / after-updates used for computing
@@ -383,6 +384,10 @@ def update(self, *args, **kwargs):
383384
for node in nodes.not_subset(Dynamic).not_subset(Projection).values():
384385
node()
385386

387+
# update delays
388+
# TODO: Will be deprecated in the future
389+
self.update_local_delays(nodes)
390+
386391
def reset_state(self, batch_size=None):
387392
nodes = self.nodes(level=1, include_self=False).subset(DynamicalSystem).unique().not_subset(DynView)
388393

@@ -398,6 +403,10 @@ def reset_state(self, batch_size=None):
398403
for node in nodes.not_subset(Dynamic).not_subset(Projection).values():
399404
node.reset_state(batch_size)
400405

406+
# reset delays
407+
# TODO: will be removed in the future
408+
self.reset_local_delays(nodes)
409+
401410
def clear_input(self):
402411
"""Clear inputs in the children classes."""
403412
nodes = self.nodes(level=1, include_self=False).subset(DynamicalSystem).unique().not_subset(DynView)

brainpy/synapses.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,5 +33,7 @@
3333
DiffusiveCoupling,
3434
AdditiveCoupling,
3535
)
36-
36+
from brainpy._src.dynold.synapses.gap_junction import (
37+
GapJunction
38+
)
3739

0 commit comments

Comments
 (0)