Source code for spynnaker8.models.connectors.kernel_connector

# Copyright (c) 2017-2019 The University of Manchester
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program.  If not, see <http://www.gnu.org/licenses/>.

from spynnaker.pyNN.models.neural_projections.connectors import (
    KernelConnector as
    CommonKernelConnector)


[docs]class KernelConnector(CommonKernelConnector): """ Where the pre- and post-synaptic populations are considered as a 2D array. Connect every post(row, col) neuron to many pre(row, col, kernel) through a (kernel) set of weights and/or delays. TODO: should these include allow_self_connections and with_replacement? :param shape_pre:\ 2D shape of the pre population (rows/height, cols/width, usually \ the input image shape) :param shape_post:\ 2D shape of the post population (rows/height, cols/width) :param shape_kernel:\ 2D shape of the kernel (rows/height, cols/width) :param weight_kernel (optional):\ 2D matrix of size shape_kernel describing the weights :param delay_kernel (optional):\ 2D matrix of size shape_kernel describing the delays :param shape_common (optional):\ 2D shape of common coordinate system (for both pre and post, \ usually the input image sizes) :param pre/post_sample_steps (optional):\ Sampling steps/jumps for pre/post pop <=> (startX, endX, _stepX_) None or 2-item array :param pre/post_start_coords (optional):\ Starting row/col for pre/post sampling <=> (_startX_, endX, stepX) None or 2-item array """ __slots__ = [] def __init__( self, shape_pre, shape_post, shape_kernel, weight_kernel=None, delay_kernel=None, shape_common=None, pre_sample_steps=None, pre_start_coords=None, post_sample_steps=None, post_start_coords=None, safe=True, space=None, verbose=False): # pylint: disable=too-many-arguments super(KernelConnector, self).__init__( shape_pre, shape_post, shape_kernel, weight_kernel, delay_kernel, shape_common, pre_sample_steps, pre_start_coords, post_sample_steps, post_start_coords, safe, space, verbose)