Skip to content

Commit e7d6d7e

Browse files
committed
[structure] update package structures
1 parent 1a2f4a6 commit e7d6d7e

File tree

114 files changed

+4931
-1688
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

114 files changed

+4931
-1688
lines changed

brainpy/__init__.py

Lines changed: 25 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -55,35 +55,36 @@
5555
layers, # ANN layers
5656
neurons, # neuron groups
5757
rates, # rate models
58-
synapses, # synaptic dynamics
59-
synouts, # synaptic output
60-
synplast, # synaptic plasticity
6158
experimental,
6259
)
63-
from brainpy._src.dyn.base import (DynamicalSystem as DynamicalSystem,
64-
Container as Container,
65-
Sequential as Sequential,
66-
Network as Network,
67-
NeuGroup as NeuGroup,
68-
SynConn as SynConn,
69-
SynOut as SynOut,
70-
SynSTP as SynSTP,
71-
SynLTP as SynLTP,
72-
TwoEndConn as TwoEndConn,
73-
CondNeuGroup as CondNeuGroup,
74-
Channel as Channel)
75-
from brainpy._src.dyn.delay import Delay
60+
from brainpy.synapses import (synapses, # synaptic dynamics
61+
synouts, # synaptic output
62+
synplast,) # synaptic plasticity
63+
64+
from brainpy._src.dynsys import (DynamicalSystem as DynamicalSystem,
65+
Container as Container,
66+
Sequential as Sequential,
67+
Network as Network,
68+
NeuGroup as NeuGroup,
69+
SynConn as SynConn,
70+
SynOut as SynOut,
71+
SynSTP as SynSTP,
72+
SynLTP as SynLTP,
73+
TwoEndConn as TwoEndConn,
74+
CondNeuGroup as CondNeuGroup,
75+
Channel as Channel)
76+
from brainpy._src.delay import Delay
7677
# shared parameters
77-
from brainpy._src.dyn.context import share
78-
from brainpy._src.dyn.base import not_pass_shared
78+
from brainpy._src.context import share
79+
from brainpy._src.dynsys import not_pass_shared
7980
# running
8081
from brainpy._src.dyn.runners import (DSRunner as DSRunner)
8182
from brainpy._src.dyn.transform import (LoopOverTime as LoopOverTime,)
8283
# DynamicalSystem base classes
83-
from brainpy._src.dyn.base import (DynamicalSystemNS as DynamicalSystemNS,
84-
NeuGroupNS as NeuGroupNS,
85-
TwoEndConnNS as TwoEndConnNS,
86-
)
84+
from brainpy._src.dynsys import (DynamicalSystemNS as DynamicalSystemNS,
85+
NeuGroupNS as NeuGroupNS,
86+
TwoEndConnNS as TwoEndConnNS,
87+
)
8788
from brainpy._src.dyn.synapses_v2.base import (SynOutNS as SynOutNS,
8889
SynSTPNS as SynSTPNS,
8990
SynConnNS as SynConnNS, )
@@ -92,7 +93,6 @@
9293
# Part 4: Training #
9394
# ------------------ #
9495

95-
from . import train
9696
from ._src.train.base import (DSTrainer as DSTrainer)
9797
from ._src.train.back_propagation import (BPTT as BPTT,
9898
BPFF as BPFF,)
@@ -102,17 +102,12 @@
102102
RidgeTrainer as RidgeTrainer,)
103103

104104

105-
# Part 5: Analysis #
106-
# ------------------ #
107-
108-
from . import analysis
109-
110-
111105
# Part 6: Others #
112106
# ------------------ #
113107

114-
from . import running, testing, interop
108+
from . import running, testing, analysis
115109
from ._src.visualization import (visualize as visualize)
110+
from ._src import base, modes, train, dyn
116111

117112

118113
# Part 7: Deprecations #
@@ -167,7 +162,6 @@
167162
train.__dict__['RidgeTrainer'] = RidgeTrainer
168163

169164

170-
from ._src import base
171165
base.base.__dict__['BrainPyObject'] = BrainPyObject
172166
base.base.__dict__['Base'] = Base
173167
base.collector.__dict__['Collector'] = Collector
@@ -201,8 +195,6 @@
201195
base.__dict__['load_by_mat'] = checkpoints.io.load_by_mat
202196
base.__dict__['clear_name_cache'] = math.clear_name_cache
203197

