def _get_n_connections_from_pre_vertex_with_delay_maximum(
         self, delays, n_total_connections, n_connections,
         min_delay, max_delay):
     """ Get the expected number of delays that will fall within min_delay\
         and max_delay given given a float, RandomDistribution or list of\
         delays.
     """
     # pylint: disable=too-many-arguments
     if get_simulator().is_a_pynn_random(delays):
         prob_in_range = utility_calls.get_probability_within_range(
             delays, min_delay, max_delay)
         return int(math.ceil(utility_calls.get_probable_maximum_selected(
             n_total_connections, n_connections, prob_in_range)))
     elif numpy.isscalar(delays):
         if min_delay <= delays <= max_delay:
             return int(math.ceil(n_connections))
         return 0
     elif hasattr(delays, "__getitem__"):
         n_delayed = sum([len([
             delay for delay in delays
             if min_delay <= delay <= max_delay])])
         if n_delayed == 0:
             return 0
         n_total = len(delays)
         prob_delayed = float(n_delayed) / float(n_total)
         return int(math.ceil(utility_calls.get_probable_maximum_selected(
             n_total_connections, n_connections, prob_delayed)))
     raise Exception("Unrecognised delay format")
Пример #2
0
 def _get_n_connections_from_pre_vertex_with_delay_maximum(
         delays, n_total_connections, n_connections, connection_slices,
         min_delay, max_delay):
     """ Gets the expected number of delays that will fall within min_delay\
         and max_delay given given a float, RandomDistribution or list of\
         delays
     """
     if globals_variables.get_simulator().is_a_pynn_random(delays):
         prob_in_range = utility_calls.get_probability_within_range(
             delays, min_delay, max_delay)
         return int(
             math.ceil(
                 utility_calls.get_probable_maximum_selected(
                     n_total_connections, n_connections, prob_in_range)))
     elif numpy.isscalar(delays):
         if min_delay <= delays <= max_delay:
             return int(math.ceil(n_connections))
         return 0
     elif hasattr(delays, "__getitem__"):
         n_delayed = sum([
             len([
                 delay for delay in delays[connection_slice]
                 if min_delay <= delay <= max_delay
             ]) for connection_slice in connection_slices
         ])
         n_total = sum([
             len(delays[connection_slice])
             for connection_slice in connection_slices
         ])
         prob_delayed = float(n_delayed) / float(n_total)
         return int(
             math.ceil(
                 utility_calls.get_probable_maximum_selected(
                     n_total_connections, n_delayed, prob_delayed)))
     raise Exception("Unrecognised delay format")
    def get_n_connections_from_pre_vertex_maximum(self,
                                                  post_vertex_slice,
                                                  synapse_info,
                                                  min_delay=None,
                                                  max_delay=None):
        # pylint: disable=too-many-arguments
        prob_selection = 1.0 / float(synapse_info.n_pre_neurons)
        n_connections_total = utility_calls.get_probable_maximum_selected(
            synapse_info.n_pre_neurons * synapse_info.n_post_neurons,
            self.__n_pre * synapse_info.n_post_neurons,
            prob_selection,
            chance=1.0 / 10000.0)
        prob_in_slice = min(
            float(post_vertex_slice.n_atoms) /
            float(synapse_info.n_post_neurons), 1.0)
        n_connections = utility_calls.get_probable_maximum_selected(
            synapse_info.n_pre_neurons * synapse_info.n_post_neurons,
            n_connections_total,
            prob_in_slice,
            chance=1.0 / 100000.0)

        if min_delay is None or max_delay is None:
            return int(math.ceil(n_connections))

        return self._get_n_connections_from_pre_vertex_with_delay_maximum(
            synapse_info.delays,
            synapse_info.n_pre_neurons * synapse_info.n_post_neurons,
            n_connections, min_delay, max_delay)
