Esempio n. 1
0
    class Parameters(Function.Parameters):
        """
            Attributes
            ----------

                variable
                    see `variable <Function_Base.variable>`

                    :default value: numpy.array([0])
                    :type: ``numpy.ndarray``
                    :read only: True

                enable_output_type_conversion
                    see `enable_output_type_conversion <Function_Base.enable_output_type_conversion>`

                    :default value: False
                    :type: ``bool``

                output_type
                    see `output_type <Function_Base.output_type>`

                    :default value: FunctionOutputType.DEFAULT
                    :type: `FunctionOutputType`
        """
        variable = Parameter(np.array([0]), read_only=True, pnl_internal=True, constructor_argument='default_variable')

        output_type = Parameter(
            FunctionOutputType.DEFAULT,
            stateful=False,
            loggable=False,
            pnl_internal=True,
            valid_types=FunctionOutputType
        )
        enable_output_type_conversion = Parameter(False, stateful=False, loggable=False, pnl_internal=True)
Esempio n. 2
0
    class Parameters(ModulatoryProjection_Base.Parameters):
        """
            Attributes
            ----------

                control_signal
                    see `control_signal <ControlProjection.control_signal>`

                    :default value: None
                    :type:
                    :read only: True

                function
                    see `function <ControlProjection.function>`

                    :default value: `Linear`
                    :type: `Function`
        """
        function = Parameter(Linear, stateful=False, loggable=False)
        control_signal = Parameter(None, read_only=True, getter=_control_signal_getter, setter=_control_signal_setter, pnl_internal=True)

        control_signal_params = Parameter(
            None,
            stateful=False,
            loggable=False,
            read_only=True,
            user=False,
            pnl_internal=True
        )
    class Parameters(ObjectiveFunction.Parameters):
        """
            Attributes
            ----------

                matrix
                    see `matrix <Stability.matrix>`

                    :default value: `HOLLOW_MATRIX`
                    :type: ``str``

                metric
                    see `metric <Stability.metric>`

                    :default value: `ENERGY`
                    :type: ``str``

                metric_fct
                    see `metric_fct <Stability.metric_fct>`

                    :default value: None
                    :type:

                transfer_fct
                    see `transfer_fct <Stability.transfer_fct>`

                    :default value: None
                    :type:
        """
        matrix = HOLLOW_MATRIX
        metric = Parameter(ENERGY, stateful=False)
        metric_fct = Parameter(None, stateful=False, loggable=False)
        transfer_fct = Parameter(None, stateful=False, loggable=False)
        normalize = Parameter(False, stateful=False)
Esempio n. 4
0
    class Parameters(ControlMechanism.Parameters):
        """
            Attributes
            ----------

                value
                    see `value <GatingMechanism.value>`

                    :default value: numpy.array([0.5])
                    :type: ``numpy.ndarray``

                gating_allocation
                    see `gating_allocation <GatingMechanism.gating_allocation>`

                    :default value: numpy.array([0.5])
                    :type: ``numpy.ndarray``
                    :read only: True
        """
        # This must be a list, as there may be more than one (e.g., one per control_signal)
        value = Parameter(np.array([defaultGatingAllocation]),
                          aliases='control_allocation',
                          pnl_internal=True)
        gating_allocation = Parameter(np.array([defaultGatingAllocation]),
                                      getter=_gating_allocation_getter,
                                      setter=_gating_allocation_setter,
                                      read_only=True,
                                      pnl_internal=True)