204-
205-
from . import modes
206198
modes.__dict__['Mode'] = math.Mode
207199
modes.__dict__['NormalMode'] = math.NonBatchingMode
208200
modes.__dict__['BatchingMode'] = math.BatchingMode
@@ -213,7 +205,6 @@
213205
modes.__dict__['check_mode'] = check.is_subclass
214206

215207

216-
from brainpy import dyn
217208
dyn.__dict__['channels'] = channels
218209
dyn.__dict__['neurons'] = neurons
219210
dyn.__dict__['rates'] = rates

brainpy/_src/analysis/highdim/slow_points.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
import brainpy._src.math as bm
1414
from brainpy import optim, losses
1515
from brainpy._src.analysis import utils, base, constants
16-
from brainpy._src.dyn.base import DynamicalSystem
16+
from brainpy._src.dynsys import DynamicalSystem
1717
from brainpy._src.dyn.runners import check_and_format_inputs, _f_ops
1818
from brainpy._src.tools.dicts import DotDict
1919
from brainpy.errors import AnalyzerError, UnsupportedError

brainpy/_src/analysis/utils/model.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
from brainpy._src.math.object_transform import Variable
55
from brainpy._src.math.environment import get_float
66
from brainpy._src.math.interoperability import as_jax
7-
from brainpy._src.dyn.base import DynamicalSystem
7+
from brainpy._src.dynsys import DynamicalSystem
88
from brainpy._src.dyn.runners import DSRunner
99
from brainpy._src.integrators.base import Integrator
1010
from brainpy._src.integrators.joint_eq import JointEq

brainpy/_src/dyn/context.py renamed to brainpy/_src/context.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
from typing import Any
88
from typing import Union
99

10-
from brainpy._src.dyn.base import DynamicalSystemNS
10+
from brainpy._src.dynsys import DynamicalSystemNS
1111
from brainpy._src.math.environment import get_dt
1212
from brainpy._src.tools.dicts import DotDict
1313

@@ -51,7 +51,8 @@ def load(self, key, value: Any = None):
5151
if key in self._arguments:
5252
return self._arguments[key]
5353
if value is None:
54-
raise KeyError(f'Cannot found shared data of {key}.')
54+
raise KeyError(f'Cannot found shared data of {key}. '
55+
f'Please define it with "brainpy.share.save()". ')
5556
else:
5657
return value
5758

brainpy/_src/dyn/delay.py renamed to brainpy/_src/delay.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,10 @@
1111

1212
from brainpy import check
1313
from brainpy import math as bm
14-
from brainpy._src.dyn.base import DynamicalSystemNS
14+
from brainpy._src.dynsys import DynamicalSystemNS
1515
from brainpy._src.math.delayvars import ROTATE_UPDATE, CONCAT_UPDATE
1616
from brainpy.check import is_integer, jit_error_checking
17-
from .context import share
17+
from brainpy._src.context import share
1818

