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
in its entirety (including its supporting utilities),
8
-
requires that you ensure that you have installed the following base dependencies in
9
-
your system. Note that this library was developed and tested on Ubuntu 22.04 (and earlier versions on 18.04/20.04).
10
-
Specifically, ngc-learn requires:
5
+
<i>Setup:</i> <ahref="https://github.com/NACLab/ngc-learn">NGC-Learn</a>, in its entirety (including its supporting utilities), requires that you ensure that you have installed the following base dependencies in your system. Note that this library was developed and tested on Ubuntu 22.04 (with much earlier versions on Ubuntu 18.04/20.04).
* Scikit-learn (>=1.6.1), (for `ngclearn.utils.patch_utils` and `ngclearn.utils.density`)
18
14
19
-
Note that the above requirements are taken care of if one installs ngc-learn
20
-
through either `pip`. One can either install the CPU version of ngc-learn (if no JAX is
21
-
pre-installed or only the CPU version of JAX is installed currently) via
15
+
Note that the above requirements are taken care of if one installs NGC-Learn through either `pip`. One can either install the CPU version of NGC-Learn (if no JAX is pre-installed or only the CPU version of JAX is currently installed) via:
22
16
```console
23
17
$ pip install ngclearn
24
18
```
25
19
26
-
or install the GPU version of ngc-learn by first installing the
version of JAX</a> before running the above pip command.
20
+
or install the GPU version of NGC-Learn by first installing the <ahref="https://jax.readthedocs.io/en/latest/installation.html">CUDA 12 version of JAX</a> before running the above pip command.
29
21
30
-
Alternatively, one may locally, step-by-step (see below), install and setup
31
-
ngc-learn from source after pulling from the repo.
22
+
Alternatively, one may locally, step-by-step (see below), install and setup NGC-Learn from source after pulling from the repo.
32
23
33
-
Note that installing the official pip package without any form of JAX installed
34
-
on your system will default to downloading the CPU version of ngc-learn (see
35
-
below for installing the GPU version).
24
+
Note that installing the official pip package without any form of JAX installed on your system will default to downloading the CPU version of NGC-Learn (see below for installing the GPU version).
36
25
37
26
## Install from Source
38
27
39
-
0. Install ngc-sim-lib first (as an editable install); visit the repo
40
-
https://github.com/NACLab/ngc-sim-lib for details.
28
+
1. Install NGC-Sim-Lib first (as an editable install); visit the repo https://github.com/NACLab/ngc-sim-lib for details.
on the official JAX page to properly install the CUDA 11 or 12 version.
36
+
3. (<i>Optional</i>; only for GPU version) Install JAX for either CUDA 12 , depending on your system setup. Follow the <ahref="https://jax.readthedocs.io/en/latest/installation.html">installation instructions</a> on the official JAX page to properly install the CUDA 11 or 12 version.
52
37
53
-
<!--
54
-
3. (<i>Optional</i>) Install, a pre-package installation step (for only the
55
-
non-ngclearn dependencies), the base requirements (and a few extras for building
56
-
the docs) with:
57
-
```console
58
-
$ pip install -r requirements.txt
59
-
```
60
-
-->
61
-
62
-
3. Install the ngc-learn package via:
38
+
4. Install the NGC-Learn package via:
63
39
```console
64
40
$ pip install .
65
41
```
@@ -68,22 +44,21 @@ or, to install as an editable install for development, run:
68
44
$ pip install -e .
69
45
```
70
46
71
-
If the installation was successful, you should see the following if you test
72
-
it against your Python interpreter, i.e., run the <code>$ python</code> command
73
-
and complete the following sequence of steps as depicted in the screenshot below:<br>
If the installation was successful, you should see the following if you test it against your Python interpreter, i.e., run the <code>$ python</code> command and complete the following sequence of steps as depicted in the screenshot below:<br>
75
48
76
49
```console
77
50
Python 3.11.4 (main, MONTH DAY YEAR, TIME) [GCC XX.X.X] on linux
78
51
Type "help", "copyright", "credits" or "license" for more information.
79
52
>>> import ngclearn
80
53
>>> ngclearn.__version__
81
-
'2.0.2'
54
+
'3.0.0'
82
55
```
83
56
57
+
<!--
84
58
<i>Note</i>: If you do not have a JSON configuration file in place (see tutorials
85
59
for details) locally where you call the import to ngc-learn, a warning will pop
86
60
up containing within it "<i>UserWarning: Missing file to preload modules from.</i>";
87
61
this still means that ngc-learn installed successfully but you will need to
88
62
point to a JSON configuration when building projects with ngc-learn.
1. Ororbia, A., and Kifer, D. The neural coding framework for learning generative models. Nature Communications 13, 2064 (2022).
8
6
9
-
2. Ororbia, A., and Mali, A. Backprop-free reinforcement learning with active
10
-
neural generative coding. Proceedings of the AAAI Conference on Artificial
11
-
intelligence (2022).
7
+
2. Ororbia, A., and Mali, A. Backprop-free reinforcement learning with active neural generative coding. Proceedings of the AAAI Conference on Artificial intelligence (2022).
12
8
13
-
3. Ororbia, A. "Spiking neural predictive coding for continual learning
14
-
from data streams." arXiv preprint arXiv:1908.08655 (2019).
9
+
3. Ororbia, A. "Spiking neural predictive coding for continual learning from data streams." Neurocomputing 544: 126292 (2022).
15
10
16
-
4. Ororbia, A, and Kelly, M. Alex. "CogNGen: constructing the kernel of
17
-
a hyperdimensional predictive processing cognitive architecture."
18
-
Proceedings of the Annual Meeting of the Cognitive Science Society (CogSci), Volume 44 (2022).
11
+
4. Ororbia, A, and Kelly, M. Alex. "CogNGen: constructing the kernel of a hyperdimensional predictive processing cognitive architecture." Proceedings of the Annual Meeting of the Cognitive Science Society (CogSci), Volume 44 (2022).
19
12
20
-
5. Ororbia, A., and Kelly, M. Alex. "Learning using a hyperdimensional predictive processing cognitive
21
-
architecture." 15th International Conference on Artificial General Intelligence (AGI) (2022).
13
+
5. Ororbia, A., and Kelly, M. Alex. "Learning using a hyperdimensional predictive processing cognitive architecture." 15th International Conference on Artificial General Intelligence (AGI) (2022).
22
14
23
-
6. Ororbia, A., Mali, A., Kifer, D., & Giles, C. L. "Lifelong neural predictive coding: Learning cumulatively online without
24
-
forgetting." Thirty-sixth Conference on Neural Information Processing Systems (NeurIPS) (2022).
15
+
6. Ororbia, A., Mali, A., Kifer, D., & Giles, C. L. "Lifelong neural predictive coding: Learning cumulatively online without forgetting." Thirty-sixth Conference on Neural Information Processing Systems (NeurIPS) (2022).
25
16
26
17
7. Ororbia, A., Friston, K., Rao, Rajesh P. N. "Meta-representational predictive coding: Biomimetic self-supervised learning." arXiv preprint arXiv:2503.21796 (2025).
27
18
28
-
<b>Note:</b> Please let us know if your work uses ngc-learn so we can update this page to accurately track
29
-
ngc-learn's use and include your work in the accumulating body of work in predictive processing
30
-
and/or brain-inspired computational modeling.
19
+
<b>Note:</b> Please let us know if your work uses ngc-learn so we can update this page to accurately track ngc-learn's use and include your work in the accumulating body of work in predictive processing and/or brain-inspired computational modeling.
In this set of tutorials/walkthroughs, we go through the some of the core elements
4
-
and mechanisms underlying ngc-learn in order understand how its simulation
5
-
scheme (and the nodes-and-cables system) works and to help in writing your
6
-
own custom elements.
3
+
In this set of tutorials/walkthroughs, we go through some of the core elements and mechanisms underlying NGC-Learn in order understand how its simulation scheme (and the nodes-and-cables system) works and to help in writing your own custom elements.
7
4
8
5
The foundational walkthroughs are organized as follows:
9
-
1. <b>[Using Model Contexts](../tutorials/foundations/contexts.md)</b>: This lesson goes
10
-
the fundamentals of the primary simulation construct you need to set up models, the
11
-
(simulation) context.
12
-
2. <b>[Understanding Commands](../tutorials/foundations/commands.md)</b>: This lesson will
13
-
walk you through the basics of a command -- an essential part of building a
14
-
simulation controller in ngc-learn and ngcsimlib -- and offer some useful
15
-
points for designing new ones.
16
-
3. <b>[Operations](../tutorials/foundations/operations.md)</b>: Here, the basics
17
-
of bundle rules, a commonly use mechanism for crafting complex biophysical
18
-
systems, will be presented.
6
+
1. <b>[Using Model Contexts](../tutorials/foundations/contexts.md)</b>: This lesson goes the fundamentals of the primary simulation construct you need to set up models, the (simulation) context.
7
+
2. <b>[Understanding Commands](../tutorials/foundations/commands.md)</b>: This lesson will walk you through the basics of a command -- an essential part of building a simulation controller in ngc-learn and ngcsimlib -- and offer some useful points for designing new ones.
8
+
3. <b>[Operations](../tutorials/foundations/operations.md)</b>: Here, the basics of bundle rules, a commonly-used mechanism for crafting complex biophysical systems, will be presented.
Copy file name to clipboardExpand all lines: docs/tutorials/index.rst
+1-5Lines changed: 1 addition & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,11 +5,7 @@
5
5
Tutorial Contents
6
6
=================
7
7
8
-
Lessons/tutorials go through the very basics of constructing a dynamical system in
9
-
ngc-learn, core elements and tools of neurocognitive modeling using ngc-learn's
10
-
in-built components and simulation tools, and finally providing foundational insights
11
-
into how ngc-learn and its backend, ngc-sim-lib, work (particularly with respect
12
-
to configuration).
8
+
Lessons/tutorials go through the very basics of constructing a dynamical system in NGC-Learn, core elements and tools of neurocognitive modeling using NGC-Learn's in-built components and simulation tools, and finally providing foundational insights into how NGC-Learn and its backend, NGC-Sim-Lib, work (particularly with respect to configuration).
NGC-Learn is a general-purpose library for modeling complex dynamical systems, particularly those that are useful for computational neuroscience, neuroscience-motivated artificial intelligence (NeuroAI), and brain-inspired computing.
While the library is designed to provide flexibility on the experimenter/designer side -- allowing one to develop their own dynamics and evolutionary processes -- at its foundation are a few standard components. These are basic modeling nodes for simulating some common biophysical systems computationally, which are useful to know when getting started and for quickly building some classical/historical models. If you are interested in knowing some of the neurophysiological theory behind NGC-Learn's design philosophy, [this section](../tutorials/theory) might be of interest.
12
6
13
-
Specifically, to make best use of ngc-learn, it is important to get the
14
-
hang of its "nodes-and-cables system" (as it was historically referred to) in
15
-
order to build simulation objects. This set of tutorials will walk through,
16
-
step-by-step, the key aspects of the library you need to know so you can build
17
-
and run simulations of computational biophysical models. In addition, we
18
-
provide walkthroughs of some of the central mechanisms underlying
19
-
<ahref="https://github.com/NACLab/ngc-sim-lib">ngcsimlib</a>, the simulation
20
-
dependency library that drives ngc-learn; these are particularly useful for not
21
-
only understanding why and how things are done by ngc-learn's simulation
22
-
backend but also for those who want to design new, custom extensions of ngc-learn
23
-
either for their own research or to contribute to the development of the main library.
7
+
Specifically, to make best use of NGC-Learn, it is important to get the hang of its "nodes-and-cables system" (the historical name for its backend engine) in order to build simulation objects. This set of tutorials will walk you through, step-by-step, the key aspects of the library that you will need to know so that you can build
8
+
and run simulations of computational biophysical models. In addition, we provide walkthroughs of some of the central mechanisms underlying <ahref="https://github.com/NACLab/ngc-sim-lib">NGC-Sim-Lib</a>, the simulation dependency library that drives NGC-Learn; these lessons are particularly useful for not only understanding why and how things are done by NGC-Learn's simulation backend engine but also for those who want to design new, custom extensions of NGC-Learn either for their own research or to help contribute to the development of the main library.
24
9
25
10
## Organization of Tutorials
26
11
27
-
The core tutorials and lessons for using ngc-learn can be found [here, in the
28
-
tutorial table of contents](../tutorials/index.rst) and go through: the basic
29
-
configuration and use of ngc-learn and ngc-sim-lib to construct simulations
30
-
of dynamical systems, the essentials of neurocognitive modeling (such as
31
-
building and analyzing neuronal dynamics and synaptic plasticity), as well
32
-
as the coverage of some key foundational ideas/tools worth knowing about
33
-
ngc-learn (and its backend, ngc-sim-lib) particularly to facilitate easier
34
-
debugging, experimental configuration, and advanced model tools like `bundle rules`.
12
+
The core tutorials and lessons for using NGC-Learn can be found [here, in the tutorial table of contents](../tutorials/index.rst) which essentially go through: the basic configuration and use of NGC-Learn and NGC-Sim-Lib to construct simulations of dynamical systems, the essentials of neurocognitive modeling (such as building and analyzing models of neuronal dynamics and synaptic plasticity), as well as the coverage of some key foundational ideas/tools worth knowing about NGC-Learn (and its backend, NGC-Sim-Lib) particularly to facilitate easier debugging, experimental configuration, and advanced modeling tools. <!-- like `bundle rules`. -->
0 commit comments