Пример #4
0
 def _get_n_connections_from_pre_vertex_with_delay_maximum(
         self, delays, n_total_connections, n_connections, min_delay,
         max_delay):
     """ Get the expected number of delays that will fall within min_delay\
         and max_delay given given a float, RandomDistribution or list of\
         delays.
     """
     # pylint: disable=too-many-arguments
     if get_simulator().is_a_pynn_random(delays):
         prob_in_range = utility_calls.get_probability_within_range(
             delays, min_delay, max_delay)
         return int(
             math.ceil(
                 utility_calls.get_probable_maximum_selected(
                     n_total_connections, n_connections, prob_in_range)))
     elif numpy.isscalar(delays):
         if min_delay <= delays <= max_delay:
             return int(math.ceil(n_connections))
         return 0
     elif hasattr(delays, "__getitem__"):
         n_delayed = sum([
             len([
                 delay for delay in delays
                 if min_delay <= delay <= max_delay
             ])
         ])
         if n_delayed == 0:
             return 0
         n_total = len(delays)
         prob_delayed = float(n_delayed) / float(n_total)
         return int(
             math.ceil(
                 utility_calls.get_probable_maximum_selected(
                     n_total_connections, n_connections, prob_delayed)))
     raise Exception("Unrecognised delay format")
Пример #5
0
 def _get_n_connections_from_pre_vertex_with_delay_maximum(
         delays, n_total_connections, n_connections, connection_slices,
         min_delay, max_delay):
     """ Gets the expected number of delays that will fall within min_delay\
         and max_delay given given a float, RandomDistribution or list of\
         delays
     """
     if isinstance(delays, RandomDistribution):
         prob_in_range = utility_calls.get_probability_within_range(
             delays, min_delay, max_delay)
         return int(math.ceil(utility_calls.get_probable_maximum_selected(
             n_total_connections, n_connections, prob_in_range)))
     elif numpy.isscalar(delays):
         if min_delay <= delays <= max_delay:
             return int(math.ceil(n_connections))
         return 0
     elif hasattr(delays, "__getitem__"):
         n_delayed = sum([len([
             delay for delay in delays[connection_slice]
             if min_delay <= delay <= max_delay])
             for connection_slice in connection_slices])
         n_total = sum([
             len(delays[connection_slice])
             for connection_slice in connection_slices])
         prob_delayed = float(n_delayed) / float(n_total)
         return int(math.ceil(utility_calls.get_probable_maximum_selected(
             n_total_connections, n_delayed, prob_delayed)))
     raise Exception("Unrecognised delay format")
Пример #6
0
    def _get_n_connections_from_pre_vertex_with_delay_maximum(
            self, delays, n_total_connections, n_connections, min_delay,
            max_delay, synapse_info):
        """ Get the expected number of delays that will fall within min_delay
            and max_delay given given a float, RandomDistribution or list of
            delays.

        :param delays:
        :type delays: ~numpy.ndarray or pyNN.random.NumpyRNG or int or float
            or list(int) or list(float)
        :param int n_total_connections:
        :param int n_connections:
        :param float min_delay:
        :param float max_delay:
        :rtype: float
        """
        if isinstance(delays, RandomDistribution):
            prob_in_range = utility_calls.get_probability_within_range(
                delays, min_delay, max_delay)
            return int(
                math.ceil(
                    utility_calls.get_probable_maximum_selected(
                        n_total_connections, n_connections, prob_in_range)))
        elif isinstance(delays, str):
            d = self._get_distances(delays, synapse_info)
            delays = _expr_context.eval(delays, d=d)
            n_delayed = sum([
                len([
                    delay for delay in delays
                    if min_delay <= delay <= max_delay
                ])
            ])
            if n_delayed == 0:
                return 0
            n_total = len(delays)
            prob_delayed = float(n_delayed) / float(n_total)
            return int(
                math.ceil(
                    utility_calls.get_probable_maximum_selected(
                        n_total_connections, n_connections, prob_delayed)))
        elif numpy.isscalar(delays):
            if min_delay <= delays <= max_delay:
                return int(math.ceil(n_connections))
            return 0
        elif hasattr(delays, "__getitem__"):
            n_delayed = sum([
                len([
                    delay for delay in delays
                    if min_delay <= delay <= max_delay
                ])
            ])
            if n_delayed == 0:
                return 0
            n_total = len(delays)
            prob_delayed = float(n_delayed) / float(n_total)
            return int(
                math.ceil(
                    utility_calls.get_probable_maximum_selected(
                        n_total_connections, n_connections, prob_delayed)))
        raise SpynnakerException("Unrecognised delay format")
 def get_delay_maximum(self, delays):
     return self._get_delay_maximum(
         delays,
         utility_calls.get_probable_maximum_selected(
             self._n_pre_neurons * self._n_post_neurons,
             self._n_pre_neurons * self._n_post_neurons,
             numpy.amax(self._probs)))