1919
__all__ = [
2020
'Delay',
@@ -86,7 +86,8 @@ def __init__(
8686
self.latest = latest
8787

8888
# delay length
89-
self.length = is_integer(length, allow_none=False, min_bound=0)
89+
assert isinstance(length, int)
90+
self.length = length
9091

9192
# delay data
9293
if before_t0 is not None:

brainpy/_src/dyn/__init__.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111
runners,
1212
transform,
1313
)
14-
from .base import *
1514
from .neurons.compat import *
1615
from .runners import *
1716
from .synapses.compat import *

brainpy/_src/dyn/channels/Ca.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
from typing import Union, Callable
99

1010
import brainpy.math as bm
11-
from brainpy._src.dyn.base import Channel
11+
from brainpy._src.dynsys import Channel
1212
from brainpy._src.initialize import OneInit, Initializer, parameter, variable
1313
from brainpy._src.integrators.joint_eq import JointEq
1414
from brainpy._src.integrators.ode.generic import odeint

brainpy/_src/dyn/channels/base.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
from typing import Union
44

55
import brainpy.math as bm
6-
from brainpy._src.dyn.base import Container, CondNeuGroup, Channel, check_master
6+
from brainpy._src.dynsys import Container, CondNeuGroup, Channel, check_master
77
from brainpy.types import Shape
88

99
__all__ = [

brainpy/_src/dyn/networks/cann.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# -*- coding: utf-8 -*-
22

33

4-
from brainpy._src.dyn.base import NeuGroup
4+
from brainpy._src.dynsys import NeuGroup
55

66
__all__ = [
77
'WuCANN1D',

brainpy/_src/dyn/neurons/biological_models.py

Lines changed: 8 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44

55
import brainpy.math as bm
66
from brainpy import check
7-
from brainpy._src.dyn.base import NeuGroupNS
8-
from brainpy._src.dyn.context import share
7+
from brainpy._src.dynsys import NeuGroupNS
8+
from brainpy._src.context import share
99
from brainpy._src.initialize import (OneInit,
1010
Uniform,
1111
Initializer,
@@ -226,9 +226,7 @@ def __init__(
226226
keep_size=keep_size,
227227
name=name,
228228
mode=mode)
229-
check.is_subclass(self.mode,
230-
(bm.BatchingMode, bm.NonBatchingMode),
231-
self.__class__.__name__)
229+
assert self.mode.is_one_of(bm.BatchingMode, bm.NonBatchingMode)
232230

233231
# parameters
234232
self.ENa = parameter(ENa, self.varshape, allow_none=False)
@@ -436,7 +434,7 @@ def __init__(
436434
keep_size=keep_size,
437435
name=name,
438436
mode=mode)
439-
check.is_subclass(self.mode, (bm.BatchingMode, bm.NonBatchingMode))
437+
assert self.mode.is_one_of(bm.BatchingMode, bm.NonBatchingMode)
440438

441439
# params
442440
self.V_Ca = parameter(V_Ca, self.varshape, allow_none=False)
@@ -700,7 +698,7 @@ def __init__(
700698
keep_size=keep_size,
701699
name=name,
702700
mode=mode)
703-
check.is_subclass(self.mode, (bm.NonBatchingMode, bm.BatchingMode))
701+
assert self.mode.is_one_of(bm.BatchingMode, bm.NonBatchingMode)
704702

705703
# conductance parameters
706704
self.gAHP = parameter(gAHP, self.varshape, allow_none=False)
@@ -743,7 +741,6 @@ def __init__(
743741
self.q = bm.Variable(self.inf_q(self.Ca), batch_axis=0 if isinstance(self.mode, bm.BatchingMode) else None)
744742
self.Id = variable_(bm.zeros, self.varshape, self.mode) # input to soma
745743
self.Is = variable_(bm.zeros, self.varshape, self.mode) # input to dendrite
746-
# self.spike = bm.Variable(bm.zeros(self.varshape, dtype=bool))
747744

748745
# integral
749746
if self.noise is None:
@@ -761,10 +758,8 @@ def reset_state(self, batch_size=None):
761758
self.s.value = bm.Variable(self.inf_s(self.Vd), batch_axis=batch_axis)
762759
self.c.value = bm.Variable(self.inf_c(self.Vd), batch_axis=batch_axis)
763760
self.q.value = bm.Variable(self.inf_q(self.Ca), batch_axis=batch_axis)
764-
if self.input_var:
765-
self.Id.value = variable_(bm.zeros, self.varshape, batch_size)
766-
self.Is.value = variable_(bm.zeros, self.varshape, batch_size)
767-
# self.spike[:] = False
761+
self.Id.value = variable_(bm.zeros, self.varshape, batch_size)
762+
self.Is.value = variable_(bm.zeros, self.varshape, batch_size)
768763

769764
def dCa(self, Ca, t, s, Vd):
770765
ICa = self.gCa * s * s * (Vd - self.ECa)
@@ -1011,7 +1006,7 @@ def __init__(
10111006
):
10121007
# initialization
10131008
super(WangBuzsakiModel, self).__init__(size=size, keep_size=keep_size, name=name, mode=mode)
1014-
check.is_subclass(self.mode, (bm.BatchingMode, bm.NonBatchingMode))
1009+
assert self.mode.is_one_of(bm.BatchingMode, bm.NonBatchingMode)
10151010

10161011
# parameters
10171012
self.ENa = parameter(ENa, self.varshape, allow_none=False)

0 commit comments

Comments
 (0)