diff --git a/src/lava/tutorials/LICENSE b/tutorials/LICENSE similarity index 100% rename from src/lava/tutorials/LICENSE rename to tutorials/LICENSE diff --git a/src/lava/tutorials/end_to_end/mnist_pretrained.npy b/tutorials/end_to_end/mnist_pretrained.npy similarity index 100% rename from src/lava/tutorials/end_to_end/mnist_pretrained.npy rename to tutorials/end_to_end/mnist_pretrained.npy diff --git a/src/lava/tutorials/end_to_end/tutorial01_mnist_digit_classification.ipynb b/tutorials/end_to_end/tutorial01_mnist_digit_classification.ipynb similarity index 99% rename from src/lava/tutorials/end_to_end/tutorial01_mnist_digit_classification.ipynb rename to tutorials/end_to_end/tutorial01_mnist_digit_classification.ipynb index 04036e0ea..b82d29f12 100644 --- a/src/lava/tutorials/end_to_end/tutorial01_mnist_digit_classification.ipynb +++ b/tutorials/end_to_end/tutorial01_mnist_digit_classification.ipynb @@ -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", diff --git a/src/lava/tutorials/in_depth/tutorial01_installing_lava.ipynb b/tutorials/in_depth/tutorial01_installing_lava.ipynb similarity index 98% rename from src/lava/tutorials/in_depth/tutorial01_installing_lava.ipynb rename to tutorials/in_depth/tutorial01_installing_lava.ipynb index 3db380665..359c370f6 100644 --- a/src/lava/tutorials/in_depth/tutorial01_installing_lava.ipynb +++ b/tutorials/in_depth/tutorial01_installing_lava.ipynb @@ -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", diff --git a/src/lava/tutorials/in_depth/tutorial02_processes.ipynb b/tutorials/in_depth/tutorial02_processes.ipynb similarity index 98% rename from src/lava/tutorials/in_depth/tutorial02_processes.ipynb rename to tutorials/in_depth/tutorial02_processes.ipynb index fbfbc39c9..8f2b29b5c 100644 --- a/src/lava/tutorials/in_depth/tutorial02_processes.ipynb +++ b/tutorials/in_depth/tutorial02_processes.ipynb @@ -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." ] }, { @@ -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\")." ] diff --git a/src/lava/tutorials/in_depth/tutorial03_process_models.ipynb b/tutorials/in_depth/tutorial03_process_models.ipynb similarity index 98% rename from src/lava/tutorials/in_depth/tutorial03_process_models.ipynb rename to tutorials/in_depth/tutorial03_process_models.ipynb index 9c4d2f625..233136046 100644 --- a/src/lava/tutorials/in_depth/tutorial03_process_models.ipynb +++ b/tutorials/in_depth/tutorial03_process_models.ipynb @@ -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)." ] }, { @@ -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)." ] diff --git a/src/lava/tutorials/in_depth/tutorial04_execution.ipynb b/tutorials/in_depth/tutorial04_execution.ipynb similarity index 98% rename from src/lava/tutorials/in_depth/tutorial04_execution.ipynb rename to tutorials/in_depth/tutorial04_execution.ipynb index c3a5a4382..ad4665e6f 100644 --- a/src/lava/tutorials/in_depth/tutorial04_execution.ipynb +++ b/tutorials/in_depth/tutorial04_execution.ipynb @@ -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\")." ] diff --git a/src/lava/tutorials/in_depth/tutorial05_connect_processes.ipynb b/tutorials/in_depth/tutorial05_connect_processes.ipynb similarity index 99% rename from src/lava/tutorials/in_depth/tutorial05_connect_processes.ipynb rename to tutorials/in_depth/tutorial05_connect_processes.ipynb index 638332a38..b660dce64 100644 --- a/src/lava/tutorials/in_depth/tutorial05_connect_processes.ipynb +++ b/tutorials/in_depth/tutorial05_connect_processes.ipynb @@ -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\")." ] @@ -453,4 +453,4 @@ }, "nbformat": 4, "nbformat_minor": 5 -} \ No newline at end of file +} diff --git a/src/lava/tutorials/in_depth/tutorial06_hierarchical_processes.ipynb b/tutorials/in_depth/tutorial06_hierarchical_processes.ipynb similarity index 96% rename from src/lava/tutorials/in_depth/tutorial06_hierarchical_processes.ipynb rename to tutorials/in_depth/tutorial06_hierarchical_processes.ipynb index ceac51744..29c7f51ef 100644 --- a/src/lava/tutorials/in_depth/tutorial06_hierarchical_processes.ipynb +++ b/tutorials/in_depth/tutorial06_hierarchical_processes.ipynb @@ -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", "\n", "\n", @@ -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)." ]