pygrenade_vx.network.abstract.PlasticityRule

class pygrenade_vx.network.abstract.PlasticityRule

Bases: pygrenade_common.PartitionedVertex

__init__(*args, **kwargs)

Overloaded function.

  1. __init__(self: _pygrenade_vx_network_abstract.PlasticityRule, recording: Optional[Union[grenade::vx::signal_flow::vertex::PlasticityRule::RawRecording, grenade::vx::signal_flow::vertex::PlasticityRule::TimedRecording]], id: grenade::vx::signal_flow::vertex::PlasticityRule::ID, population_shapes: list[pygrenade_common.MultiIndexSequence], projection_shapes: list[pygrenade_common.MultiIndexSequence], time_domain: pygrenade_common.TimeDomainOnTopology, execution_instance_on_executor: Optional[pygrenade_common.ExecutionInstanceOnExecutor] = None) -> None

  2. __init__(self: _pygrenade_vx_network_abstract.PlasticityRule, arg0: _pygrenade_vx_network_abstract.PlasticityRule) -> None

Methods

__init__(*args, **kwargs)

Overloaded function.

copy(self)

get_input_ports(self)

Get input ports to the plasticity rule.

get_output_ports(self)

Get output ports from the plasticity rule.

get_projection_shapes(self)

get_time_domain(self)

move(self)

set_population_shapes(self, value)

set_projection_shapes(self, value)

set_time_domain(self, value)

valid(self, time_domain_runtimes)

Only ClockCycleTimeDomainRuntimes are valid.

valid_input_port_data(self, …)

Only plasticity rule parameterization (input port index size-2) and dynamics (input port index size-1) are valid.

valid_output_port_data(self, …)

If the plasticity rule has a recording, only plasticity rule results are valid for output port index 0.

Attributes

id

recording

class Dynamics

Bases: pygrenade_common.BatchedPortData

class Timer

Bases: pybind11_builtins.pybind11_object

class Value

Bases: pybind11_builtins.pybind11_object

is_interval = False
lowest = 0
max = 18446744073709551615
min = 0
toEnum(self: _pygrenade_vx_network_abstract.Timer.Value) → pyhalco_common.Enum
value(self: _pygrenade_vx_network_abstract.Timer.Value) → int
get_last(self: _pygrenade_vx_network_abstract.Timer) → _pygrenade_vx_network_abstract.Timer.Value

Get last execution time.

property num_periods
property period
property start
batch_size(self: _pygrenade_vx_network_abstract.PlasticityRule.Dynamics) → int
copy(self: _pygrenade_vx_network_abstract.PlasticityRule.Dynamics) → pygrenade_common.PortData
move(self: _pygrenade_vx_network_abstract.PlasticityRule.Dynamics) → pygrenade_common.PortData
property timer
class DynamicsPortType

Bases: pygrenade_common.VertexPortType

copy(self: _pygrenade_vx_network_abstract.PlasticityRule.DynamicsPortType) → pygrenade_common.VertexPortType
move(self: _pygrenade_vx_network_abstract.PlasticityRule.DynamicsPortType) → pygrenade_common.VertexPortType
class ID

Bases: pybind11_builtins.pybind11_object

is_interval = False
lowest = 0
max = 18446744073709551615
min = 0
toEnum(self: _pygrenade_vx_network_abstract.ID) → pyhalco_common.Enum
value(self: _pygrenade_vx_network_abstract.ID) → int
class Parameterization

Bases: pygrenade_common.PortData

copy(self: _pygrenade_vx_network_abstract.PlasticityRule.Parameterization) → pygrenade_common.PortData
property kernel
move(self: _pygrenade_vx_network_abstract.PlasticityRule.Parameterization) → pygrenade_common.PortData
class ParameterizationPortType

Bases: pygrenade_common.VertexPortType

copy(self: _pygrenade_vx_network_abstract.PlasticityRule.ParameterizationPortType) → pygrenade_common.VertexPortType
move(self: _pygrenade_vx_network_abstract.PlasticityRule.ParameterizationPortType) → pygrenade_common.VertexPortType
class RawRecording

Bases: pybind11_builtins.pybind11_object

property placement_in_dram
property scratchpad_memory_size
class Results

Bases: pygrenade_common.BatchedPortData

RawData

alias of _pygrenade_vx_network_abstract.RawRecordingData

class TimedData

Bases: pybind11_builtins.pybind11_object

property data_array
property data_per_neuron
property data_per_synapse
batch_size(self: _pygrenade_vx_network_abstract.PlasticityRule.Results) → int
copy(self: _pygrenade_vx_network_abstract.PlasticityRule.Results) → pygrenade_common.PortData
property data
move(self: _pygrenade_vx_network_abstract.PlasticityRule.Results) → pygrenade_common.PortData
class ResultsPortType

Bases: pygrenade_common.VertexPortType

copy(self: _pygrenade_vx_network_abstract.PlasticityRule.ResultsPortType) → pygrenade_common.VertexPortType
move(self: _pygrenade_vx_network_abstract.PlasticityRule.ResultsPortType) → pygrenade_common.VertexPortType
TimedRecordingConfig

alias of _pygrenade_vx_network_abstract.TimedRecording

copy(self: _pygrenade_vx_network_abstract.PlasticityRule) → pygrenade_common.Vertex
get_input_ports(self: _pygrenade_vx_network_abstract.PlasticityRule) → list[pygrenade_common.Vertex.Port]

Get input ports to the plasticity rule.

get_output_ports(self: _pygrenade_vx_network_abstract.PlasticityRule) → list[pygrenade_common.Vertex.Port]

Get output ports from the plasticity rule.

get_projection_shapes(self: _pygrenade_vx_network_abstract.PlasticityRule) → list[pygrenade_common.MultiIndexSequence]
get_time_domain(self: _pygrenade_vx_network_abstract.PlasticityRule) → Optional[pygrenade_common.TimeDomainOnTopology]
property id
move(self: _pygrenade_vx_network_abstract.PlasticityRule) → pygrenade_common.Vertex
property recording
set_population_shapes(self: _pygrenade_vx_network_abstract.PlasticityRule, value: list[pygrenade_common.MultiIndexSequence]) → None
set_projection_shapes(self: _pygrenade_vx_network_abstract.PlasticityRule, value: list[pygrenade_common.MultiIndexSequence]) → None
set_time_domain(self: _pygrenade_vx_network_abstract.PlasticityRule, value: pygrenade_common.TimeDomainOnTopology) → None
valid(self: _pygrenade_vx_network_abstract.PlasticityRule, time_domain_runtimes: pygrenade_common.TimeDomainRuntimes) → bool

Only ClockCycleTimeDomainRuntimes are valid.

valid_input_port_data(self: _pygrenade_vx_network_abstract.PlasticityRule, input_port_on_vertex: int, dynamics: pygrenade_common.PortData) → bool

Only plasticity rule parameterization (input port index size-2) and dynamics (input port index size-1) are valid.

valid_output_port_data(self: _pygrenade_vx_network_abstract.PlasticityRule, output_port_on_vertex: int, recording: pygrenade_common.PortData) → bool

If the plasticity rule has a recording, only plasticity rule results are valid for output port index 0.