Пример #8
0
 def get_delay_maximum(self, synapse_info):
     self._update_probs_from_index_expression(synapse_info)
     n_connections = utility_calls.get_probable_maximum_selected(
         synapse_info.n_pre_neurons * synapse_info.n_post_neurons,
         synapse_info.n_pre_neurons * synapse_info.n_post_neurons,
         numpy.amax(self.__probs))
     return self._get_delay_maximum(synapse_info.delays, n_connections)
Пример #9
0
 def get_delay_maximum(self, synapse_info):
     return self._get_delay_maximum(
         synapse_info.delays,
         get_probable_maximum_selected(
             synapse_info.n_pre_neurons * synapse_info.n_post_neurons,
             synapse_info.n_pre_neurons * synapse_info.n_post_neurons,
             numpy.amax(self.__probs)), synapse_info)
 def get_n_connections_to_post_vertex_maximum(self, synapse_info):
     # pylint: disable=too-many-arguments
     n_connections = utility_calls.get_probable_maximum_selected(
         synapse_info.n_pre_neurons * synapse_info.n_post_neurons,
         synapse_info.n_pre_neurons, self._p_connect,
         chance=1.0/10000.0)
     return n_connections
 def get_delay_maximum(self, delays):
     return self._get_delay_maximum(
         delays,
         utility_calls.get_probable_maximum_selected(
             self._n_pre_neurons * self._n_post_neurons,
             self._n_pre_neurons * self._n_post_neurons,
             numpy.amax(self.__probs)))
 def get_weight_maximum(self, weights):
     self._update_probs_from_index_expression()
     n_connections = utility_calls.get_probable_maximum_selected(
         self._n_pre_neurons * self._n_post_neurons,
         self._n_pre_neurons * self._n_post_neurons,
         numpy.amax(self._probs))
     return self._get_weight_maximum(weights, n_connections)
 def get_weight_maximum(self, synapse_info):
     # pylint: disable=too-many-arguments
     n_connections = utility_calls.get_probable_maximum_selected(
         synapse_info.n_pre_neurons * synapse_info.n_post_neurons,
         synapse_info.n_pre_neurons * synapse_info.n_post_neurons,
         self._p_connect)
     return self._get_weight_maximum(synapse_info.weights, n_connections)
Пример #14
0
    def get_n_connections_from_pre_vertex_maximum(
            self, post_vertex_slice, min_delay=None, max_delay=None):
        prob_in_slice = (
            float(post_vertex_slice.n_atoms) / float(self._n_post_neurons))
        max_in_slice = utility_calls.get_probable_maximum_selected(
            self._num_synapses, self._num_synapses, prob_in_slice)
        prob_in_row = 1.0 / float(self._n_pre_neurons)
        n_connections = utility_calls.get_probable_maximum_selected(
            self._num_synapses, max_in_slice, prob_in_row)

        if min_delay is None or max_delay is None:
            return int(math.ceil(n_connections))

        return self._get_n_connections_from_pre_vertex_with_delay_maximum(
            self._n_pre_neurons * self._n_post_neurons, n_connections,
            min_delay, max_delay)
Пример #15
0
 def get_delay_maximum(self, synapse_info):
     n_connections = get_probable_maximum_selected(
         synapse_info.n_pre_neurons * synapse_info.n_post_neurons,
         synapse_info.n_pre_neurons * synapse_info.n_post_neurons,
         self._p_connect)
     return self._get_delay_maximum(synapse_info.delays, n_connections,
                                    synapse_info)
Пример #16
0
 def get_weight_maximum(self):
     # pylint: disable=too-many-arguments
     return self._get_weight_maximum(
         utility_calls.get_probable_maximum_selected(
             self._n_pre_neurons * self._n_post_neurons,
             self._n_pre_neurons * self._n_post_neurons,
             numpy.amax(self._probs)))
