Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Move tutorials to root directory of the repo #102

Merged
merged 4 commits into from
Nov 25, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -34,8 +34,8 @@
"\n",
"### This tutorial gives a bird's-eye-view of\n",
"- how Lava Process(es) can perform the MNIST digit classification task using\n",
"[Leaky Integrate-and-Fire (LIF)](https://github.com/lava-nc/lava/tree/main/lava/proc/lif \"Lava's LIF neuron\") neurons and [Dense\n",
"(fully connected)](https://github.com/lava-nc/lava/tree/main/lava/proc/dense \"Lava's Dense Connectivity\") connectivity.\n",
"[Leaky Integrate-and-Fire (LIF)](https://github.com/lava-nc/lava/tree/main/src/lava/proc/lif \"Lava's LIF neuron\") neurons and [Dense\n",
"(fully connected)](https://github.com/lava-nc/lava/tree/main/src/lava/proc/dense \"Lava's Dense Connectivity\") connectivity.\n",
"- how to create a Process \n",
"- how to create Python ProcessModels \n",
"- how to connect Processes\n",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -163,7 +163,7 @@
"source": [
"## 6. Tutorials\n",
"\n",
"Lava helps you to get started by providing a range of [Tutorials](https://github.com/lava-nc/lava/tree/main/lava/tutorials/ \"Lava Tutorials\"). \n",
"Lava helps you to get started by providing a range of [Tutorials](https://github.com/lava-nc/lava/tree/main/tutorials/ \"Lava Tutorials\"). \n",
"\n",
"To find and run the tutorials on your machine after cloning the source, please ensure you have set the PYTHONPATH and follow the steps below.\n",
"\n",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@
"\n",
"Once a _Process_ has been coded in Python, Lava allows to run it seamlessly across different backends such as a CPU, a GPU, or neuromorphic cores. Developers can thus easily test and benchmark their applications on classical computing hardware and then deploy it to neuromorphic hardware. Furthermore, Lava takes advantage of distributed, heterogeneous hardware such as Loihi as it can run some _Processes_ on neuromorphic cores and in parallel others on embedded conventional CPUs and GPUs. \n",
"\n",
"While Lava provides a growing [library of Processes](https://github.com/lava-nc/lava/tree/main/lava/proc \"Lava's process library\"), you can easily write your own processes that suit your needs."
"While Lava provides a growing [library of Processes](https://github.com/lava-nc/lava/tree/main/src/lava/proc \"Lava's process library\"), you can easily write your own processes that suit your needs."
]
},
{
Expand Down Expand Up @@ -406,7 +406,7 @@
"\n",
"Learn how to implement the behavior of _Processes_ in the [next tutorial on ProcessModels](./tutorial03_process_models.ipynb \"Tutorial on ProcessModels\").\n",
"\n",
"If you want to find out more about _Processes_, have a look at the [Lava documentation](https://lava-nc.org/ \"Lava Documentation\") or dive into the [source code](https://github.com/lava-nc/lava/tree/main/lava/magma/core/process/process.py \"Process Source Code\").\n",
"If you want to find out more about _Processes_, have a look at the [Lava documentation](https://lava-nc.org/ \"Lava Documentation\") or dive into the [source code](https://github.com/lava-nc/lava/tree/main/src/lava/magma/core/process/process.py \"Process Source Code\").\n",
"\n",
"To receive regular updates on the latest developments and releases of the Lava Software Framework please subscribe to the [INRC newsletter](http://eepurl.com/hJCyhb \"INRC Newsletter\")."
]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -201,7 +201,7 @@
"\n",
"Next we define the _ProcessModel_ variables and ports. The variables and ports defined in the _ProcessModel_ must exactly match (by name and number) the variables and ports defined in the corresponding _Process_ for compilation. Our LIF example _Process_ and `PyLifModel` each have 1 input port, 1 output port, and variables for `u`, `v`, `du`, `dv`, `bias`, `bias_exp`, and `vth`. Variables and ports in a _ProcessModel_ must be initialized with _LavaType_ objects specific to the language of the _LeafProcessModel_ implementation. Here, variables are initialized with the `LavaPyType` to match our Python _LeafProcessModel_ implementation. In general, _LavaTypes_ specify the class-types of variables and ports, including their numeric d_type, precision and dynamic range. The Lava Compiler reads these _LavaTypes_ to initialize concrete class objects from the initial values provided in the _Process_.\n",
"\n",
"We then fill in the `run_spk()` method to execute the LIF neural dynamics. `run_spk()` is a method specific to _LeafProcessModels_ of type `PyLoihiProcessModel` that executes user-defined neuron dynamics with correct handling of all phases our `LoihiProtocol` _SyncProtocol_. In this example, `run_spike` will accept activity from synaptic inputs via _PyInPort_ `a_in`, and, after integrating current and voltage according to current-based (CUBA) dynamics, output spiking activity via _PyOutPort_ `s_out`. `recv()` and `send()` are the methods that support the channel based communication of the inputs and outputs to our _ProcessModel_. For more detailed information about Ports and channel-based communication, see the [Ports Tutorial](https://github.com/lava-nc/lava/tree/main/lava/tutorials/in_depth/tutorial05_ports.ipynb)."
"We then fill in the `run_spk()` method to execute the LIF neural dynamics. `run_spk()` is a method specific to _LeafProcessModels_ of type `PyLoihiProcessModel` that executes user-defined neuron dynamics with correct handling of all phases our `LoihiProtocol` _SyncProtocol_. In this example, `run_spike` will accept activity from synaptic inputs via _PyInPort_ `a_in`, and, after integrating current and voltage according to current-based (CUBA) dynamics, output spiking activity via _PyOutPort_ `s_out`. `recv()` and `send()` are the methods that support the channel based communication of the inputs and outputs to our _ProcessModel_. For more detailed information about Ports and channel-based communication, see the [Ports Tutorial](./tutorial05_ports.ipynb)."
]
},
{
Expand Down Expand Up @@ -382,7 +382,7 @@
"\n",
"Learn how to execute single _Processes_ and networks of _Processes_ in the [next tutorial](./tutorial04_execution.ipynb).\n",
"\n",
"If you want to find out more about _ProcessModels_, have a look at the [Lava documentation](https://lava-nc.org/) or dive into the [source code](https://github.com/intel-nrc-ecosystem/lava-core-rethink/blob/main/lava/magma/core/model/model.py).\n",
"If you want to find out more about _ProcessModels_, have a look at the [Lava documentation](https://lava-nc.org/) or dive into the [source code](https://github.com/lava-nc/lava/tree/main/src/lava/magma/core/model/model.py).\n",
"\n",
"To receive regular updates on the latest developments and releases of the Lava Software Framework please subscribe to [our newsletter](http://eepurl.com/hJCyhb)."
]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -411,7 +411,7 @@
"\n",
"In upcoming releases, we will continually publish more and more tutorials, covering, for example, how to transfer data between _Processes_ and how to compose the behavior of a process using other processes.\n",
"\n",
"If you want to find out more about how to compile and execute _Processes_, have a look at the [Lava documentation](https://lava-nc.org/ \"Lava Documentation\") or dive into the [Compiler](https://github.com/lava-nc/lava/tree/main/lava/magma/compiler/ \"Compiler Source Code\") and [RunTime source code](https://github.com/lava-nc/lava/tree/main/lava/magma/runtime/ \"Runtime Source Code\").\n",
"If you want to find out more about how to compile and execute _Processes_, have a look at the [Lava documentation](https://lava-nc.org/ \"Lava Documentation\") or dive into the [Compiler](https://github.com/lava-nc/lava/tree/main/src/lava/magma/compiler/ \"Compiler Source Code\") and [RunTime source code](https://github.com/lava-nc/lava/tree/main/src/lava/magma/runtime/ \"Runtime Source Code\").\n",
"\n",
"To receive regular updates on the latest developments and releases of the Lava Software Framework please subscribe to the [INRC newsletter](http://eepurl.com/hJCyhb \"INRC Newsletter\")."
]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -426,7 +426,7 @@
"\n",
"Learn how to implement and compose the behavior of a process using other processes the [next tutorial on hierarchical Processes](./tutorial06_hierarchical_processes.ipynb \"Tutorial on Hierarchical Processes\").\n",
"\n",
"If you want to find out more about connecting processes, have a look at the [Lava documentation](https://lava-nc.org/ \"Lava Documentation\") or dive into the [source code](https://github.com/lava-nc/lava/tree/main/lava/magma/core/process/ports/ports.py \"Port Source Code\").\n",
"If you want to find out more about connecting processes, have a look at the [Lava documentation](https://lava-nc.org/ \"Lava Documentation\") or dive into the [source code](https://github.com/lava-nc/lava/tree/main/src/lava/magma/core/process/ports/ports.py \"Port Source Code\").\n",
"\n",
"To receive regular updates on the latest developments and releases of the Lava Software Framework please subscribe to the [INRC newsletter](http://eepurl.com/hJCyhb \"INRC Newsletter\")."
]
Expand All @@ -453,4 +453,4 @@
},
"nbformat": 4,
"nbformat_minor": 5
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
"\n",
"# Hierarchical _Processes_ and _SubProcessModels_\n",
"\n",
"Previous tutorials have briefly covered that there are two categories of _ProcessModels_: _LeafProcessModels_ and _SubProcessModels_. The [ProcessModel Tutorial](#tutorial03_process_models.ipynb) explained _LeafProcessModels_ in detail. These implement the behavior of a _Process_ directly, in the language (for example, Python or Loihi Neurocore API) required for a particular compute resource (for example, a CPU or Loihi Neurocores). _SubProcessModels_, by contrast, allow users to implement and compose the behavior of a process _using other processes_. This enables the creation of _Hierarchical Processes_ and reuse of primitive _ProcessModels_ to realize more complex _ProcessModels_. _SubProcessModels_ inherit all compute resource requirements from the sub _Processes_ they instantiate. \n",
"Previous tutorials have briefly covered that there are two categories of _ProcessModels_: _LeafProcessModels_ and _SubProcessModels_. The [ProcessModel Tutorial](./tutorial03_process_models.ipynb) explained _LeafProcessModels_ in detail. These implement the behavior of a _Process_ directly, in the language (for example, Python or Loihi Neurocore API) required for a particular compute resource (for example, a CPU or Loihi Neurocores). _SubProcessModels_, by contrast, allow users to implement and compose the behavior of a process _using other processes_. This enables the creation of _Hierarchical Processes_ and reuse of primitive _ProcessModels_ to realize more complex _ProcessModels_. _SubProcessModels_ inherit all compute resource requirements from the sub _Processes_ they instantiate. \n",
"\n",
"<img src=\"https://raw.githubusercontent.com/lava-nc/lava-nc.github.io/main/_static/images/tutorial07/fig01_subprocessmodels.png\"/>\n",
"\n",
Expand Down Expand Up @@ -487,7 +487,7 @@
"source": [
"## How to learn more?\n",
"\n",
"If you want to find out more about _SubProcessModels_, have a look at the [Lava documentation](https://lava-nc.org/) or dive into the [source code](https://github.com/intel-nrc-ecosystem/lava-core-rethink/blob/main/lava/magma/core/model/sub/model.py).\n",
"If you want to find out more about _SubProcessModels_, have a look at the [Lava documentation](https://lava-nc.org/) or dive into the [source code](https://github.com/lava-nc/lava/tree/main/src/lava/magma/core/model/sub/model.py).\n",
"\n",
"To receive regular updates on the latest developments and releases of the Lava Software Framework please subscribe to [our newsletter](http://eepurl.com/hJCyhb)."
]
Expand Down