예제 #1
0
    def get_initial_value(self, variable, selector=None):
        (key, parameter) = self._get_init_key_and_parameter(variable)

        full = getattr(self._neuron_model, parameter)
        if selector is None:
            return full
        if isinstance(full, AbstractList):
            ranged_list = full
        else:
            # Keep all the getting stuff in one place by creating a RangedList
            ranged_list = SpynnakerRangedList(size=self.n_atoms, value=full)
            # Now that we have created a RangedList why not use it.
            self.initialize(key, ranged_list)

        return ranged_list.get_values(selector)
예제 #2
0
    def get_value_by_selector(self, selector, key):
        """ Gets the value for a particular key but only for the selected\
            subset.

        :param selector: See RangedList.get_value_by_selector as this is just \
            a pass through method
        :param key: the name of the parameter to change
        :param value: the new value of the parameter to assign
        """
        old_values = self.get_value(key)
        if isinstance(old_values, AbstractList):
            ranged_list = old_values
        else:
            # Keep all the getting stuff in one place by creating a RangedList
            ranged_list = SpynnakerRangedList(
                size=self.n_atoms, value=old_values)
            # Now that we have created a RangedList why not use it.
            self.set_value(key, ranged_list)
        return ranged_list.get_values(selector)
    def get_value_by_selector(self, selector, key):
        """ Gets the value for a particular key but only for the selected\
            subset.

        :param selector: See \
            :py:meth:`~spinn_utilities.ranged.RangedList.get_value_by_selector`\
            as this is just a pass through method
        :type selector: None or slice or int or list(bool) or list(int)
        :param str key: the name of the parameter to change
        :rtype: list(float or int)
        """
        old_values = self.get_value(key)
        if isinstance(old_values, AbstractList):
            ranged_list = old_values
        else:
            # Keep all the getting stuff in one place by creating a RangedList
            ranged_list = SpynnakerRangedList(size=self.n_atoms,
                                              value=old_values)
            # Now that we have created a RangedList why not use it.
            self.set_value(key, ranged_list)
        return ranged_list.get_values(selector)