From 8f03dcc5b5c3002a6f86adbea53bd18f7943f91f Mon Sep 17 00:00:00 2001 From: bamsumit Date: Sat, 13 Nov 2021 00:17:30 -0800 Subject: [PATCH 1/2] Final release rendering Signed-off-by: bamsumit --- algorithms.rst | 2 -- index.rst | 12 +++++++++--- lava-lib-optimization/index.rst | 5 +++++ lava/lava.rst | 2 +- lava/modules.rst | 8 ++++++-- lava_api_documentation.rst | 4 ++-- optimization.rst | 12 +++--------- 7 files changed, 26 insertions(+), 19 deletions(-) create mode 100644 lava-lib-optimization/index.rst diff --git a/algorithms.rst b/algorithms.rst index e7faa3d..f203131 100644 --- a/algorithms.rst +++ b/algorithms.rst @@ -1,8 +1,6 @@ Algorithms and Application Libraries ==================================== -Following are the list of algorithms and applications implemented using Lava: - .. toctree:: :maxdepth: 3 diff --git a/index.rst b/index.rst index 24fc2be..dfd779e 100644 --- a/index.rst +++ b/index.rst @@ -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 `__ + Release plan ============ @@ -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] ^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -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 @@ -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`. +Lava releases via `GitHub Releases `__. Please download the package and install it. Open a python terminal and run: diff --git a/lava-lib-optimization/index.rst b/lava-lib-optimization/index.rst new file mode 100644 index 0000000..779841a --- /dev/null +++ b/lava-lib-optimization/index.rst @@ -0,0 +1,5 @@ +Lava - Optimization +=================== + +.. note:: + API documentation will arrive shortly. In the mean time, please reviewdocstrings in code. \ No newline at end of file diff --git a/lava/lava.rst b/lava/lava.rst index cfa8b6d..41bfd81 100644 --- a/lava/lava.rst +++ b/lava/lava.rst @@ -1,4 +1,4 @@ -lava package +Lava Package ============ Subpackages diff --git a/lava/modules.rst b/lava/modules.rst index f945173..0e2073b 100644 --- a/lava/modules.rst +++ b/lava/modules.rst @@ -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 diff --git a/lava_api_documentation.rst b/lava_api_documentation.rst index b0c88d6..b3bc589 100644 --- a/lava_api_documentation.rst +++ b/lava_api_documentation.rst @@ -1,8 +1,7 @@ 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 @@ -10,4 +9,5 @@ Lava API Documentation lava/modules.rst lava-lib-dl/index.rst + lava-lib-optimization/index.rst diff --git a/optimization.rst b/optimization.rst index 494f012..9cbeb2c 100644 --- a/optimization.rst +++ b/optimization.rst @@ -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 `__. 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: @@ -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. From 34a2f5502eaff18ee441699c986df8771bfced9c Mon Sep 17 00:00:00 2001 From: bamsumit Date: Sat, 13 Nov 2021 06:49:47 -0800 Subject: [PATCH 2/2] Fixed broken links in indiviudal dl library landing pages Signed-off-by: bamsumit --- lava-lib-dl/bootstrap/bootstrap.rst | 2 +- lava-lib-dl/slayer/slayer.rst | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/lava-lib-dl/bootstrap/bootstrap.rst b/lava-lib-dl/bootstrap/bootstrap.rst index 13d1b9a..03cfd4c 100644 --- a/lava-lib-dl/bootstrap/bootstrap.rst +++ b/lava-lib-dl/bootstrap/bootstrap.rst @@ -83,7 +83,7 @@ bootstrap mode. Tutorials --------- -- `MNIST digit classification `__ TODO: UPDATE LINK +- * `MNIST digit classification `__ Modules ------- diff --git a/lava-lib-dl/slayer/slayer.rst b/lava-lib-dl/slayer/slayer.rst index 8785aca..e94b1b0 100644 --- a/lava-lib-dl/slayer/slayer.rst +++ b/lava-lib-dl/slayer/slayer.rst @@ -30,13 +30,13 @@ Tutorials **End to End** -* `Oxford spike train regression `__ TODO: UPDATE LINK -* `NMNIST digit classification `__ TODO: UPDATE LINK -* `PilotNet steering angle prediction `__ TODO: UPDATE LINK +* `Oxford spike train regression `__ +* `NMNIST digit classification `__ +* `PilotNet steering angle prediction `__ **Deep Dive** -* `Dynamics and Neurons `__ TODO: UPDATE LINK +* `Dynamics and Neurons `__ Modules -------