Пример #17
0
    def get_n_connections_from_pre_vertex_maximum(
            self, pre_slices, pre_slice_index, post_slices,
            post_slice_index, pre_vertex_slice, post_vertex_slice,
            min_delay=None, max_delay=None):

        self._update_synapses_per_post_vertex(pre_slices, post_slices)

        n_total_connections = self._get_n_connections(
            pre_slice_index, post_slice_index)
        if n_total_connections == 0:
            return 0
        prob_per_atom = (
            float(n_total_connections) /
            float(pre_vertex_slice.n_atoms * post_vertex_slice.n_atoms))
        full_connections = 0
        while prob_per_atom > 1.0:
            full_connections += 1
            prob_per_atom -= 1.0
        n_connections_per_pre_atom = \
            utility_calls.get_probable_maximum_selected(
                self._n_pre_neurons * self._n_post_neurons,
                post_vertex_slice.n_atoms, prob_per_atom)
        n_connections_per_pre_atom += (
            full_connections * post_vertex_slice.n_atoms)

        if min_delay is None or max_delay is None:
            return n_connections_per_pre_atom

        return self._get_n_connections_from_pre_vertex_with_delay_maximum(
            self._delays, self._n_pre_neurons * self._n_post_neurons,
            n_connections_per_pre_atom,
            [self._get_connection_slice(pre_slice_index, post_slice_index)],
            min_delay, max_delay)
Пример #18
0
 def get_weight_maximum(self, weights):
     self._update_probs_from_index_expression()
     n_connections = utility_calls.get_probable_maximum_selected(
         self._n_pre_neurons * self._n_post_neurons,
         self._n_pre_neurons * self._n_post_neurons,
         numpy.amax(self._probs))
     return self._get_weight_maximum(weights, n_connections)
Пример #19
0
    def get_n_connections_from_pre_vertex_maximum(
            self, pre_slices, pre_slice_index, post_slices,
            post_slice_index, pre_vertex_slice, post_vertex_slice,
            min_delay=None, max_delay=None):

        self._update_synapses_per_post_vertex(pre_slices, post_slices)

        n_total_connections = self._get_n_connections(
            pre_slice_index, post_slice_index)
        if n_total_connections == 0:
            return 0
        prob_per_atom = (
            float(n_total_connections) /
            float(pre_vertex_slice.n_atoms * post_vertex_slice.n_atoms))
        full_connections = 0
        while prob_per_atom > 1.0:
            full_connections += 1
            prob_per_atom -= 1.0
        n_connections_per_pre_atom = \
            utility_calls.get_probable_maximum_selected(
                self._n_pre_neurons * self._n_post_neurons,
                post_vertex_slice.n_atoms, prob_per_atom)
        n_connections_per_pre_atom += (
            full_connections * post_vertex_slice.n_atoms)

        if min_delay is None or max_delay is None:
            return n_connections_per_pre_atom

        return self._get_n_connections_from_pre_vertex_with_delay_maximum(
            self._delays, self._n_pre_neurons * self._n_post_neurons,
            n_connections_per_pre_atom,
            [self._get_connection_slice(pre_slice_index, post_slice_index)],
            min_delay, max_delay)
    def get_n_connections_from_pre_vertex_maximum(
            self, delays, post_vertex_slice, min_delay=None, max_delay=None):
        prob_in_slice = (
            float(post_vertex_slice.n_atoms) / float(self._n_post_neurons))
        max_in_slice = utility_calls.get_probable_maximum_selected(
            self._num_synapses, self._num_synapses, prob_in_slice)
        prob_in_row = 1.0 / float(self._n_pre_neurons)
        n_connections = utility_calls.get_probable_maximum_selected(
            self._num_synapses, max_in_slice, prob_in_row)

        if min_delay is None or max_delay is None:
            return int(math.ceil(n_connections))

        return self._get_n_connections_from_pre_vertex_with_delay_maximum(
            delays, self._n_pre_neurons * self._n_post_neurons,
            n_connections, min_delay, max_delay)
Пример #21
0
 def get_weight_maximum(self, synapse_info):
     # pylint: disable=too-many-arguments
     return self._get_weight_maximum(
         synapse_info.weights,
         get_probable_maximum_selected(
             synapse_info.n_pre_neurons * synapse_info.n_post_neurons,
             synapse_info.n_pre_neurons * synapse_info.n_post_neurons,
             numpy.amax(self.__probs)), synapse_info)
 def get_weight_maximum(self, weights):
     # pylint: disable=too-many-arguments
     return self._get_weight_maximum(
         weights,
         utility_calls.get_probable_maximum_selected(
             self._n_pre_neurons * self._n_post_neurons,
             self._n_pre_neurons * self._n_post_neurons,
             numpy.amax(self._probs)))
