Lava
  • Lava Architecture
    • Key attributes
    • Why do we need Lava?
    • Lava’s foundational concepts
      • 1. Processes
      • 2. Behavioral implementations via ProcessModels
      • 3. Composability and connectivity
      • 4. Cross-platform execution
    • Lava software stack
  • Getting Started with Lava
    • Installing Lava
      • 1. System Requirements
      • 2. Getting Started
        • 2.1 Cloning Lava and Running from Source
        • 2.2 [Alternative] Installing Lava from Binaries
      • 3. Running Lava on Intel Loihi
      • 4. Lava Developer Guide
      • 5. Tutorials
      • How to learn more?
    • Walk through Lava
      • 1. Usage of the Process Library
        • Processes
        • Ports and connections
        • Variables
        • Record internal Vars over time
        • Execution
        • Retrieve recorded data
        • Summary
        • Learn more about
      • 2. Create a custom Process
        • Create a new ProcessModel
        • Use the custom SpikeGenerator
        • Execute and plot
        • Summary
        • Learn more about
        • How to learn more?
    • Processes
      • Recommended tutorials before starting:
      • What is a Process?
      • How to build a Process?
        • Overall architecture
        • AbstractProcess: Defining Vars, Ports, and the API
        • ProcessModel: Defining the behavior of a Process
        • Instantiating the Process
      • Interacting with Processes
        • Accessing Vars
        • Using custom APIs
        • Executing a Process
        • Update Vars
      • How to learn more?
    • ProcessModels
      • Recommended tutorials before starting:
      • Create a LIF Process
      • Create a Python LeafProcessModel that implements the LIF Process
        • Setup
        • Defining a PyLifModel for LIF
        • Compile and run PyLifModel
      • Selecting 1 ProcessModel: More on LeafProcessModel attributes and relations
      • How to learn more?
    • Execution
      • Recommended tutorials before starting:
      • Configuring and starting execution
        • Run conditions
        • Run configurations
      • Running multiple Processes
      • Pausing, resuming, and stopping execution
      • Manual compilation and execution
      • How to learn more?
    • Connect processes
      • Recommended tutorials before starting:
      • Building a network of Processes
      • Create a connection
      • Possible connections
        • There are some things to consider though:
      • Connect multiple InPorts from a single OutPort
      • Connecting multiple InPorts to a single OutPort
      • How to learn more?
    • Hierarchical Processes and SubProcessModels
      • Recommended tutorials before starting:
      • Create LIF and Dense Processes and ProcessModels
        • Create a Dense connection Process
        • Create a Python Dense connection ProcessModel implementing the Loihi Sync Protocol and requiring a CPU compute resource
        • Create a LIF neuron Process
        • Create a Python LIF neuron ProcessModel implementing the Loihi Sync Protocol and requiring a CPU compute resource
      • Create a DenseLayer Hierarchical Process that encompasses Dense and LIF Process behavior
      • Create a SubProcessModel that implements the DenseLayer Process using Dense and LIF child Processes
      • Run the DenseLayer Process
        • Run Connected DenseLayer Processes
      • How to learn more?
    • Remote Memory Access
      • Recommended tutorials before starting:
      • Create a minimal Process and ProcessModel with a RefPort
        • Create a Python Process Model implementing the Loihi Sync Protocol and requiring a CPU compute resource
      • Run the Processes
      • Implicit and explicit VarPorts
      • Options to connect RefPorts and VarPorts
      • How to learn more?
    • MNIST Digit Classification with Lava
      • This tutorial assumes that you:
      • This tutorial gives a bird’s-eye view of
      • Our MNIST Classifier
      • General Imports
      • Lava Processes
      • ProcessModels for Python execution
      • Connecting Processes
      • Execution and results
        • How to learn more?
      • Follow the links below for deep-dive tutorials on the concepts in this tutorial:
    • Excitatory-Inhibitory Neural Network with Lava
      • This tutorial assumes that you:
      • This tutorial gives a high level view of
      • E/I Network
      • General imports
      • E/I Network Lava Process
      • ProcessModels for Python execution
        • Rate neurons
      • Defining the parameters for the network
      • Execution and Results
      • Visualizing the activity
      • Further analysis
      • Controlling the network
        • LIF Neurons
      • Execution and Results
      • Visualizing the activity
      • Controlling the network
      • DIfferent recurrent activation regimes
        • Running a ProcessModel bit-accurate with Loihi
      • Execution of bit accurate model
      • Follow the links below for deep-dive tutorials on the concepts in this tutorial:
    • Spike-timing Dependent Plasticity (STDP)
      • This tutorial assumes that you:
        • STDP from Lavas Process Library
      • The plastic connection Process
      • Plot spike trains
      • Plot traces
      • Plot STDP learning window and weight changes
    • Custom Learning Rules
      • This tutorial assumes that you:
        • 2. Loihi’s learning engine
      • Epoch-based updates
      • Synaptic variables
      • Learning rules
      • Dependencies
      • Scaling factors
      • Factors
      • Traces
      • Example: Basic pair-based STDP
      • Instantiating LearningRule
      • The plastic connection Process
      • Plot spike trains
      • Plot traces
      • Plot STDP learning window and weight changes
      • Follow the links below for deep-dive tutorials on the concepts in this tutorial:
    • Three Factor Learning with Lava
      • This tutorial assumes that you:
        • Defining three-factor learning rule interfaces in Lava
      • Reward-modulated Spike-Timing Dependent Plasticity (R-STDP) learning rule
        • Defining a simple learning network with localized reward signals
      • Initialize network parameters and weights
      • Generate binary input and graded reward spikes
      • Initialize Network Processes
        • Connect Network Processes
        • Create monitors to observe the weight and trace dynamics during learning
        • Run the network
        • Visualize the learning results
      • Plot eligibility trace dynamics
      • Plot reward trace dynamics
        • Advanced Topic: Implementing custom learning rule interfaces
        • How to learn more?
      • Follow the links below for deep-dive tutorials on the concepts in this tutorial:
  • Algorithms and Application Libraries
    • Deep Learning
      • Introduction
      • Lava-DL Workflow
      • Getting Started
      • SLAYER 2.0
        • Example Code
      • Bootstrap
        • Example Code
      • Network Exchange (NetX) Library
        • Example Code
      • Detailed Description
        • Lava-DL SLAYER
        • Lava-DL Bootstrap
        • Lava-DL NetX
    • Dynamic Neural Fields
      • Introduction
      • What is lava-dnf?
      • Key features
      • Example
    • Neuromorphic Constrained Optimization Library
      • About the Project
        • Taxonomy of Optimization Problems
        • OptimizationSolver and OptimizationProblem Classes
      • Tutorials
        • Quadratic Programming
        • Quadratic Uncosntrained Binary Optimization
      • Examples
        • Solving QP problems
        • Solving QUBO
      • Getting Started
        • Requirements
        • Installation
        • [Alternative] Installing Lava via Conda
  • Developer Guide
    • Lava’s Origins
    • Contact Information
    • Development Roadmap
      • Initial Release
    • How to contribute to Lava
      • Open an Issue
      • Pull Request Checklist
      • Open a Pull Request
    • Coding Conventions
      • Code Requirements
      • Guidelines
      • Docstring Format
    • Contributors
      • Contributor
      • Committer
        • List of lava-nc/lava Project Committers
        • List of lava-nc/lava-dnf Project Committers
        • List of lava-nc/lava-optimization Project Committers
        • List of lava-nc/lava-dl Project Committers
        • Committer Promotion
    • Repository Structure
      • lava-nc/lava
      • lava-nc/lava-dnf
      • lava-nc/lava-dl
      • lava-nc/lava-optimization
      • lava-nc/lava-docs
    • Code of Conduct
    • Licenses
  • Lava API Documentation
    • Lava
      • Magma
        • lava.magma.compiler
        • lava.magma.core
        • lava.magma.runtime
      • Lava process library
        • lava.proc.conv
        • lava.proc.dense
        • lava.proc.io
        • lava.proc.learning_rules
        • lava.proc.lif
        • lava.proc.monitor
        • lava.proc.receiver
        • lava.proc.sdn
        • lava.proc.spiker
      • Lava Utils
        • lava.utils.dataloader
        • lava.utils.float2fixed
        • lava.utils.profiler
        • lava.utils.system
        • lava.utils.validator
        • lava.utils.visualizer
        • lava.utils.weightutils
    • Lava - Deep Learning
      • SLAYER
        • Neuron
        • Synapse
        • Spike
        • Axon
        • Dendrite
        • Blocks
        • Loss
        • Classifier
        • Input/Output
        • Auto
        • Utilities
      • Indices and tables
      • Bootstrap (ANN-SNN training)
        • Blocks
        • ANN Statistics Sampler
        • Routine
      • Indices and tables
      • Lava-DL NetX
        • Blocks
        • HDF5
        • Utils
      • Indices and tables
    • Lava - Dynamic Neural Fields
      • lava.lib.dnf.connect
        • lava.lib.dnf.connect.connect
        • lava.lib.dnf.connect.exceptions
      • lava.lib.dnf.kernels
        • lava.lib.dnf.kernels.kernels
      • lava.lib.dnf.operations
        • lava.lib.dnf.operations.enums
        • lava.lib.dnf.operations.exceptions
        • lava.lib.dnf.operations.operations
        • lava.lib.dnf.operations.shape_handlers
      • lava.lib.dnf.inputs
        • lava.lib.dnf.inputs.gauss_pattern
        • lava.lib.dnf.inputs.rate_code_spike_gen
      • lava.lib.dnf.utils
        • lava.lib.dnf.utils.convenience
        • lava.lib.dnf.utils.math
        • lava.lib.dnf.utils.plotting
        • lava.lib.dnf.utils.validation
    • Lava - Optimization
      • lava.lib.optimization.problems
        • lava.lib.optimization.problems.bayesian
        • lava.lib.optimization.problems.coefficients
        • lava.lib.optimization.problems.constraints
        • lava.lib.optimization.problems.cost
        • lava.lib.optimization.problems.problems
        • lava.lib.optimization.problems.variables
      • lava.lib.optimization.solvers
        • lava.lib.optimization.solvers.bayesian
        • lava.lib.optimization.solvers.generic
        • lava.lib.optimization.solvers.qp
      • lava.lib.optimization.utils
        • lava.lib.optimization.utils.generators
        • lava.lib.optimization.utils.solver_tuner
