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

Final release rendering #11

Merged
merged 2 commits into from
Nov 16, 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
2 changes: 0 additions & 2 deletions algorithms.rst
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
Algorithms and Application Libraries
====================================

Following are the list of algorithms and applications implemented using Lava:

.. toctree::
:maxdepth: 3

Expand Down
12 changes: 9 additions & 3 deletions index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,8 @@ Future planned enhancements include support for emerging computational paradigms

For maximum developer productivity, Lava blends a simple Python Interface with accelerated performance using underlying C/C++/CUDA/OpenCL code.

For more information, visit Lava on Github: `https://github.com/lava-nc <https://github.com/lava-nc>`__

Release plan
============

Expand Down Expand Up @@ -129,9 +131,11 @@ Open a python terminal and run based on the OS you are on:
cd lava
pip install -r build-requirements.txt
pip install -r requirements.txt
export PYTHONPATH=~/lava
export PYTHONPATH=$(pwd)/src
pyb -E unit

Note that you should install the core Lava repository (lava) before installing other Lava libraries such as lava-optimization or lava-dl. Test your PYTHONPATH using echo $PYTHONPATH and ensure 'lava/src' is the first entry that precedes any additional Lava library src paths.

[Windows]
^^^^^^^^^^^^^^^^^^^^^^^^^^

Expand All @@ -145,9 +149,11 @@ Open a python terminal and run based on the OS you are on:
cd lava
pip install -r build-requirements.txt
pip install -r requirements.txt
set PYTHONPATH=%HOMEPATH%\lava
set PYTHONPATH=%cd%\src
pyb -E unit

Note that you should install the core Lava repository (lava) before installing other Lava libraries such as lava-optimization or lava-dl. Test your PYTHONPATH using echo %PYTHONPATH% and ensure 'lava\src' is the first entry that precedes any additional Lava library src paths.

You should expect the following output after running the unit tests:

.. code-block:: console
Expand All @@ -168,7 +174,7 @@ You should expect the following output after running the unit tests:
-------------------------------------------

If you only need the lava package in your python environment, we will publish
Lava releases via `GitHub Releases<https://github.com/lava-nc/lava/releases>`.
Lava releases via `GitHub Releases <https://github.com/lava-nc/lava/releases>`__.
Please download the package and install it.

Open a python terminal and run:
Expand Down
2 changes: 1 addition & 1 deletion lava-lib-dl/bootstrap/bootstrap.rst
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ bootstrap mode.
Tutorials
---------

- `MNIST digit classification <dummy_link>`__ TODO: UPDATE LINK
- * `MNIST digit classification <notebooks/mnist/train.html>`__

Modules
-------
Expand Down
8 changes: 4 additions & 4 deletions lava-lib-dl/slayer/slayer.rst
Original file line number Diff line number Diff line change
Expand Up @@ -30,13 +30,13 @@ Tutorials

**End to End**

* `Oxford spike train regression <dummy_link>`__ TODO: UPDATE LINK
* `NMNIST digit classification <dummy_link>`__ TODO: UPDATE LINK
* `PilotNet steering angle prediction <dummy_link>`__ TODO: UPDATE LINK
* `Oxford spike train regression <notebooks/oxford/train.html>`__
* `NMNIST digit classification <notebooks/nmnist/train.html>`__
* `PilotNet steering angle prediction <notebooks/pilotnet/train.html>`__

**Deep Dive**

* `Dynamics and Neurons <dummy_link>`__ TODO: UPDATE LINK
* `Dynamics and Neurons <notebooks/neuron_dynamics/dynamics.html>`__

Modules
-------
Expand Down
5 changes: 5 additions & 0 deletions lava-lib-optimization/index.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
Lava - Optimization
===================

.. note::
API documentation will arrive shortly. In the mean time, please reviewdocstrings in code.
2 changes: 1 addition & 1 deletion lava/lava.rst
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
lava package
Lava Package
============

Subpackages
Expand Down
8 changes: 6 additions & 2 deletions lava/modules.rst
Original file line number Diff line number Diff line change
@@ -1,7 +1,11 @@
lava
Lava
====

.. toctree::
.. note::
API documentation will arrive shortly. In the mean time, please reviewdocstrings in code.

..
.. toctree::
:maxdepth: 4

lava
4 changes: 2 additions & 2 deletions lava_api_documentation.rst
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
Lava API Documentation
======================

.. note::
API documentation will arrive shortly. In the mean time, please review docstrings in code.
Welcome to Lava API documentation.

.. toctree::
:maxdepth: 4
:caption: Contents:

lava/modules.rst
lava-lib-dl/index.rst
lava-lib-optimization/index.rst

12 changes: 3 additions & 9 deletions optimization.rst
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
Neuromorphic Constraint Optimization Library
============================================
Neuromorphic Constraint Optimization
====================================

**A library of solvers that leverage neuromorphic hardware for constrained optimization.**

Constrained optimization searches for the values of input variables that minimize or maximize a given objective function, while the variables are subject to constraints. This kind of problem is ubiquitous throughout scientific domains and industries.
Constrained optimization is a promising application for neuromorphic computing as
it [naturally aligns with the dynamics of spiking neural networks](https://doi.org/10.1109/JPROC.2021.3067593). When individual neurons represent states of variables, the neuronal connections can directly encode constraints between the variables: in its simplest form, recurrent inhibitory synapses connect neurons that represent mutually exclusive variable states, while recurrent excitatory synapses link neurons representing reinforcing states. Implemented on massively parallel neuromorphic hardware, such a spiking neural network can simultaneously evaluate conflicts and cost functions involving many variables, and update all variables accordingly. This allows a quick convergence towards an optimal state. In addition, the fine-scale timing dynamics of SNNs allow them to readily escape from local minima.
it `naturally aligns with the dynamics of spiking neural networks <https://doi.org/10.1109/JPROC.2021.3067593>`__. When individual neurons represent states of variables, the neuronal connections can directly encode constraints between the variables: in its simplest form, recurrent inhibitory synapses connect neurons that represent mutually exclusive variable states, while recurrent excitatory synapses link neurons representing reinforcing states. Implemented on massively parallel neuromorphic hardware, such a spiking neural network can simultaneously evaluate conflicts and cost functions involving many variables, and update all variables accordingly. This allows a quick convergence towards an optimal state. In addition, the fine-scale timing dynamics of SNNs allow them to readily escape from local minima.

This Lava repository currently provides constraint optimization solvers that leverage the benefits of neuromorphic computing for the following problems:

Expand Down Expand Up @@ -94,9 +94,3 @@ Setup
"export PYTHONPATH=$PYTHONPATH:$(pwd)" from lava-optimization/src/
on your terminal (You should do this only after having added Lava to your PYTHONPATH.
This order is required for namespaces to be well defined).

Lava Optimization Documentation
-------------------------------

.. note::
The documentation will arrive shortly. In the mean time, please review docstrings in code.