Пример #1
0
 def __init__(self,
              n_neurons,
              machine_time_step,
              timescale_factor,
              spikes_per_second,
              ring_buffer_sigma,
              constraints=None,
              label="SpikeSourcePoisson",
              rate=1.0,
              start=0.0,
              duration=None,
              seed=None):
     """
     Creates a new SpikeSourcePoisson Object.
     """
     AbstractPartitionableVertex.__init__(
         self,
         n_atoms=n_neurons,
         label=label,
         constraints=constraints,
         max_atoms_per_core=self._model_based_max_atoms_per_core)
     AbstractPopulationRecordableVertex.__init__(self, machine_time_step,
                                                 label)
     AbstractDataSpecableVertex.__init__(
         self,
         machine_time_step=machine_time_step,
         timescale_factor=timescale_factor)
     AbstractOutgoingEdgeSameContiguousKeysRestrictor.__init__(self)
     self._rate = rate
     self._start = start
     self._duration = duration
     self._seed = seed
    def __init__(self,
                 n_neurons,
                 n_params,
                 binary,
                 label,
                 max_atoms_per_core,
                 machine_time_step,
                 timescale_factor,
                 spikes_per_second,
                 ring_buffer_sigma,
                 weight_scale=1.0,
                 constraints=None):

        AbstractPopulationRecordableVertex.__init__(self, machine_time_step,
                                                    label)
        AbstractPopulationDataSpec.__init__(
            self,
            binary,
            n_neurons,
            label,
            constraints,
            machine_time_step=machine_time_step,
            timescale_factor=timescale_factor,
            max_atoms_per_core=max_atoms_per_core,
            spikes_per_second=spikes_per_second,
            ring_buffer_sigma=ring_buffer_sigma)
        self._n_params = n_params
        self._weight_scale = weight_scale
Пример #3
0
    def __init__(
            self, n_neurons, spike_times, machine_time_step, spikes_per_second,
            ring_buffer_sigma, timescale_factor, port=None, tag=None,
            ip_address=None, board_address=None,
            max_on_chip_memory_usage_for_spikes_in_bytes=None,
            space_before_notification=640,
            constraints=None, label="SpikeSourceArray"):
        if ip_address is None:
            ip_address = config.get("Buffers", "receive_buffer_host")
        if port is None:
            port = config.getint("Buffers", "receive_buffer_port")

        AbstractDataSpecableVertex.__init__(
            self, machine_time_step=machine_time_step,
            timescale_factor=timescale_factor)
        AbstractPartitionableVertex.__init__(
            self, n_atoms=n_neurons, label=label,
            max_atoms_per_core=self._model_based_max_atoms_per_core,
            constraints=constraints)
        AbstractOutgoingEdgeSameContiguousKeysRestrictor.__init__(self)
        AbstractPopulationRecordableVertex.__init__(
            self, machine_time_step, label)
        self._spike_times = spike_times
        self._max_on_chip_memory_usage_for_spikes = \
            max_on_chip_memory_usage_for_spikes_in_bytes
        self._space_before_notification = space_before_notification

        self.add_constraint(TagAllocatorRequireIptagConstraint(
            ip_address, port, strip_sdp=True, board_address=board_address,
            tag_id=tag))

        if self._max_on_chip_memory_usage_for_spikes is None:
            self._max_on_chip_memory_usage_for_spikes = \
                front_end_common_constants.MAX_SIZE_OF_BUFFERED_REGION_ON_CHIP

        # check the values do not conflict with chip memory limit
        if self._max_on_chip_memory_usage_for_spikes < 0:
            raise ConfigurationException(
                "The memory usage on chip is either beyond what is supportable"
                " on the spinnaker board being supported or you have requested"
                " a negative value for a memory usage. Please correct and"
                " try again")

        if (self._max_on_chip_memory_usage_for_spikes <
                self._space_before_notification):
            self._space_before_notification =\
                self._max_on_chip_memory_usage_for_spikes

        # Keep track of any previously generated buffers
        self._send_buffers = dict()
        self._spike_recording_region_size = None
    def __init__(self, n_neurons, n_params, binary, label, max_atoms_per_core,
                 machine_time_step, timescale_factor, spikes_per_second,
                 ring_buffer_sigma, weight_scale=1.0, constraints=None):

        AbstractPopulationRecordableVertex.__init__(
            self, machine_time_step, label)
        AbstractPopulationDataSpec.__init__(
            self, binary, n_neurons, label, constraints,
            machine_time_step=machine_time_step,
            timescale_factor=timescale_factor,
            max_atoms_per_core=max_atoms_per_core,
            spikes_per_second=spikes_per_second,
            ring_buffer_sigma=ring_buffer_sigma)
        self._n_params = n_params
        self._weight_scale = weight_scale
Пример #5
0
 def __init__(self, n_neurons, machine_time_step, timescale_factor,
              spikes_per_second, ring_buffer_sigma,
              constraints=None, label="SpikeSourcePoisson",
              rate=1.0, start=0.0, duration=None, seed=None):
     """
     Creates a new SpikeSourcePoisson Object.
     """
     AbstractPartitionableVertex.__init__(
         self, n_atoms=n_neurons, label=label, constraints=constraints,
         max_atoms_per_core=self._model_based_max_atoms_per_core)
     AbstractPopulationRecordableVertex.__init__(
         self, machine_time_step, label)
     AbstractDataSpecableVertex.__init__(
         self, machine_time_step=machine_time_step,
         timescale_factor=timescale_factor)
     AbstractOutgoingEdgeSameContiguousKeysRestrictor.__init__(self)
     self._rate = rate
     self._start = start
     self._duration = duration
     self._seed = seed