Lava
  • Lava API Documentation
  • Lava - Optimization
  • lava.lib.optimization.solvers
  • View page source

lava.lib.optimization.solvers

  • lava.lib.optimization.solvers.bayesian
    • lava.lib.optimization.solvers.bayesian.models
    • lava.lib.optimization.solvers.bayesian.processes
    • lava.lib.optimization.solvers.bayesian.solver
  • lava.lib.optimization.solvers.generic
    • lava.lib.optimization.solvers.generic.cost_integrator
    • lava.lib.optimization.solvers.generic.read_gate
    • lava.lib.optimization.solvers.generic.scif
    • lava.lib.optimization.solvers.generic.monitoring_processes
    • lava.lib.optimization.solvers.generic.builder
    • lava.lib.optimization.solvers.generic.dataclasses
    • lava.lib.optimization.solvers.generic.hierarchical_processes
    • lava.lib.optimization.solvers.generic.processes
    • lava.lib.optimization.solvers.generic.solver
    • lava.lib.optimization.solvers.generic.sub_process_models
  • lava.lib.optimization.solvers.qp
    • lava.lib.optimization.solvers.qp.models
    • lava.lib.optimization.solvers.qp.processes
    • lava.lib.optimization.solvers.qp.solver
Previous Next

© Copyright 2021, Intel Corporation.

Built with Sphinx using a theme provided by Read the Docs.