lava.lib.optimization.solvers.generic.scif
lava.lib.optimization.solvers.generic.scif.models
digraph inheritancef6a1e0ee6e { bgcolor=transparent; rankdir=TB; size=""; "ABC" [fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",tooltip="Helper class that provides a standard way to create an ABC using"]; "AbstractProcessModel" [URL="../../lava/lava.magma.core.model.html#lava.magma.core.model.model.AbstractProcessModel",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Represents a model that implements the behavior of a Process."]; "ABC" -> "AbstractProcessModel" [arrowsize=0.5,style="setlinewidth(0.5)"]; "AbstractPyProcessModel" [URL="../../lava/lava.magma.core.model.py.html#lava.magma.core.model.py.model.AbstractPyProcessModel",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Abstract interface for Python ProcessModels."]; "AbstractProcessModel" -> "AbstractPyProcessModel" [arrowsize=0.5,style="setlinewidth(0.5)"]; "ABC" -> "AbstractPyProcessModel" [arrowsize=0.5,style="setlinewidth(0.5)"]; "PyLoihiProcessModel" [URL="../../lava/lava.magma.core.model.py.html#lava.magma.core.model.py.model.PyLoihiProcessModel",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="ProcessModel to simulate a Process on Loihi using CPU."]; "AbstractPyProcessModel" -> "PyLoihiProcessModel" [arrowsize=0.5,style="setlinewidth(0.5)"]; "PyModelAbstractScifFixed" [URL="../lava-lib-optimization/lava.lib.optimization.solvers.generic.scif.html#lava.lib.optimization.solvers.generic.scif.models.PyModelAbstractScifFixed",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Abstract fixed point implementation of Stochastic Constraint"]; "PyLoihiProcessModel" -> "PyModelAbstractScifFixed" [arrowsize=0.5,style="setlinewidth(0.5)"]; "PyModelCspScifFixed" [URL="../lava-lib-optimization/lava.lib.optimization.solvers.generic.scif.html#lava.lib.optimization.solvers.generic.scif.models.PyModelCspScifFixed",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Concrete implementation of Stochastic Constraint Integrate and"]; "PyModelAbstractScifFixed" -> "PyModelCspScifFixed" [arrowsize=0.5,style="setlinewidth(0.5)"]; "PyModelQuboScifFixed" [URL="../lava-lib-optimization/lava.lib.optimization.solvers.generic.scif.html#lava.lib.optimization.solvers.generic.scif.models.PyModelQuboScifFixed",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Concrete implementation of Stochastic Constraint Integrate and"]; "PyModelAbstractScifFixed" -> "PyModelQuboScifFixed" [arrowsize=0.5,style="setlinewidth(0.5)"]; "PyModelQuboScifRefracFixed" [URL="../lava-lib-optimization/lava.lib.optimization.solvers.generic.scif.html#lava.lib.optimization.solvers.generic.scif.models.PyModelQuboScifRefracFixed",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="***Deprecated*** Concrete implementation of Stochastic Constraint"]; "PyLoihiProcessModel" -> "PyModelQuboScifRefracFixed" [arrowsize=0.5,style="setlinewidth(0.5)"]; }- class lava.lib.optimization.solvers.generic.scif.models.PyModelAbstractScifFixed(proc_params)
Bases:
PyLoihiProcessModel
Abstract fixed point implementation of Stochastic Constraint Integrate and Fire (SCIF) neuron for solving QUBO and CSP problems.
- a_in = LavaPyType(cls=<class 'lava.magma.core.model.py.ports.PyInPortVectorDense'>, d_type=<class 'int'>, precision=8)
-
cnstr_intg:
ndarray
= LavaPyType(cls=<class 'numpy.ndarray'>, d_type=<class 'int'>, precision=24)
-
noise_ampl:
ndarray
= LavaPyType(cls=<class 'numpy.ndarray'>, d_type=<class 'int'>, precision=5)
-
noise_prec:
ndarray
= LavaPyType(cls=<class 'numpy.ndarray'>, d_type=<class 'int'>, precision=5)
- run_spk()
Function that runs in Spiking Phase
- Return type:
None
- s_sig_out = LavaPyType(cls=<class 'lava.magma.core.model.py.ports.PyOutPortVectorDense'>, d_type=<class 'int'>, precision=8)
- s_wta_out = LavaPyType(cls=<class 'lava.magma.core.model.py.ports.PyOutPortVectorDense'>, d_type=<class 'int'>, precision=8)
-
spk_hist:
ndarray
= LavaPyType(cls=<class 'numpy.ndarray'>, d_type=<class 'int'>, precision=8)
-
state:
ndarray
= LavaPyType(cls=<class 'numpy.ndarray'>, d_type=<class 'int'>, precision=24)
-
step_size:
ndarray
= LavaPyType(cls=<class 'numpy.ndarray'>, d_type=<class 'int'>, precision=24)
-
sustained_on_tau:
ndarray
= LavaPyType(cls=<class 'numpy.ndarray'>, d_type=<class 'int'>, precision=24)
-
theta:
ndarray
= LavaPyType(cls=<class 'numpy.ndarray'>, d_type=<class 'int'>, precision=24)
- class lava.lib.optimization.solvers.generic.scif.models.PyModelCspScifFixed(proc_params)
Bases:
PyModelAbstractScifFixed
Concrete implementation of Stochastic Constraint Integrate and Fire (SCIF) neuron for solving CSP problems.
Derives from PyModelAbstractScifFixed.
- implements_protocol
alias of
LoihiProtocol
- required_resources: ty.List[ty.Type[AbstractResource]] = [<class 'lava.magma.core.resources.CPU'>]
- tags: ty.List[str] = ['fixed_pt']
- class lava.lib.optimization.solvers.generic.scif.models.PyModelQuboScifFixed(proc_params)
Bases:
PyModelAbstractScifFixed
Concrete implementation of Stochastic Constraint Integrate and Fire (SCIF) neuron for solving QUBO problems.
Derives from PyModelAbstractScifFixed.
-
cost_diagonal:
ndarray
= LavaPyType(cls=<class 'numpy.ndarray'>, d_type=<class 'int'>, precision=24)
- implements_protocol
alias of
LoihiProtocol
- required_resources: ty.List[ty.Type[AbstractResource]] = [<class 'lava.magma.core.resources.CPU'>]
- tags: ty.List[str] = ['fixed_pt']
-
cost_diagonal:
- class lava.lib.optimization.solvers.generic.scif.models.PyModelQuboScifRefracFixed(proc_params)
Bases:
PyLoihiProcessModel
*Deprecated* Concrete implementation of Stochastic Constraint Integrate and Fire (SCIF) neuron for solving QUBO problems.
- a_in = LavaPyType(cls=<class 'lava.magma.core.model.py.ports.PyInPortVectorDense'>, d_type=<class 'int'>, precision=8)
-
cost_diagonal:
ndarray
= LavaPyType(cls=<class 'numpy.ndarray'>, d_type=<class 'int'>, precision=24)
- implements_protocol
alias of
LoihiProtocol
-
noise_ampl:
ndarray
= LavaPyType(cls=<class 'numpy.ndarray'>, d_type=<class 'int'>, precision=1)
-
noise_shift:
ndarray
= LavaPyType(cls=<class 'numpy.ndarray'>, d_type=<class 'int'>, precision=24)
- required_resources: ty.List[ty.Type[AbstractResource]] = [<class 'lava.magma.core.resources.CPU'>]
- run_spk()
Function that runs in Spiking Phase
- Return type:
None
- s_sig_out = LavaPyType(cls=<class 'lava.magma.core.model.py.ports.PyOutPortVectorDense'>, d_type=<class 'int'>, precision=8)
- s_wta_out = LavaPyType(cls=<class 'lava.magma.core.model.py.ports.PyOutPortVectorDense'>, d_type=<class 'int'>, precision=8)
-
spk_hist:
ndarray
= LavaPyType(cls=<class 'numpy.ndarray'>, d_type=<class 'int'>, precision=8)
-
state:
ndarray
= LavaPyType(cls=<class 'numpy.ndarray'>, d_type=<class 'int'>, precision=24)
-
step_size:
ndarray
= LavaPyType(cls=<class 'numpy.ndarray'>, d_type=<class 'int'>, precision=24)
-
sustained_off_tau:
ndarray
= LavaPyType(cls=<class 'numpy.ndarray'>, d_type=<class 'int'>, precision=24)
-
sustained_on_tau:
ndarray
= LavaPyType(cls=<class 'numpy.ndarray'>, d_type=<class 'int'>, precision=24)
- tags: ty.List[str] = ['fixed_pt']
-
theta:
ndarray
= LavaPyType(cls=<class 'numpy.ndarray'>, d_type=<class 'int'>, precision=24)
lava.lib.optimization.solvers.generic.scif.process
digraph inheritance2c65fedc21 { bgcolor=transparent; rankdir=TB; size=""; "AbstractProcess" [URL="../../lava/lava.magma.core.process.html#lava.magma.core.process.process.AbstractProcess",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="The notion of a Process is inspired by the Communicating Sequential"]; "AbstractScif" [URL="../lava-lib-optimization/lava.lib.optimization.solvers.generic.scif.html#lava.lib.optimization.solvers.generic.scif.process.AbstractScif",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Abstract Process for Stochastic Constraint Integrate-and-Fire"]; "AbstractProcess" -> "AbstractScif" [arrowsize=0.5,style="setlinewidth(0.5)"]; "CspScif" [URL="../lava-lib-optimization/lava.lib.optimization.solvers.generic.scif.html#lava.lib.optimization.solvers.generic.scif.process.CspScif",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Stochastic Constraint Integrate-and-Fire neurons to solve CSPs."]; "AbstractScif" -> "CspScif" [arrowsize=0.5,style="setlinewidth(0.5)"]; "QuboScif" [URL="../lava-lib-optimization/lava.lib.optimization.solvers.generic.scif.html#lava.lib.optimization.solvers.generic.scif.process.QuboScif",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Stochastic Constraint Integrate-and-Fire neurons to solve QUBO"]; "AbstractScif" -> "QuboScif" [arrowsize=0.5,style="setlinewidth(0.5)"]; }- class lava.lib.optimization.solvers.generic.scif.process.AbstractScif(*, shape, step_size=1, theta=4, sustained_on_tau=0, noise_amplitude=0, noise_precision=0, init_value=0, init_state=0)
Bases:
AbstractProcess
Abstract Process for Stochastic Constraint Integrate-and-Fire (SCIF) neurons.
- property shape: Tuple[int, ...]
- class lava.lib.optimization.solvers.generic.scif.process.CspScif(*, shape, step_size=1, theta=4, sustained_on_tau=-5, noise_amplitude=0, noise_precision=8)
Bases:
AbstractScif
Stochastic Constraint Integrate-and-Fire neurons to solve CSPs.
- class lava.lib.optimization.solvers.generic.scif.process.QuboScif(*, shape, cost_diag, theta=4, sustained_on_tau=0, noise_amplitude=0, noise_precision=8)
Bases:
AbstractScif
Stochastic Constraint Integrate-and-Fire neurons to solve QUBO problems.