Пример #23
0
 def get_n_connections_to_post_vertex_maximum(self, synapse_info):
     # pylint: disable=too-many-arguments
     selection_prob = 1.0 / float(synapse_info.n_post_neurons)
     n_connections = utility_calls.get_probable_maximum_selected(
         synapse_info.n_pre_neurons * synapse_info.n_post_neurons,
         synapse_info.n_pre_neurons, selection_prob,
         chance=1.0/100000.0)
     return int(math.ceil(n_connections))
 def get_n_connections_to_post_vertex_maximum(self):
     # pylint: disable=too-many-arguments
     selection_prob = 1.0 / float(self._n_post_neurons)
     n_connections = utility_calls.get_probable_maximum_selected(
         self._n_post_neurons * self._n_pre_neurons,
         self._n_post * self._n_pre_neurons, selection_prob,
         chance=1.0/100000.0)
     return int(math.ceil(n_connections))
 def get_delay_maximum(self):
     self._update_probs_from_index_expression()
     return self._get_delay_maximum(
         self._delays,
         utility_calls.get_probable_maximum_selected(
             self._n_pre_neurons * self._n_post_neurons,
             self._n_pre_neurons * self._n_post_neurons,
             numpy.amax(self._probs)))
    def get_n_connections_from_pre_vertex_maximum(
            self, delays, post_vertex_slice, min_delay=None, max_delay=None):
        # pylint: disable=too-many-arguments
        prob_selection = 1.0 / float(self._n_pre_neurons)
        n_connections_total = utility_calls.get_probable_maximum_selected(
            self._n_pre_neurons * self._n_post_neurons,
            self._n_pre * self._n_post_neurons, prob_selection,
            chance=1.0/10000.0)
        prob_in_slice = (
            float(post_vertex_slice.n_atoms) / float(self._n_post_neurons))
        n_connections = utility_calls.get_probable_maximum_selected(
            self._n_pre_neurons * self._n_post_neurons,
            n_connections_total, prob_in_slice)

        if min_delay is None or max_delay is None:
            return int(math.ceil(n_connections))

        return self._get_n_connections_from_pre_vertex_with_delay_maximum(
            delays, self._n_pre_neurons * self._n_post_neurons,
            n_connections, min_delay, max_delay)
Пример #27
0
    def get_n_connections_from_pre_vertex_maximum(
            self, delays, post_vertex_slice, min_delay=None, max_delay=None):
        self._update_probs_from_index_expression()
        n_connections = utility_calls.get_probable_maximum_selected(
            self._n_pre_neurons * self._n_post_neurons,
            post_vertex_slice.n_atoms, numpy.amax(self.__probs))

        if min_delay is None or max_delay is None:
            return int(math.ceil(n_connections))

        return self._get_n_connections_from_pre_vertex_with_delay_maximum(
            delays, self._n_pre_neurons * self._n_post_neurons,
            n_connections, min_delay, max_delay)
    def get_n_connections_from_pre_vertex_maximum(
            self, delays, post_vertex_slice, min_delay=None, max_delay=None):
        self._update_probs_from_index_expression()
        n_connections = utility_calls.get_probable_maximum_selected(
            self._n_pre_neurons * self._n_post_neurons,
            post_vertex_slice.n_atoms, numpy.amax(self._probs))

        if min_delay is None or max_delay is None:
            return int(math.ceil(n_connections))

        return self._get_n_connections_from_pre_vertex_with_delay_maximum(
            delays, self._n_pre_neurons * self._n_post_neurons,
            n_connections, min_delay, max_delay)