Esempio n. 5
0
    class Parameters(IntegratorMechanism.Parameters):
        """
            Attributes
            ----------

                filter_function
                    see `filter_function <PredictionMechanism.filter_function>`

                    :default value: None
                    :type:

                rate
                    see `rate <PredictionMechanism.rate>`

                    :default value: 1.0
                    :type: float

                window_size
                    see `window_size <PredictionMechanism.window_size>`

                    :default value: 1
                    :type: int

        """
        window_size = Parameter(1, stateful=False, loggable=False)
        filter_function = Parameter(None, stateful=False, loggable=False)
        input_type = None

        rate = Parameter(1.0, modulable=True)
    class Parameters(DistributionFunction.Parameters):
        """
            Attributes
            ----------

                variable
                    see `variable <UniformToNormalDist.variable>`

                    :default value: numpy.array([0])
                    :type: numpy.ndarray
                    :read only: True

                mean
                    see `mean <UniformToNormalDist.mean>`

                    :default value: 0.0
                    :type: float

                standard_deviation
                    see `standard_deviation <UniformToNormalDist.standard_deviation>`

                    :default value: 1.0
                    :type: float

        """
        variable = Parameter(np.array([0]),
                             read_only=True,
                             pnl_internal=True,
                             constructor_argument='default_variable')
        mean = Parameter(0.0, modulable=True, aliases=[ADDITIVE_PARAM])
        standard_deviation = Parameter(1.0,
                                       modulable=True,
                                       aliases=[MULTIPLICATIVE_PARAM])
Esempio n. 7
0
    class Parameters(SelectionFunction.Parameters):
        """
            Attributes
            ----------

                mode
                    see `mode <OneHot.mode>`

                    :default value: `MAX_VAL`
                    :type: ``str``

                random_state
                    see `random_state <OneHot.random_state>`

                    :default value: None
                    :type: ``numpy.random.RandomState``
        """
        mode = Parameter(MAX_VAL, stateful=False)
        random_state = Parameter(None, stateful=True, loggable=False)

        def _validate_mode(self, mode):
            options = {
                MAX_VAL, MAX_ABS_VAL, MAX_INDICATOR, MAX_ABS_INDICATOR,
                MIN_VAL, MIN_ABS_VAL, MIN_INDICATOR, MIN_ABS_INDICATOR, PROB,
                PROB_INDICATOR
            }
            if mode in options:
                # returns None indicating no error message (this is a valid assignment)
                return None
            else:
                # returns error message
                return 'not one of {0}'.format(options)
Esempio n. 8
0
    class Parameters(ControlMechanism.Parameters):
        """
            Attributes
            ----------

                base_level_gain
                    see `base_level_gain <LCControlMechanism.base_level_gain>`

                    :default value: 0.5
                    :type: ``float``

                function
                    see `function <LCControlMechanism_Function>`

                    :default value: `FitzHughNagumoIntegrator`
                    :type: `Function`

                modulated_mechanisms
                    see `modulated_mechanisms <LCControlMechanism_Modulated_Mechanisms>`

                    :default value: None
                    :type:

                scaling_factor_gain
                    see `scaling_factor_gain <LCControlMechanism.scaling_factor_gain>`

                    :default value: 3.0
                    :type: ``float``
        """
        function = Parameter(FitzHughNagumoIntegrator, stateful=False, loggable=False)

        base_level_gain = Parameter(0.5, modulable=True)
        scaling_factor_gain = Parameter(3.0, modulable=True)

        modulated_mechanisms = Parameter(None, stateful=False, loggable=False)
Esempio n. 9
0
    class Parameters(ProcessingMechanism_Base.Parameters):
        """
            Attributes
            ----------

                variable
                    see `variable <Mechanism_Base.variable>`

                    :default value: [[0]]
                    :type: list

        """
        variable = Parameter([[0]], pnl_internal=True, constructor_argument='default_variable')
        function = Parameter(ContentAddressableMemory, stateful=False, loggable=False)
        content_size = 1
        assoc_size = 0

        input_ports = Parameter(
            _generate_content_input_port_spec(content_size),
            stateful=False,
            loggable=False,
            read_only=True,
            structural=True,
            parse_spec=True,
        )

        output_ports = Parameter(
            [{NAME: CONTENT_OUTPUT, VARIABLE: (OWNER_VALUE, 0)}],
            stateful=False,
            loggable=False,
            read_only=True,
            structural=True,
        )
    class Parameters(LearningMechanism.Parameters):
        """
            Attributes
            ----------

                modulation
                    see `modulation <AutoAssociativeLearningMechanism.modulation>`

                    :default value: ADDITIVE
                    :type: str

        """
        function = Parameter(Hebbian, stateful=False, loggable=False)
        modulation = ADDITIVE
        input_ports = Parameter(
            [ACTIVATION_INPUT],
            stateful=False,
            loggable=False,
            read_only=True,
            structural=True,
            parse_spec=True,
        )
        output_ports = Parameter(
            [{
                NAME:
                LEARNING_SIGNAL,  # NOTE: This is the default, but is overridden by any LearningSignal arg
                VARIABLE: (OWNER_VALUE, 0)
            }],
            stateful=False,
            loggable=False,
            read_only=True,
            structural=True,
        )
