AbstractPerturbationNHeuristicModel

Full Name

neuroptimiser.core.models.AbstractPerturbationNHeuristicModel

Description

class AbstractPerturbationNHeuristicModel[source]

Bases: PyLoihiProcessModel

Abstract model for a perturbation-based nheuristic process model

This model serves as a base for implementing various perturbation-based process models.

See also

neuroptimiser.core.processes.AbstractSpikingCore

Abstract process that implements a spiking core for perturbation-based nheuristics.

__init__(proc_params)[source]

Initialises the process model with the given parameters.

Parameters:

proc_params (dict) –

A dictionary containing the parameters for the process model. It should include:
  • seed: int, random seed for reproducibility

  • num_dimensions: int, number of dimensions for the perturbation

  • num_neighbours: int, number of neighbours for the perturbation

fg_in: PyInPort = LavaPyType(cls=<class 'lava.magma.core.model.py.ports.PyInPortVectorDense'>, d_type=<class 'numpy.float32'>, precision=None)
fp_in: PyInPort = LavaPyType(cls=<class 'lava.magma.core.model.py.ports.PyInPortVectorDense'>, d_type=<class 'numpy.float32'>, precision=None)
fxn_in: PyInPort = LavaPyType(cls=<class 'lava.magma.core.model.py.ports.PyInPortVectorDense'>, d_type=<class 'numpy.float32'>, precision=None)
g_in: PyInPort = LavaPyType(cls=<class 'lava.magma.core.model.py.ports.PyInPortVectorDense'>, d_type=<class 'numpy.float32'>, precision=None)
p_in: PyInPort = LavaPyType(cls=<class 'lava.magma.core.model.py.ports.PyInPortVectorDense'>, d_type=<class 'numpy.float32'>, precision=None)
s_in: PyInPort = LavaPyType(cls=<class 'lava.magma.core.model.py.ports.PyInPortVectorDense'>, d_type=<class 'bool'>, precision=None)
s_out: PyOutPort = LavaPyType(cls=<class 'lava.magma.core.model.py.ports.PyOutPortVectorDense'>, d_type=<class 'bool'>, precision=None)
x: ndarray = LavaPyType(cls=<class 'numpy.ndarray'>, d_type=<class 'float'>, precision=None)
x_out: PyOutPort = LavaPyType(cls=<class 'lava.magma.core.model.py.ports.PyOutPortVectorDense'>, d_type=<class 'numpy.float32'>, precision=None)
xn_in: PyInPort = LavaPyType(cls=<class 'lava.magma.core.model.py.ports.PyInPortVectorDense'>, d_type=<class 'numpy.float32'>, precision=None)