Пример #29
0
    def get_n_connections_from_pre_vertex_maximum(
            self, delays, post_vertex_slice, min_delay=None, max_delay=None):
        # pylint: disable=too-many-arguments
        n_connections = utility_calls.get_probable_maximum_selected(
            self._n_pre_neurons * self._n_post_neurons,
            post_vertex_slice.n_atoms, self._p_connect, chance=1.0/10000.0)

        if min_delay is None or max_delay is None:
            return int(math.ceil(n_connections))

        return self._get_n_connections_from_pre_vertex_with_delay_maximum(
            delays, self._n_pre_neurons * self._n_post_neurons,
            n_connections, min_delay, max_delay)
    def get_n_connections_from_pre_vertex_maximum(
            self, delays, post_vertex_slice, min_delay=None, max_delay=None):
        # pylint: disable=too-many-arguments
        max_prob = numpy.amax(
            self._probs[0:self._n_pre_neurons, post_vertex_slice.as_slice])
        n_connections = utility_calls.get_probable_maximum_selected(
            self._n_pre_neurons * self._n_post_neurons,
            post_vertex_slice.n_atoms, max_prob)

        if min_delay is None or max_delay is None:
            return int(math.ceil(n_connections))

        return self._get_n_connections_from_pre_vertex_with_delay_maximum(
            delays, self._n_pre_neurons * self._n_post_neurons,
            n_connections, min_delay, max_delay)
    def get_n_connections_from_pre_vertex_maximum(
            self, post_vertex_slice, min_delay=None, max_delay=None):
        # pylint: disable=too-many-arguments
        prob_in_slice = (
            post_vertex_slice.n_atoms / float(self._n_post_neurons))
        n_connections = utility_calls.get_probable_maximum_selected(
            self._n_pre_neurons * self._n_pre_neurons,
            self._n_post, prob_in_slice)

        if min_delay is None or max_delay is None:
            return int(math.ceil(n_connections))

        return self._get_n_connections_from_pre_vertex_with_delay_maximum(
            self._n_post_neurons * self._n_pre_neurons, n_connections,
            min_delay, max_delay)
Пример #32
0
    def get_n_connections_from_pre_vertex_maximum(self,
                                                  post_vertex_slice,
                                                  min_delay=None,
                                                  max_delay=None):
        # pylint: disable=too-many-arguments
        max_prob = numpy.amax(self._probs[0:self._n_pre_neurons,
                                          post_vertex_slice.as_slice])
        n_connections = utility_calls.get_probable_maximum_selected(
            self._n_pre_neurons * self._n_post_neurons,
            post_vertex_slice.n_atoms, max_prob)

        if min_delay is None or max_delay is None:
            return int(math.ceil(n_connections))

        return self._get_n_connections_from_pre_vertex_with_delay_maximum(
            self._n_pre_neurons * self._n_post_neurons, n_connections,
            min_delay, max_delay)
Пример #33
0
 def get_n_connections_to_post_vertex_maximum(
         self, pre_slices, pre_slice_index, post_slices,
         post_slice_index, pre_vertex_slice, post_vertex_slice):
     self._update_synapses_per_post_vertex(pre_slices, post_slices)
     n_total_connections = self._get_n_connections(
         pre_slice_index, post_slice_index)
     if n_total_connections == 0:
         return 0
     prob_per_atom = (
         float(n_total_connections) /
         float(pre_vertex_slice.n_atoms * post_vertex_slice.n_atoms))
     full_connections = 0
     while prob_per_atom > 1.0:
         full_connections += 1
         prob_per_atom -= 1.0
     return (utility_calls.get_probable_maximum_selected(
         self._n_pre_neurons * self._n_post_neurons,
         pre_vertex_slice.n_atoms, prob_per_atom) +
         (full_connections * pre_vertex_slice.n_atoms))
Пример #34
0
 def get_n_connections_to_post_vertex_maximum(
         self, pre_slices, pre_slice_index, post_slices,
         post_slice_index, pre_vertex_slice, post_vertex_slice):
     self._update_synapses_per_post_vertex(pre_slices, post_slices)
     n_total_connections = self._get_n_connections(
         pre_slice_index, post_slice_index)
     if n_total_connections == 0:
         return 0
     prob_per_atom = (
         float(n_total_connections) /
         float(pre_vertex_slice.n_atoms * post_vertex_slice.n_atoms))
     full_connections = 0
     while prob_per_atom > 1.0:
         full_connections += 1
         prob_per_atom -= 1.0
     return (utility_calls.get_probable_maximum_selected(
         self._n_pre_neurons * self._n_post_neurons,
         pre_vertex_slice.n_atoms, prob_per_atom) +
         (full_connections * pre_vertex_slice.n_atoms))
 def get_n_connections_to_post_vertex_maximum(self):
     # pylint: disable=too-many-arguments
     return utility_calls.get_probable_maximum_selected(
         self._n_pre_neurons * self._n_post_neurons, self._n_post_neurons,
         numpy.amax(self.__probs))
 def get_n_connections_to_post_vertex_maximum(self):
     # pylint: disable=too-many-arguments
     return utility_calls.get_probable_maximum_selected(
         self._n_pre_neurons * self._n_post_neurons, self._n_post_neurons,
         numpy.amax(self._probs))
Пример #37
0
 def get_n_connections_to_post_vertex_maximum(self, synapse_info):
     self._update_probs_from_index_expression(synapse_info)
     return utility_calls.get_probable_maximum_selected(
         synapse_info.n_pre_neurons * synapse_info.n_post_neurons,
         synapse_info.n_pre_neurons, numpy.amax(self.__probs))
Пример #38
0
 def get_n_connections_to_post_vertex_maximum(self):
     prob_of_choosing_post_atom = 1.0 / float(self._n_post_neurons)
     return utility_calls.get_probable_maximum_selected(
         self.__num_synapses, self.__num_synapses,
         prob_of_choosing_post_atom)
 def get_delay_maximum(self):
     return self._get_delay_maximum(
         self._delays, utility_calls.get_probable_maximum_selected(
             self._n_pre_neurons * self._n_post_neurons,
             self._n_pre_neurons * self._n_post_neurons, self._p_connect))
 def _get_n_connections(self, out_of):
     return utility_calls.get_probable_maximum_selected(
         self._n_pre_neurons * self._n_post_neurons, out_of,
         self._p_connect)
 def get_n_connections_to_post_vertex_maximum(self):
     self._update_probs_from_index_expression()
     return utility_calls.get_probable_maximum_selected(
         self._n_pre_neurons * self._n_post_neurons,
         self._n_pre_neurons, numpy.amax(self._probs))
Пример #42
0
 def get_n_connections_to_post_vertex_maximum(self, synapse_info):
     # pylint: disable=too-many-arguments
     return get_probable_maximum_selected(
         synapse_info.n_pre_neurons * synapse_info.n_post_neurons,
         synapse_info.n_post_neurons, numpy.amax(self.__probs))
Пример #43
0
 def get_delay_maximum(self, delays):
     n_connections = utility_calls.get_probable_maximum_selected(
         self._n_pre_neurons * self._n_post_neurons,
         self._n_pre_neurons * self._n_post_neurons, self._p_connect)
     return self._get_delay_maximum(delays, n_connections)
 def _get_n_connections(self, out_of, pre_vertex_slice, post_vertex_slice):
     max_prob = numpy.amax(
         self._probs[pre_vertex_slice.as_slice, post_vertex_slice.as_slice])
     return utility_calls.get_probable_maximum_selected(
         self._n_pre_neurons * self._n_post_neurons, out_of,
         max_prob)
Пример #45
0
 def _get_n_connections(self, out_of):
     return utility_calls.get_probable_maximum_selected(
         self._n_pre_neurons * self._n_post_neurons, out_of,
         self._p_connect)
 def _get_n_connections(self, out_of):
     return utility_calls.get_probable_maximum_selected(
         self._n_post_neurons,
         self._n_pre * out_of,
         1.0 / self._n_pre_neurons,
         chance=(1.0 / 100000.0))
 def get_n_connections_to_post_vertex_maximum(self):
     prob_of_choosing_post_atom = 1.0 / float(self._n_post_neurons)
     return utility_calls.get_probable_maximum_selected(
         self._num_synapses, self._num_synapses, prob_of_choosing_post_atom)
 def _get_n_connections(self, out_of, pre_vertex_slice, post_vertex_slice):
     self._update_probs_from_index_expression()
     max_prob = numpy.amax(self._probs[pre_vertex_slice.as_slice,
                                       post_vertex_slice.as_slice])
     return utility_calls.get_probable_maximum_selected(
         self._n_pre_neurons * self._n_post_neurons, out_of, max_prob)