Skip to content

Commit 37ecdcd

Browse files
author
Alexander Ororbia
committed
cleaned up lif, raf, wtas, fn, and quad-lif cells repr method
1 parent 3c0ed36 commit 37ecdcd

File tree

6 files changed

+20
-6
lines changed

6 files changed

+20
-6
lines changed

ngclearn/components/neurons/spiking/LIFCell.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
from ngclearn.components.jaxComponent import JaxComponent
22
from jax import numpy as jnp, random, nn, Array
3+
from ngclearn.utils import tensorstats
34
from ngclearn.utils.diffeq.ode_utils import get_integrator_code, \
45
step_euler, step_rk2
56
from ngclearn.utils.surrogate_fx import (secant_lif_estimator, arctan_estimator,
@@ -267,6 +268,19 @@ def help(cls): ## component help function
267268
"hyperparameters": hyperparams}
268269
return info
269270

271+
def __repr__(self):
272+
comps = [varname for varname in dir(self) if isinstance(getattr(self, varname), Compartment)]
273+
maxlen = max(len(c) for c in comps) + 5
274+
lines = f"[{self.__class__.__name__}] PATH: {self.name}\n"
275+
for c in comps:
276+
stats = tensorstats(getattr(self, c).value)
277+
if stats is not None:
278+
line = [f"{k}: {v}" for k, v in stats.items()]
279+
line = ", ".join(line)
280+
else:
281+
line = "None"
282+
lines += f" {f'({c})'.ljust(maxlen)}{line}\n"
283+
return lines
270284

271285
if __name__ == '__main__':
272286
from ngcsimlib.context import Context

ngclearn/components/neurons/spiking/RAFCell.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -216,7 +216,7 @@ def help(cls): ## component help function
216216
return info
217217

218218
def __repr__(self):
219-
comps = [varname for varname in dir(self) if Compartment.is_compartment(getattr(self, varname))]
219+
comps = [varname for varname in dir(self) if isinstance(getattr(self, varname), Compartment)]
220220
maxlen = max(len(c) for c in comps) + 5
221221
lines = f"[{self.__class__.__name__}] PATH: {self.name}\n"
222222
for c in comps:

ngclearn/components/neurons/spiking/WTASCell.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -160,11 +160,11 @@ def help(cls): ## component help function
160160
return info
161161

162162
def __repr__(self):
163-
comps = [varname for varname in dir(self) if Compartment.is_compartment(getattr(self, varname))]
163+
comps = [varname for varname in dir(self) if isinstance(getattr(self, varname), Compartment)]
164164
maxlen = max(len(c) for c in comps) + 5
165165
lines = f"[{self.__class__.__name__}] PATH: {self.name}\n"
166166
for c in comps:
167-
stats = tensorstats(getattr(self, c).get())
167+
stats = tensorstats(getattr(self, c).value)
168168
if stats is not None:
169169
line = [f"{k}: {v}" for k, v in stats.items()]
170170
line = ", ".join(line)

ngclearn/components/neurons/spiking/adExCell.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -213,7 +213,7 @@ def help(cls): ## component help function
213213
return info
214214

215215
def __repr__(self):
216-
comps = [varname for varname in dir(self) if Compartment.is_compartment(getattr(self, varname))]
216+
comps = [varname for varname in dir(self) if isinstance(getattr(self, varname), Compartment)]
217217
maxlen = max(len(c) for c in comps) + 5
218218
lines = f"[{self.__class__.__name__}] PATH: {self.name}\n"
219219
for c in comps:

ngclearn/components/neurons/spiking/fitzhughNagumoCell.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -215,7 +215,7 @@ def help(cls): ## component help function
215215
return info
216216

217217
def __repr__(self):
218-
comps = [varname for varname in dir(self) if Compartment.is_compartment(getattr(self, varname))]
218+
comps = [varname for varname in dir(self) if isinstance(getattr(self, varname), Compartment)]
219219
maxlen = max(len(c) for c in comps) + 5
220220
lines = f"[{self.__class__.__name__}] PATH: {self.name}\n"
221221
for c in comps:

ngclearn/components/neurons/spiking/quadLIFCell.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -242,7 +242,7 @@ def help(cls): ## component help function
242242
return info
243243

244244
def __repr__(self):
245-
comps = [varname for varname in dir(self) if Compartment.is_compartment(getattr(self, varname))]
245+
comps = [varname for varname in dir(self) if isinstance(getattr(self, varname), Compartment)]
246246
maxlen = max(len(c) for c in comps) + 5
247247
lines = f"[{self.__class__.__name__}] PATH: {self.name}\n"
248248
for c in comps:

0 commit comments

Comments
 (0)