Esempio n. 11
0
    class Parameters(Function_Base.Parameters):
        """
            Attributes
            ----------

                initializer
                    see `initializer <StatefulFunction.initializer>`

                    :default value: numpy.array([0])
                    :type: numpy.ndarray

                noise
                    see `noise <StatefulFunction.noise>`

                    :default value: 0.0
                    :type: float

                previous_value
                    see `previous_value <StatefulFunction.previous_value>`

                    :default value: numpy.array([0])
                    :type: numpy.ndarray

                rate
                    see `rate <StatefulFunction.rate>`

                    :default value: 1.0
                    :type: float

        """
        noise = Parameter(0.0, modulable=True)
        rate = Parameter(1.0, modulable=True)
        previous_value = Parameter(np.array([0]), pnl_internal=True)
        initializer = Parameter(np.array([0]), pnl_internal=True)
Esempio n. 12
0
    class Parameters(ComparatorMechanism.Parameters):
        """
            Attributes
            ----------

                variable
                    see `variable <Mechanism_Base.variable>`

                    :default value: None
                    :type:
                    :read only: True

                function
                    see `function <PredictionErrorMechanism.function>`

                    :default value: `PredictionErrorDeltaFunction`
                    :type: `Function`

                learning_rate
                    see `learning_rate <PredictionErrorMechanism.learning_rate>`

                    :default value: 0.3
                    :type: float

        """

        variable = Parameter(None, read_only=True, pnl_internal=True, constructor_argument='default_variable')
        learning_rate = Parameter(0.3, modulable=True)
        function = PredictionErrorDeltaFunction
        sample = None
        target = None
Esempio n. 13
0
    class Parameters(ModulatorySignal.Parameters):
        """
            Attributes
            ----------

                variable
                    see `variable <ControlSignal.variable>`

                    :default value: numpy.array([1.])
                    :type: numpy.ndarray


                value
                    see `value <GatingSignal.value>`

                    :default value: numpy.array([0])
                    :type: numpy.ndarray
                    :read only: True

                allocation_samples
                    see `allocation_samples <ControlSignal.allocation_samples>`

        """
        variable = Parameter(np.array(defaultGatingAllocation),
                             aliases='allocation',
                             getter=_output_state_variable_getter)
        value = Parameter(np.array(defaultGatingAllocation), read_only=True, aliases=['intensity'])
        allocation_samples = Parameter(np.arange(0.1, 1.01, 0.3), modulable=True)
Esempio n. 14
0
    class Parameters(ModulatoryProjection_Base.Parameters):
        """
            Attributes
            ----------

                function
                    see `function <Projection_Base.function>`

                    :default value: `Linear`
                    :type: `Function`

                gating_signal
                    see `gating_signal <GatingProjection.gating_signal>`

                    :default value: None
                    :type:
                    :read only: True

        """
        function = Parameter(Linear(params={FUNCTION_OUTPUT_TYPE: FunctionOutputType.RAW_NUMBER}), stateful=False, loggable=False)
        gating_signal = Parameter(None, read_only=True, getter=_gating_signal_getter, setter=_gating_signal_setter, pnl_internal=True)

        gating_signal_params = Parameter(
            None,
            stateful=False,
            loggable=False,
            read_only=True,
            user=False,
            pnl_internal=True
        )
Esempio n. 15
0
    class Parameters(RecurrentTransferMechanism.Parameters):
        """
            Attributes
            ----------

                average_based
                    see `average_based <KWTAMechanism.average_based>`

                    :default value: False
                    :type: ``bool``

                function
                    see `function <KWTAMechanism.function>`

                    :default value: `Logistic`
                    :type: `Function`

                inhibition_only
                    see `inhibition_only <KWTAMechanism.inhibition_only>`

                    :default value: True
                    :type: ``bool``

                k_value
                    see `k_value <KWTAMechanism.k_value>`

                    :default value: 0.5
                    :type: ``float``

                ratio
                    see `ratio <KWTAMechanism.ratio>`

                    :default value: 0.5
                    :type: ``float``

                threshold
                    see `threshold <KWTAMechanism.threshold>`

                    :default value: 0.0
                    :type: ``float``
        """
        function = Parameter(Logistic,
                             stateful=False,
                             loggable=False,
                             dependencies='integrator_function')
        k_value = Parameter(0.5, modulable=True)
        threshold = Parameter(0.0, modulable=True)
        ratio = Parameter(0.5, modulable=True)

        output_ports = Parameter(
            [RESULT],
            stateful=False,
            loggable=False,
            read_only=True,
            structural=True,
        )

        average_based = False
        inhibition_only = True
Esempio n. 16
0
    class Parameters(ProcessingMechanism_Base.Parameters):
        """
            Attributes
            ----------

                hidden_layers
                    see `hidden_layers <LeabraMechanism.hidden_layers>`

                    :default value: 0
                    :type: ``int``

                hidden_sizes
                    see `hidden_sizes <LeabraMechanism.hidden_sizes>`

                    :default value: None
                    :type:

                input_size
                    see `input_size <LeabraMechanism.input_size>`

                    :default value: 1
                    :type: ``int``

                network
                    see `network <LeabraMechanism.network>`

                    :default value: None
                    :type:

                output_size
                    see `output_size <LeabraMechanism.output_size>`

                    :default value: 1
                    :type: ``int``

                quarter_size
                    see `quarter_size <LeabraMechanism.quarter_size>`

                    :default value: 50
                    :type: ``int``

                training_flag
                    see `training_flag <LeabraMechanism.training_flag>`

                    :default value: None
                    :type:
        """
        input_size = 1
        output_size = 1
        hidden_layers = 0
        hidden_sizes = None
        quarter_size = 50

        function = Parameter(LeabraFunction, stateful=False, loggable=False)

        network = FunctionParameter(None)
        training_flag = Parameter(False,
                                  setter=_training_flag_setter,
                                  dependencies='network')
Esempio n. 17
0
    class Parameters(ProcessingMechanism_Base.Parameters):
        """
            Attributes
            ----------

                hidden_layers
                    see `hidden_layers <LeabraMechanism.hidden_layers>`

                    :default value: 0
                    :type: int

                hidden_sizes
                    see `hidden_sizes <LeabraMechanism.hidden_sizes>`

                    :default value: None
                    :type:

                input_size
                    see `input_size <LeabraMechanism.input_size>`

                    :default value: 1
                    :type: int

                network
                    see `network <LeabraMechanism.network>`

                    :default value: None
                    :type:

                output_size
                    see `output_size <LeabraMechanism.output_size>`

                    :default value: 1
                    :type: int

                quarter_size
                    see `quarter_size <LeabraMechanism.quarter_size>`

                    :default value: 50
                    :type: int

                training_flag
                    see `training_flag <LeabraMechanism.training_flag>`

                    :default value: None
                    :type:

        """
        input_size = 1
        output_size = 1
        hidden_layers = 0
        hidden_sizes = None
        quarter_size = 50

        network = Parameter(None,
                            getter=_network_getter,
                            setter=_network_setter)
        training_flag = Parameter(None, setter=_training_flag_setter)
Esempio n. 18
0
    class Parameters(MappingProjection.Parameters):
        """
            Attributes
            ----------

                variable
                    see `variable <AutoAssociativeProjection.variable>`

                    :default value: numpy.array([[0]])
                    :type: numpy.ndarray
                    :read only: True

                auto
                    see `auto <AutoAssociativeProjection.auto>`

                    :default value: 1
                    :type: int

                function
                    see `function <AutoAssociativeProjection.function>`

                    :default value: `LinearMatrix`
                    :type: `Function`

                hetero
                    see `hetero <AutoAssociativeProjection.hetero>`

                    :default value: 0
                    :type: int

                matrix
                    see `matrix <AutoAssociativeProjection.matrix>`

                    :default value: `AUTO_ASSIGN_MATRIX`
                    :type: str

        """
        variable = Parameter(np.array([[0]]),
                             read_only=True,
                             pnl_internal=True,
                             constructor_argument='default_variable')
        # function is always LinearMatrix that requires 1D input
        function = Parameter(LinearMatrix, stateful=False, loggable=False)

        auto = Parameter(1,
                         getter=_auto_getter,
                         setter=_auto_setter,
                         modulable=True)
        hetero = Parameter(0,
                           getter=_hetero_getter,
                           setter=_hetero_setter,
                           modulable=True)
        matrix = Parameter(DEFAULT_MATRIX,
                           function_parameter=True,
                           getter=_matrix_getter,
                           setter=_matrix_setter,
                           modulable=True)
Esempio n. 19
0
    def _instantiate_attributes_before_function(self, function=None, context=None):
        super()._instantiate_attributes_before_function(function=function, context=context)
        # create transient Parameters objects for custom function params
        # done here because they need to be present before _instantiate_value which calls self.function
        for param_name in self.cust_fct_params:
            p = Parameter(self.cust_fct_params[param_name], modulable=True)
            setattr(self.parameters, param_name, p)

            p._set(p.default_value, context, skip_history=True)
Esempio n. 20
0
 class Parameters(Composition.Parameters):
     """"""
     optimizer = None
     learning_rate = Parameter(.001, fallback_default=True)
     losses = Parameter([])
     trial_losses = Parameter([])
     tracked_loss = Parameter(None, pnl_internal=True)
     tracked_loss_count = Parameter(0, pnl_internal=True)
     pytorch_representation = None
    class Parameters(DistributionFunction.Parameters):
        """
            Attributes
            ----------

                bias
                    see `bias <DriftDiffusionAnalytical.bias>`

                    :default value: 0.5
                    :type: float
                    :read only: True

                drift_rate
                    see `drift_rate <DriftDiffusionAnalytical.drift_rate>`

                    :default value: 1.0
                    :type: float

                noise
                    see `noise <DriftDiffusionAnalytical.noise>`

                    :default value: 0.5
                    :type: float

                starting_point
                    see `starting_point <DriftDiffusionAnalytical.starting_point>`

                    :default value: 0.0
                    :type: float

                t0
                    see `t0 <DriftDiffusionAnalytical.t0>`

                    :default value: 0.2
                    :type: float

                threshold
                    see `threshold <DriftDiffusionAnalytical.threshold>`

                    :default value: 1.0
                    :type: float

        """
        drift_rate = Parameter(1.0,
                               modulable=True,
                               aliases=[MULTIPLICATIVE_PARAM])
        starting_point = Parameter(0.0,
                                   modulable=True,
                                   aliases=[ADDITIVE_PARAM])
        threshold = Parameter(1.0, modulable=True)
        noise = Parameter(0.5, modulable=True)
        t0 = .200
        bias = Parameter(0.5,
                         read_only=True,
                         getter=_DriftDiffusionAnalytical_bias_getter)
Esempio n. 22
0
    class Parameters(ObjectiveMechanism.Parameters):
        """
            Attributes
            ----------

                variable
                    see `variable <ComparatorMechanism.variable>`

                    :default value: numpy.array([[0], [0]])
                    :type: ``numpy.ndarray``
                    :read only: True

                function
                    see `function <ComparatorMechanism.function>`

                    :default value: `LinearCombination`(weights=numpy.array([[-1], [ 1]]))
                    :type: `Function`

                output_ports
                    see `output_ports <ComparatorMechanism.output_ports>`

                    :default value: [`OUTCOME`]
                    :type: ``list``
                    :read only: True

                sample
                    see `sample <ComparatorMechanism.sample>`

                    :default value: None
                    :type:

                target
                    see `target <ComparatorMechanism.target>`

                    :default value: None
                    :type:
        """
        # By default, ComparatorMechanism compares two 1D np.array input_ports
        variable = Parameter(np.array([[0], [0]]),
                             read_only=True,
                             pnl_internal=True,
                             constructor_argument='default_variable')
        function = Parameter(LinearCombination(weights=[[-1], [1]]),
                             stateful=False,
                             loggable=False)
        sample = None
        target = None

        output_ports = Parameter(
            [OUTCOME],
            stateful=False,
            loggable=False,
            read_only=True,
            structural=True,
        )
Esempio n. 23
0
    class Parameters(TransferMechanism.Parameters):
        """
            Attributes
            ----------

                enable_learning
                    see `enable_learning <KohonenMechanism.enable_learning>`

                    :default value: True
                    :type: ``bool``

                learning_function
                    see `learning_function <KohonenMechanism.learning_function>`

                    :default value: `Kohonen`
                    :type: `Function`

                learning_rate
                    see `learning_rate <KohonenMechanism.learning_rate>`

                    :default value: None
                    :type:

                matrix
                    see `matrix <KohonenMechanism.matrix>`

                    :default value: `AUTO_ASSIGN_MATRIX`
                    :type: ``str``

                output_ports
                    see `output_ports <KohonenMechanism.output_ports>`

                    :default value: [`RESULT`, "{name: INPUT_PATTERN, variable: OWNER_VARIABLE}"]
                    :type: ``list``
                    :read only: True
        """
        learning_function = Parameter(Kohonen(distance_function=GAUSSIAN),
                                      stateful=False,
                                      loggable=False,
                                      reference=True)
        learning_rate = Parameter(None, modulable=True)
        enable_learning = True
        matrix = DEFAULT_MATRIX

        output_ports = Parameter(
            [RESULT, {
                NAME: INPUT_PATTERN,
                VARIABLE: OWNER_VARIABLE
            }],
            stateful=False,
            loggable=False,
            read_only=True,
            structural=True,
        )
Esempio n. 24
0
    class Parameters(RecurrentTransferMechanism.Parameters):
        """
            Attributes
            ----------

                competition
                    see `competition <LCAMechanism.competition>`

                    :default value: 1.0
                    :type: float

                initial_value
                    see `initial_value <LCAMechanism.initial_value>`

                    :default value: None
                    :type:

                integrator_mode
                    see `integrator_mode <LCAMechanism.integrator_mode>`

                    :default value: True
                    :type: bool

                leak
                    see `leak <LCAMechanism.leak>`

                    :default value: 0.5
                    :type: float

                self_excitation
                    see `self_excitation <LCAMechanism.self_excitation>`

                    :default value: 0.0
                    :type: float

                time_step_size
                    see `time_step_size <LCAMechanism.time_step_size>`

                    :default value: 0.1
                    :type: float
        """

        function = Parameter(Logistic, stateful=False, loggable=False)

        leak = Parameter(0.5, modulable=True)
        auto = Parameter(0.0, modulable=True, aliases='self_excitation')
        hetero = Parameter(-1.0, modulable=True)
        competition = Parameter(1.0, modulable=True)
        time_step_size = Parameter(0.1, modulable=True)

        initial_value = None
        integrator_mode = Parameter(True, setter=_integrator_mode_setter)
        integrator_function = Parameter(LeakyCompetingIntegrator,
                                        stateful=False,
                                        loggable=False)
        termination_measure = Parameter(max, stateful=False, loggable=False)
    class Parameters(LearningMechanism.Parameters):
        """
            Attributes
            ----------

                function
                    see `function <KohonenLearningMechanism.function>`

                    :default value: `Hebbian`
                    :type: `Function`

                learning_rate
                    see `learning_rate <KohonenLearningMechanism.learning_rate>`

                    :default value: None
                    :type:

                learning_timing
                    see `learning_timing <KohonenLearningMechanism.learning_timing>`

                    :default value: LearningTiming.EXECUTION_PHASE
                    :type: `LearningTiming`

                learning_type
                    see `learning_type <KohonenLearningMechanism.learning_type>`

                    :default value: LearningType.UNSUPERVISED
                    :type: `LearningType`

                matrix
                    see `matrix <KohonenLearningMechanism.matrix>`

                    :default value: None
                    :type:

                modulation
                    see `modulation <KohonenLearningMechanism.modulation>`

                    :default value: ModulationParam.ADDITIVE
                    :type: `ModulationParam`

        """
        function = Parameter(Hebbian, stateful=False, loggable=False)

        matrix = Parameter(None, modulable=True)
        learning_rate = Parameter(None, modulable=True)

        learning_type = LearningType.UNSUPERVISED
        learning_timing = LearningTiming.EXECUTION_PHASE
        modulation = ModulationParam.ADDITIVE
Esempio n. 26
0
    class Parameters(RecurrentTransferMechanism.Parameters):
        """
            Attributes
            ----------

                average_based
                    see `average_based <KWTAMechanism.average_based>`

                    :default value: False
                    :type: bool

                function
                    see `function <KWTAMechanism.function>`

                    :default value: `Logistic`
                    :type: `Function`

                inhibition_only
                    see `inhibition_only <KWTAMechanism.inhibition_only>`

                    :default value: True
                    :type: bool

                k_value
                    see `k_value <KWTAMechanism.k_value>`

                    :default value: 0.5
                    :type: float

                ratio
                    see `ratio <KWTAMechanism.ratio>`

                    :default value: 0.5
                    :type: float

                threshold
                    see `threshold <KWTAMechanism.threshold>`

                    :default value: 0.0
                    :type: float

        """
        function = Parameter(Logistic, stateful=False, loggable=False)
        k_value = Parameter(0.5, modulable=True)
        threshold = Parameter(0.0, modulable=True)
        ratio = Parameter(0.5, modulable=True)

        average_based = False
        inhibition_only = True
Esempio n. 27
0
    class Parameters(LearningMechanism.Parameters):
        """
            Attributes
            ----------

                function
                    see `function <AutoAssociativeLearningMechanism.function>`

                    :default value: `Hebbian`
                    :type: `Function`

                input_ports
                    see `input_ports <AutoAssociativeLearningMechanism.input_ports>`

                    :default value: [`ACTIVATION_INPUT`]
                    :type: ``list``
                    :read only: True

                output_ports
                    see `output_ports <AutoAssociativeLearningMechanism.output_ports>`

                    :default value: ["{name: LearningSignal, variable: (OWNER_VALUE, 0)}"]
                    :type: ``list``
                    :read only: True
        """
        function = Parameter(Hebbian, stateful=False, loggable=False)
        modulation = ADDITIVE
        input_ports = Parameter(
            [ACTIVATION_INPUT],
            stateful=False,
            loggable=False,
            read_only=True,
            structural=True,
            parse_spec=True,
        )
        output_ports = Parameter(
            [{
                NAME:
                LEARNING_SIGNAL,  # NOTE: This is the default, but is overridden by any LearningSignal arg
                VARIABLE: (OWNER_VALUE, 0)
            }],
            stateful=False,
            loggable=False,
            read_only=True,
            structural=True,
        )
        learning_type = LearningType.UNSUPERVISED
        learning_timing = LearningTiming.EXECUTION_PHASE
Esempio n. 28
0
    class Parameters(CompositionFunctionApproximator.Parameters):
        """
            Attributes
            ----------

                prediction_vector
                    see `prediction_vector <RegressionCFA.prediction_vector>`

                    :default value: None
                    :type:

                previous_state
                    see `previous_state <RegressionCFA.previous_state>`

                    :default value: None
                    :type:

                regression_weights
                    see `regression_weights <RegressionCFA.regression_weights>`

                    :default value: None
                    :type:

                update_weights
                    see `update_weights <RegressionCFA.update_weights>`

                    :default value: `BayesGLM`
                    :type: `Function`

        """
        update_weights = Parameter(BayesGLM, stateful=False, loggable=False)
        prediction_vector = None
        previous_state = None
        regression_weights = None
Esempio n. 29
0
    class Parameters(Function_Base.Parameters):
        """
            Attributes
            ----------

                filter_function
                    see `filter_function <PredictionMechanism.filter_function>`

                    :default value: None
                    :type:

                rate
                    see `rate <PredictionMechanism.rate>`

                    :default value: 1.0
                    :type: float

                window_size
                    see `window_size <PredictionMechanism.window_size>`

                    :default value: 1
                    :type: int

        """
        variable = Parameter(None,
                             read_only=True,
                             pnl_internal=True,
                             constructor_argument='default_variable')
Esempio n. 30
0
 class Parameters(InterfaceFunction.Parameters):
     corresponding_input_port = Parameter(
         None,
         structural=True,
         stateful=False,
         loggable=False
     )