pyclustering.nnet.pcnn.pcnn_network Class Reference

Model of oscillatory network that is based on the Eckhorn model. More...

+ Inheritance diagram for pyclustering.nnet.pcnn.pcnn_network:
+ Collaboration diagram for pyclustering.nnet.pcnn.pcnn_network:

Public Member Functions

def __init__ (self, num_osc, parameters=None, type_conn=conn_type.ALL_TO_ALL, type_conn_represent=conn_represent.MATRIX, height=None, width=None, ccore=True)
 Constructor of oscillatory network is based on Kuramoto model. More...
 
def __del__ (self)
 Default destructor of PCNN.
 
def __len__ (self)
 (uint) Returns size of oscillatory network.
 
def simulate (self, steps, stimulus)
 Performs static simulation of pulse coupled neural network using. More...
 
- Public Member Functions inherited from pyclustering.nnet.network
def height (self)
 Height of the network grid (that is defined by amout of oscillators in each column), this value is zero in case of non-grid structure. More...
 
def width (self)
 Width of the network grid, this value is zero in case of non-grid structure. More...
 
def structure (self)
 Type of network structure that is used for connecting oscillators.
 
def __init__ (self, num_osc, type_conn=conn_type.ALL_TO_ALL, conn_repr=conn_represent.MATRIX, height=None, width=None)
 Constructor of the network. More...
 
def __len__ (self)
 Returns size of the network that is defined by amount of oscillators.
 
def has_connection (self, i, j)
 Returns True if there is connection between i and j oscillators and False - if connection doesn't exist. More...
 
def set_connection (self, i, j)
 Couples two specified oscillators in the network with dynamic connections. More...
 
def get_neighbors (self, index)
 Finds neighbors of the oscillator with specified index. More...
 

Detailed Description

Model of oscillatory network that is based on the Eckhorn model.

CCORE option can be used to use the pyclustering core - C/C++ shared library for processing that significantly increases performance.

Example:

# Create pulse-coupled neural network:
# - 9 oscillators.
# - default parameters.
# - grid type of connections (each oscillator has connection with four neighbors).
net = pcnn_network(9, None, conn_type.GRID_FOUR, ccore = ccore_flag)
# Create external stimulus. Number of stimulus should be equal to number of neurons.
stimulus = [1, 1, 1, 0, 0, 0, 1, 1, 1]
# Simulate dynamic of the network during 40 iterations
dynamic = net.simulate(40, stimulus)
# Allocate synchronous oscillators
ensembles = dynamic.allocate_sync_ensembles()
print(ensembles)
# Show output dynamic of the network
pcnn_visualizer.show_output_dynamic(dynamic)
# Show time signal vector information
pcnn_visualizer.show_time_signal(dynamic)

Definition at line 318 of file pcnn.py.

Constructor & Destructor Documentation

◆ __init__()

def pyclustering.nnet.pcnn.pcnn_network.__init__ (   self,
  num_osc,
  parameters = None,
  type_conn = conn_type.ALL_TO_ALL,
  type_conn_represent = conn_represent.MATRIX,
  height = None,
  width = None,
  ccore = True 
)

Constructor of oscillatory network is based on Kuramoto model.

Parameters
[in]num_osc(uint): Number of oscillators in the network.
[in]parameters(pcnn_parameters): Parameters of the network.
[in]type_conn(conn_type): Type of connection between oscillators in the network (all-to-all, grid, bidirectional list, etc.).
[in]type_conn_represent(conn_represent): Internal representation of connection in the network: matrix or list.
[in]height(uint): Number of oscillators in column of the network, this argument is used only for network with grid structure (GRID_FOUR, GRID_EIGHT), for other types this argument is ignored.
[in]width(uint): Number of oscillotors in row of the network, this argument is used only for network with grid structure (GRID_FOUR, GRID_EIGHT), for other types this argument is ignored.
[in]ccore(bool): If True then all interaction with object will be performed via CCORE library (C++ implementation of pyclustering).

Definition at line 354 of file pcnn.py.

Member Function Documentation

◆ simulate()

def pyclustering.nnet.pcnn.pcnn_network.simulate (   self,
  steps,
  stimulus 
)

Performs static simulation of pulse coupled neural network using.

Parameters
[in]steps(uint): Number steps of simulations during simulation.
[in]stimulus(list): Stimulus for oscillators, number of stimulus should be equal to number of oscillators.
Returns
(pcnn_dynamic) Dynamic of oscillatory network - output of each oscillator on each step of simulation.

Definition at line 435 of file pcnn.py.


The documentation for this class was generated from the following file: