Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

UDF improvements #2132

Merged
merged 3 commits into from
Oct 5, 2021
Merged

UDF improvements #2132

merged 3 commits into from
Oct 5, 2021

Conversation

kmantel
Copy link
Collaborator

@kmantel kmantel commented Oct 1, 2021

  • Support passing parameters into UDF init as normal keyword arguments
  • Support custom functions defined as basic string expressions (no function calls)
  • Support integration for one custom parameter using the stateful_parameter argument

@github-actions
Copy link

github-actions bot commented Oct 1, 2021

This PR causes the following changes to the html docs (ubuntu-latest-3.7-x64):

No differences!

...

See CI logs for the full diff.

@github-actions
Copy link

github-actions bot commented Oct 1, 2021

This PR causes the following changes to the html docs (ubuntu-latest-3.7-x64):

No differences!

...

See CI logs for the full diff.

@jvesely
Copy link
Collaborator

jvesely commented Oct 1, 2021

This looks like an attempt to have a custom python-like parser. Using the ast module is much more robust and extensible.
for example

class IdVisitor(ast.NodeVisitor):

    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        self.ids = []
        self.calls = False

    def visit_Name(self, node):
        self.ids.append(node.id)

    def visit_Call(self, node):
        self.calls = True


v1 = IdVisitor()
v1.visit(ast.parse('a +b * c - 4'))
print(v1.ids)
print(v1.calls)

v2 = IdVisitor()
v2.visit(ast.parse('a +b * c(d) - 4 '))
print(v2.ids)
print(v2.calls)

running the above gives:

['a', 'b', 'c']
False
['a', 'b']
True

@kmantel
Copy link
Collaborator Author

kmantel commented Oct 2, 2021

Thanks for pointing that out. I've rewritten this using ast parsing, and also have included support for function calls in expressions, which can be present in MDF models.

@github-actions
Copy link

github-actions bot commented Oct 2, 2021

This PR causes the following changes to the html docs (ubuntu-latest-3.7-x64):

diff -r docs-base/UserDefinedFunction.html docs-head/UserDefinedFunction.html
208c208,209
< <div><p id="udf-description">A UserDefinedFunction (UDF) is used to “wrap” a Python function or method, including a lamdba function,
---
> <div><p id="udf-description">A UserDefinedFunction (UDF) is used to “wrap” a Python function or method, lamdba function,
> or an expression written in string format
215c216
< <li><p>It must have <strong>at least one argument</strong> (that can be a positional or a keyword argument);  this will be treated
---
> <li><p>If providing a Python function, method, or lambda function, it must have <strong>at least one argument</strong> (that can be a positional or a keyword argument);  this will be treated
221c222,224
< argument of the function or method is compatible with the circumstances in which it will be called.</p></li>
---
> argument of the function or method is compatible with the circumstances in which it will be called.
> If providing a string expression, <strong>variable</strong> is optional. However, if <strong>variable</strong> is not included in
> the expression, the resulting UDF will not use <strong>variable</strong> at all in its calculation.</p></li>
311a315,322
> <p id="udf-string-expression-function-examples">The <strong>function</strong> argument may also be an expression written as a string:</p>
> <div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">&gt;&gt;&gt; </span><span class="n">my_mech</span> <span class="o">=</span> <span class="n">pnl</span><span class="o">.</span><span class="n">ProcessingMechanism</span><span class="p">(</span><span class="n">function</span><span class="o">=</span><span class="s1">&#39;sum(variable, 2)&#39;</span><span class="p">)</span>
> <span class="gp">&gt;&gt;&gt; </span><span class="n">my_mech</span><span class="o">.</span><span class="n">execute</span><span class="p">(</span><span class="nb">input</span><span class="o">=</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span>
> <span class="go">array([[3]])</span>
> </pre></div>
> </div>
> <p>This option is primarily designed for compatibility with other packages that use string expressions as
> their main description of computation and may be less flexible or reliable than the previous styles.</p>
Binary files docs-base/objects.inv and docs-head/objects.inv differ
diff -r docs-base/searchindex.js docs-head/searchindex.js
1c1
< Search.setIndex({docnames:["AGT","AGTControlMechanism","AutoAssociativeLearningMechanism","AutoAssociativeProjection","AutodiffComposition","BasicsAndPrimer","BotvinickConflictMonitoringModel","BustamanteStroopXORLVOCModel","Cohen_HustonModel","CombinationFunctions","ComparatorMechanism","Compilation","Component","Components","Composition","CompositionFunctionApproximator","CompositionInterfaceMechanism","Compositions","Condition","Context","ContrastiveHebbianMechanism","ContributorsGuide","ControlMechanism","ControlMechanisms","ControlProjection","ControlProjections","ControlSignal","ConventionsAndDefinitions","Core","DDM","DefaultControlMechanism","Defaults","DistributionFunctions","EVC","EVCAuxiliary","EVCControlMechanism","EpisodicMemoryMechanism","Function","Functions","GatingMechanism","GatingMechanisms","GatingProjection","GatingProjections","GatingSignal","GilzenratModel","InputPort","IntegratorFunctions","IntegratorMechanism","IntegratorMechanisms","KWTAMechanism","Keywords","KohonenMechanism","LCAMechanism","LCControlMechanism","LCMechanism","LeabraMechanism","LearningFunctions","LearningMechanism","LearningMechanisms","LearningProjection","LearningProjections","LearningSignal","Library","Log","MappingProjection","MaskedMappingProjection","Mechanism","Mechanisms","MemoryFunctions","Models","ModulatoryMechanism","ModulatoryMechanisms","ModulatoryProjection","ModulatoryProjections","ModulatorySignal","MontagueModel","NieuwenhuisModel","NonStatefulFunctions","ObjectiveFunctions","ObjectiveMechanism","ObjectiveMechanisms","OptimizationControlMechanism","OptimizationFunctions","OutputPort","PCTC_model","ParameterPort","Parameters","Pathway","PathwayProjection","PathwayProjections","Port","PredictionErrorMechanism","Preferences","ProcessingMechanism","ProcessingMechanisms","Projection","Projections","QuickReference","RecurrentTransferMechanism","RefactoredLearningGuide","Registry","RegressionCFA","Report","Scheduler","Scheduling","SelectionFunctions","Services","StatefulFunction","StatefulFunctions","Subystems","Time","TransferFunctions","TransferMechanism","TransferMechanisms","UserDefinedFunction","UserGuide","UserGuide_TBD","Visualization","globals","index","index_logo_with_text","json"],envversion:{"sphinx.domains.c":2,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":4,"sphinx.domains.index":1,"sphinx.domains.javascript":2,"sphinx.domains.math":2,"sphinx.domains.python":3,"sphinx.domains.rst":2,"sphinx.domains.std":2,sphinx:56},filenames:["AGT.rst","AGTControlMechanism.rst","AutoAssociativeLearningMechanism.rst","AutoAssociativeProjection.rst","AutodiffComposition.rst","BasicsAndPrimer.rst","BotvinickConflictMonitoringModel.rst","BustamanteStroopXORLVOCModel.rst","Cohen_HustonModel.rst","CombinationFunctions.rst","ComparatorMechanism.rst","Compilation.rst","Component.rst","Components.rst","Composition.rst","CompositionFunctionApproximator.rst","CompositionInterfaceMechanism.rst","Compositions.rst","Condition.rst","Context.rst","ContrastiveHebbianMechanism.rst","ContributorsGuide.rst","ControlMechanism.rst","ControlMechanisms.rst","ControlProjection.rst","ControlProjections.rst","ControlSignal.rst","ConventionsAndDefinitions.rst","Core.rst","DDM.rst","DefaultControlMechanism.rst","Defaults.rst","DistributionFunctions.rst","EVC.rst","EVCAuxiliary.rst","EVCControlMechanism.rst","EpisodicMemoryMechanism.rst","Function.rst","Functions.rst","GatingMechanism.rst","GatingMechanisms.rst","GatingProjection.rst","GatingProjections.rst","GatingSignal.rst","GilzenratModel.rst","InputPort.rst","IntegratorFunctions.rst","IntegratorMechanism.rst","IntegratorMechanisms.rst","KWTAMechanism.rst","Keywords.rst","KohonenMechanism.rst","LCAMechanism.rst","LCControlMechanism.rst","LCMechanism.rst","LeabraMechanism.rst","LearningFunctions.rst","LearningMechanism.rst","LearningMechanisms.rst","LearningProjection.rst","LearningProjections.rst","LearningSignal.rst","Library.rst","Log.rst","MappingProjection.rst","MaskedMappingProjection.rst","Mechanism.rst","Mechanisms.rst","MemoryFunctions.rst","Models.rst","ModulatoryMechanism.rst","ModulatoryMechanisms.rst","ModulatoryProjection.rst","ModulatoryProjections.rst","ModulatorySignal.rst","MontagueModel.rst","NieuwenhuisModel.rst","NonStatefulFunctions.rst","ObjectiveFunctions.rst","ObjectiveMechanism.rst","ObjectiveMechanisms.rst","OptimizationControlMechanism.rst","OptimizationFunctions.rst","OutputPort.rst","PCTC_model.rst","ParameterPort.rst","Parameters.rst","Pathway.rst","PathwayProjection.rst","PathwayProjections.rst","Port.rst","PredictionErrorMechanism.rst","Preferences.rst","ProcessingMechanism.rst","ProcessingMechanisms.rst","Projection.rst","Projections.rst","QuickReference.rst","RecurrentTransferMechanism.rst","RefactoredLearningGuide.rst","Registry.rst","RegressionCFA.rst","Report.rst","Scheduler.rst","Scheduling.rst","SelectionFunctions.rst","Services.rst","StatefulFunction.rst","StatefulFunctions.rst","Subystems.rst","Time.rst","TransferFunctions.rst","TransferMechanism.rst","TransferMechanisms.rst","UserDefinedFunction.rst","UserGuide.rst","UserGuide_TBD.rst","Visualization.rst","globals.rst","index.rst","index_logo_with_text.rst","json.rst"],objects:{"psyneulink.core.components":{component:[12,0,0,"-"]},"psyneulink.core.components.component":{Component:[12,1,1,""]},"psyneulink.core.components.component.Component":{"function":[12,4,1,""],_check_args:[12,2,1,""],_check_for_composition:[12,2,1,""],_deferred_init:[12,2,1,""],_dependent_components:[12,3,1,""],_get_param_value_from_tuple:[12,2,1,""],_handle_default_variable:[12,2,1,""],_handle_size:[12,2,1,""],_instantiate_defaults:[12,2,1,""],_instantiate_function:[12,2,1,""],_instantiate_parameter_classes:[12,2,1,""],_model_spec_class_name_is_generic:[12,4,1,""],_model_spec_generic_type_name:[12,4,1,""],_model_spec_parameter_blacklist:[12,3,1,""],_parameter_components:[12,3,1,""],_parse_arg_generic:[12,2,1,""],_parse_arg_variable:[12,2,1,""],_parse_function_variable:[12,2,1,""],_set_multiple_parameter_values:[12,2,1,""],_specified_variable_shape_flexibility:[12,4,1,""],_validate:[12,2,1,""],_validate_and_assign_runtime_params:[12,2,1,""],_validate_function:[12,2,1,""],_validate_params:[12,2,1,""],_validate_variable:[12,2,1,""],current_execution_time:[12,4,1,""],defaults:[12,4,1,""],execute:[12,2,1,""],execute_until_finished:[12,4,1,""],execution_count:[12,4,1,""],function_parameters:[12,3,1,""],initialization_status:[12,4,1,""],is_finished:[12,2,1,""],log:[12,4,1,""],log_values:[12,2,1,""],loggable_items:[12,3,1,""],logged_items:[12,3,1,""],max_executions_before_finished:[12,4,1,""],most_recent_context:[12,3,1,""],name:[12,4,1,""],num_executions:[12,4,1,""],num_executions_before_finished:[12,4,1,""],parameters:[12,4,1,""],prefs:[12,4,1,""],reset:[12,2,1,""],reset_params:[12,2,1,""],reset_stateful_function_when:[12,4,1,""],set_delivery_conditions:[12,2,1,""],set_log_conditions:[12,2,1,""],size:[12,4,1,""],stateful_parameters:[12,3,1,"id0"],value:[12,4,1,""],variable:[12,4,1,""]},"psyneulink.core.components.functions":{"function":[38,0,0,"-"],combinationfunctions:[9,0,0,"-"],distributionfunctions:[32,0,0,"-"],learningfunctions:[56,0,0,"-"],objectivefunctions:[78,0,0,"-"],optimizationfunctions:[82,0,0,"-"],selectionfunctions:[105,0,0,"-"],transferfunctions:[111,0,0,"-"],userdefinedfunction:[114,0,0,"-"]},"psyneulink.core.components.functions.combinationfunctions":{CombineMeans:[9,1,1,""],Concatenate:[9,1,1,""],LinearCombination:[9,1,1,""],PredictionErrorDeltaFunction:[9,1,1,""],Rearrange:[9,1,1,""],Reduce:[9,1,1,""]},"psyneulink.core.components.functions.combinationfunctions.CombineMeans":{_function:[9,2,1,""],_validate_params:[9,2,1,""],_validate_variable:[9,2,1,""],exponents:[9,4,1,""],name:[9,4,1,""],offset:[9,4,1,""],operation:[9,4,1,""],owner:[9,4,1,""],prefs:[9,4,1,""],scale:[9,4,1,""],variable:[9,4,1,""],weights:[9,4,1,""]},"psyneulink.core.components.functions.combinationfunctions.Concatenate":{_function:[9,2,1,""],_validate_params:[9,2,1,""],_validate_variable:[9,2,1,""],default_variable:[9,4,1,""],name:[9,4,1,""],offset:[9,4,1,""],owner:[9,4,1,""],prefs:[9,4,1,""],scale:[9,4,1,""]},"psyneulink.core.components.functions.combinationfunctions.LinearCombination":{_function:[9,2,1,""],_validate_params:[9,2,1,""],_validate_variable:[9,2,1,""],exponents:[9,4,1,""],name:[9,4,1,""],offset:[9,4,1,""],operation:[9,4,1,""],owner:[9,4,1,""],prefs:[9,4,1,""],scale:[9,4,1,""],variable:[9,4,1,""],weights:[9,4,1,""]},"psyneulink.core.components.functions.combinationfunctions.PredictionErrorDeltaFunction":{_function:[9,2,1,""],_validate_params:[9,2,1,""],_validate_variable:[9,2,1,""]},"psyneulink.core.components.functions.combinationfunctions.Rearrange":{_function:[9,2,1,""],_instantiate_attributes_before_function:[9,2,1,""],_validate_params:[9,2,1,""],_validate_variable:[9,2,1,""],arrangement:[9,4,1,""],default_variable:[9,4,1,""],name:[9,4,1,""],offset:[9,4,1,""],owner:[9,4,1,""],prefs:[9,4,1,""],scale:[9,4,1,""]},"psyneulink.core.components.functions.combinationfunctions.Reduce":{_function:[9,2,1,""],_validate_params:[9,2,1,""],_validate_variable:[9,2,1,""],default_variable:[9,4,1,""],name:[9,4,1,""],offset:[9,4,1,""],operation:[9,4,1,""],owner:[9,4,1,""],prefs:[9,4,1,""],scale:[9,4,1,""]},"psyneulink.core.components.functions.distributionfunctions":{DistributionFunction:[32,1,1,""],DriftDiffusionAnalytical:[32,1,1,""],ExponentialDist:[32,1,1,""],GammaDist:[32,1,1,""],NormalDist:[32,1,1,""],UniformDist:[32,1,1,""],UniformToNormalDist:[32,1,1,""],WaldDist:[32,1,1,""]},"psyneulink.core.components.functions.distributionfunctions.DriftDiffusionAnalytical":{_compute_conditional_rt_moments:[32,2,1,""],_function:[32,2,1,""],bias:[32,4,1,""],derivative:[32,2,1,""],drift_rate:[32,4,1,""],name:[32,4,1,""],noise:[32,4,1,""],owner:[32,4,1,""],prefs:[32,4,1,""],shenhav_et_al_compat_mode:[32,3,1,""],starting_point:[32,4,1,""],t0:[32,4,1,""],threshold:[32,4,1,""],variable:[32,4,1,""]},"psyneulink.core.components.functions.distributionfunctions.ExponentialDist":{beta:[32,4,1,""],name:[32,4,1,""],owner:[32,4,1,""],params:[32,4,1,""],prefs:[32,4,1,""],random_state:[32,4,1,""]},"psyneulink.core.components.functions.distributionfunctions.GammaDist":{dist_shape:[32,4,1,""],name:[32,4,1,""],owner:[32,4,1,""],params:[32,4,1,""],prefs:[32,4,1,""],random_state:[32,4,1,""],scale:[32,4,1,""]},"psyneulink.core.components.functions.distributionfunctions.NormalDist":{_validate_params:[32,2,1,""],mean:[32,4,1,""],name:[32,4,1,""],owner:[32,4,1,""],params:[32,4,1,""],prefs:[32,4,1,""],random_state:[32,4,1,""],standard_deviation:[32,4,1,""]},"psyneulink.core.components.functions.distributionfunctions.UniformDist":{high:[32,4,1,""],low:[32,4,1,""],name:[32,4,1,""],owner:[32,4,1,""],params:[32,4,1,""],prefs:[32,4,1,""],random_state:[32,4,1,""]},"psyneulink.core.components.functions.distributionfunctions.UniformToNormalDist":{mean:[32,4,1,""],name:[32,4,1,""],owner:[32,4,1,""],params:[32,4,1,""],prefs:[32,4,1,""],random_state:[32,4,1,""],standard_deviation:[32,4,1,""]},"psyneulink.core.components.functions.function":{ArgumentTherapy:[38,1,1,""],Function_Base:[38,1,1,""]},"psyneulink.core.components.functions.function.ArgumentTherapy":{Manner:[38,1,1,""],_function:[38,2,1,""],_validate_params:[38,2,1,""],_validate_variable:[38,2,1,""],name:[38,4,1,""],owner:[38,4,1,""],pertinacity:[38,4,1,""],prefs:[38,4,1,""],propensity:[38,4,1,""],variable:[38,4,1,""]},"psyneulink.core.components.functions.function.Function_Base":{"function":[38,4,1,""],_model_spec_parameter_blacklist:[38,3,1,""],_parse_arg_generic:[38,2,1,""],_validate_parameter_spec:[38,2,1,""],name:[38,4,1,""],owner:[38,4,1,""],prefs:[38,4,1,""],variable:[38,4,1,""]},"psyneulink.core.components.functions.learningfunctions":{BackPropagation:[56,1,1,""],BayesGLM:[56,1,1,""],ContrastiveHebbian:[56,1,1,""],Hebbian:[56,1,1,""],Kohonen:[56,1,1,""],LearningFunction:[56,1,1,""],Reinforcement:[56,1,1,""],TDLearning:[56,1,1,""]},"psyneulink.core.components.functions.learningfunctions.BackPropagation":{_function:[56,2,1,""],_validate_params:[56,2,1,""],_validate_variable:[56,2,1,""],activation_derivative_fct:[56,4,1,""],activation_input:[56,4,1,""],activation_output:[56,4,1,""],default_learning_rate:[56,4,1,""],error_matrix:[56,4,1,""],error_signal:[56,4,1,""],learning_rate:[56,4,1,""],loss_function:[56,4,1,""],owner:[56,4,1,""],prefs:[56,4,1,""],variable:[56,4,1,""]},"psyneulink.core.components.functions.learningfunctions.BayesGLM":{Lambda_n:[56,4,1,""],Lambda_prior:[56,4,1,""],_function:[56,2,1,""],_handle_default_variable:[56,2,1,""],gamma_shape_0:[56,4,1,""],gamma_shape_n:[56,4,1,""],gamma_shape_prior:[56,4,1,""],gamma_size_0:[56,4,1,""],gamma_size_n:[56,4,1,""],gamma_size_prior:[56,4,1,""],initialize_priors:[56,2,1,""],mu_0:[56,4,1,""],mu_n:[56,4,1,""],mu_prior:[56,4,1,""],owner:[56,4,1,""],prefs:[56,4,1,""],random_state:[56,4,1,""],reset:[56,2,1,""],sample_weights:[56,2,1,""],sigma_0:[56,4,1,""],variable:[56,4,1,""],weights_sample:[56,4,1,""]},"psyneulink.core.components.functions.learningfunctions.ContrastiveHebbian":{"function":[56,4,1,""],_function:[56,2,1,""],_validate_params:[56,2,1,""],_validate_variable:[56,2,1,""],default_learning_rate:[56,4,1,""],learning_rate:[56,4,1,""],owner:[56,4,1,""],prefs:[56,4,1,""],variable:[56,4,1,""]},"psyneulink.core.components.functions.learningfunctions.Hebbian":{"function":[56,4,1,""],_function:[56,2,1,""],_validate_params:[56,2,1,""],_validate_variable:[56,2,1,""],default_learning_rate:[56,4,1,""],learning_rate:[56,4,1,""],owner:[56,4,1,""],prefs:[56,4,1,""],variable:[56,4,1,""]},"psyneulink.core.components.functions.learningfunctions.Kohonen":{"function":[56,4,1,""],_function:[56,2,1,""],_validate_params:[56,2,1,""],_validate_variable:[56,2,1,""],default_learning_rate:[56,4,1,""],learning_rate:[56,4,1,""],owner:[56,4,1,""],prefs:[56,4,1,""],variable:[56,4,1,""]},"psyneul
...

See CI logs for the full diff.

@lgtm-com
Copy link
Contributor

lgtm-com bot commented Oct 2, 2021

This pull request introduces 1 alert and fixes 1 when merging 89c7a7f into e20a163 - view on LGTM.com

new alerts:

  • 1 for `__init__` method calls overridden method

fixed alerts:

  • 1 for `__init__` method calls overridden method

@github-actions
Copy link

github-actions bot commented Oct 4, 2021

This PR causes the following changes to the html docs (ubuntu-latest-3.7-x64):

diff -r docs-base/UserDefinedFunction.html docs-head/UserDefinedFunction.html
208c208,209
< <div><p id="udf-description">A UserDefinedFunction (UDF) is used to “wrap” a Python function or method, including a lamdba function,
---
> <div><p id="udf-description">A UserDefinedFunction (UDF) is used to “wrap” a Python function or method, lamdba function,
> or an expression written in string format
215c216
< <li><p>It must have <strong>at least one argument</strong> (that can be a positional or a keyword argument);  this will be treated
---
> <li><p>If providing a Python function, method, or lambda function, it must have <strong>at least one argument</strong> (that can be a positional or a keyword argument);  this will be treated
221c222,224
< argument of the function or method is compatible with the circumstances in which it will be called.</p></li>
---
> argument of the function or method is compatible with the circumstances in which it will be called.
> If providing a string expression, <strong>variable</strong> is optional. However, if <strong>variable</strong> is not included in
> the expression, the resulting UDF will not use <strong>variable</strong> at all in its calculation.</p></li>
311a315,322
> <p id="udf-string-expression-function-examples">The <strong>function</strong> argument may also be an expression written as a string:</p>
> <div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">&gt;&gt;&gt; </span><span class="n">my_mech</span> <span class="o">=</span> <span class="n">pnl</span><span class="o">.</span><span class="n">ProcessingMechanism</span><span class="p">(</span><span class="n">function</span><span class="o">=</span><span class="s1">&#39;sum(variable, 2)&#39;</span><span class="p">)</span>
> <span class="gp">&gt;&gt;&gt; </span><span class="n">my_mech</span><span class="o">.</span><span class="n">execute</span><span class="p">(</span><span class="nb">input</span><span class="o">=</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span>
> <span class="go">array([[3]])</span>
> </pre></div>
> </div>
> <p>This option is primarily designed for compatibility with other packages that use string expressions as
> their main description of computation and may be less flexible or reliable than the previous styles.</p>
Binary files docs-base/objects.inv and docs-head/objects.inv differ
diff -r docs-base/searchindex.js docs-head/searchindex.js
1c1
< Search.setIndex({docnames:["AGT","AGTControlMechanism","AutoAssociativeLearningMechanism","AutoAssociativeProjection","AutodiffComposition","BasicsAndPrimer","BotvinickConflictMonitoringModel","BustamanteStroopXORLVOCModel","Cohen_HustonModel","CombinationFunctions","ComparatorMechanism","Compilation","Component","Components","Composition","CompositionFunctionApproximator","CompositionInterfaceMechanism","Compositions","Condition","Context","ContrastiveHebbianMechanism","ContributorsGuide","ControlMechanism","ControlMechanisms","ControlProjection","ControlProjections","ControlSignal","ConventionsAndDefinitions","Core","DDM","DefaultControlMechanism","Defaults","DistributionFunctions","EVC","EVCAuxiliary","EVCControlMechanism","EpisodicMemoryMechanism","Function","Functions","GatingMechanism","GatingMechanisms","GatingProjection","GatingProjections","GatingSignal","GilzenratModel","InputPort","IntegratorFunctions","IntegratorMechanism","IntegratorMechanisms","KWTAMechanism","Keywords","KohonenMechanism","LCAMechanism","LCControlMechanism","LCMechanism","LeabraMechanism","LearningFunctions","LearningMechanism","LearningMechanisms","LearningProjection","LearningProjections","LearningSignal","Library","Log","MappingProjection","MaskedMappingProjection","Mechanism","Mechanisms","MemoryFunctions","Models","ModulatoryMechanism","ModulatoryMechanisms","ModulatoryProjection","ModulatoryProjections","ModulatorySignal","MontagueModel","NieuwenhuisModel","NonStatefulFunctions","ObjectiveFunctions","ObjectiveMechanism","ObjectiveMechanisms","OptimizationControlMechanism","OptimizationFunctions","OutputPort","PCTC_model","ParameterPort","Parameters","Pathway","PathwayProjection","PathwayProjections","Port","PredictionErrorMechanism","Preferences","ProcessingMechanism","ProcessingMechanisms","Projection","Projections","QuickReference","RecurrentTransferMechanism","RefactoredLearningGuide","Registry","RegressionCFA","Report","Scheduler","Scheduling","SelectionFunctions","Services","StatefulFunction","StatefulFunctions","Subystems","Time","TransferFunctions","TransferMechanism","TransferMechanisms","UserDefinedFunction","UserGuide","UserGuide_TBD","Visualization","globals","index","index_logo_with_text","json"],envversion:{"sphinx.domains.c":2,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":4,"sphinx.domains.index":1,"sphinx.domains.javascript":2,"sphinx.domains.math":2,"sphinx.domains.python":3,"sphinx.domains.rst":2,"sphinx.domains.std":2,sphinx:56},filenames:["AGT.rst","AGTControlMechanism.rst","AutoAssociativeLearningMechanism.rst","AutoAssociativeProjection.rst","AutodiffComposition.rst","BasicsAndPrimer.rst","BotvinickConflictMonitoringModel.rst","BustamanteStroopXORLVOCModel.rst","Cohen_HustonModel.rst","CombinationFunctions.rst","ComparatorMechanism.rst","Compilation.rst","Component.rst","Components.rst","Composition.rst","CompositionFunctionApproximator.rst","CompositionInterfaceMechanism.rst","Compositions.rst","Condition.rst","Context.rst","ContrastiveHebbianMechanism.rst","ContributorsGuide.rst","ControlMechanism.rst","ControlMechanisms.rst","ControlProjection.rst","ControlProjections.rst","ControlSignal.rst","ConventionsAndDefinitions.rst","Core.rst","DDM.rst","DefaultControlMechanism.rst","Defaults.rst","DistributionFunctions.rst","EVC.rst","EVCAuxiliary.rst","EVCControlMechanism.rst","EpisodicMemoryMechanism.rst","Function.rst","Functions.rst","GatingMechanism.rst","GatingMechanisms.rst","GatingProjection.rst","GatingProjections.rst","GatingSignal.rst","GilzenratModel.rst","InputPort.rst","IntegratorFunctions.rst","IntegratorMechanism.rst","IntegratorMechanisms.rst","KWTAMechanism.rst","Keywords.rst","KohonenMechanism.rst","LCAMechanism.rst","LCControlMechanism.rst","LCMechanism.rst","LeabraMechanism.rst","LearningFunctions.rst","LearningMechanism.rst","LearningMechanisms.rst","LearningProjection.rst","LearningProjections.rst","LearningSignal.rst","Library.rst","Log.rst","MappingProjection.rst","MaskedMappingProjection.rst","Mechanism.rst","Mechanisms.rst","MemoryFunctions.rst","Models.rst","ModulatoryMechanism.rst","ModulatoryMechanisms.rst","ModulatoryProjection.rst","ModulatoryProjections.rst","ModulatorySignal.rst","MontagueModel.rst","NieuwenhuisModel.rst","NonStatefulFunctions.rst","ObjectiveFunctions.rst","ObjectiveMechanism.rst","ObjectiveMechanisms.rst","OptimizationControlMechanism.rst","OptimizationFunctions.rst","OutputPort.rst","PCTC_model.rst","ParameterPort.rst","Parameters.rst","Pathway.rst","PathwayProjection.rst","PathwayProjections.rst","Port.rst","PredictionErrorMechanism.rst","Preferences.rst","ProcessingMechanism.rst","ProcessingMechanisms.rst","Projection.rst","Projections.rst","QuickReference.rst","RecurrentTransferMechanism.rst","RefactoredLearningGuide.rst","Registry.rst","RegressionCFA.rst","Report.rst","Scheduler.rst","Scheduling.rst","SelectionFunctions.rst","Services.rst","StatefulFunction.rst","StatefulFunctions.rst","Subystems.rst","Time.rst","TransferFunctions.rst","TransferMechanism.rst","TransferMechanisms.rst","UserDefinedFunction.rst","UserGuide.rst","UserGuide_TBD.rst","Visualization.rst","globals.rst","index.rst","index_logo_with_text.rst","json.rst"],objects:{"psyneulink.core.components":{component:[12,0,0,"-"]},"psyneulink.core.components.component":{Component:[12,1,1,""]},"psyneulink.core.components.component.Component":{"function":[12,4,1,""],_check_args:[12,2,1,""],_check_for_composition:[12,2,1,""],_deferred_init:[12,2,1,""],_dependent_components:[12,3,1,""],_get_param_value_from_tuple:[12,2,1,""],_handle_default_variable:[12,2,1,""],_handle_size:[12,2,1,""],_instantiate_defaults:[12,2,1,""],_instantiate_function:[12,2,1,""],_instantiate_parameter_classes:[12,2,1,""],_model_spec_class_name_is_generic:[12,4,1,""],_model_spec_generic_type_name:[12,4,1,""],_model_spec_parameter_blacklist:[12,3,1,""],_parameter_components:[12,3,1,""],_parse_arg_generic:[12,2,1,""],_parse_arg_variable:[12,2,1,""],_parse_function_variable:[12,2,1,""],_set_multiple_parameter_values:[12,2,1,""],_specified_variable_shape_flexibility:[12,4,1,""],_validate:[12,2,1,""],_validate_and_assign_runtime_params:[12,2,1,""],_validate_function:[12,2,1,""],_validate_params:[12,2,1,""],_validate_variable:[12,2,1,""],current_execution_time:[12,4,1,""],defaults:[12,4,1,""],execute:[12,2,1,""],execute_until_finished:[12,4,1,""],execution_count:[12,4,1,""],function_parameters:[12,3,1,""],initialization_status:[12,4,1,""],is_finished:[12,2,1,""],log:[12,4,1,""],log_values:[12,2,1,""],loggable_items:[12,3,1,""],logged_items:[12,3,1,""],max_executions_before_finished:[12,4,1,""],most_recent_context:[12,3,1,""],name:[12,4,1,""],num_executions:[12,4,1,""],num_executions_before_finished:[12,4,1,""],parameters:[12,4,1,""],prefs:[12,4,1,""],reset:[12,2,1,""],reset_params:[12,2,1,""],reset_stateful_function_when:[12,4,1,""],set_delivery_conditions:[12,2,1,""],set_log_conditions:[12,2,1,""],size:[12,4,1,""],stateful_parameters:[12,3,1,"id0"],value:[12,4,1,""],variable:[12,4,1,""]},"psyneulink.core.components.functions":{"function":[38,0,0,"-"],combinationfunctions:[9,0,0,"-"],distributionfunctions:[32,0,0,"-"],learningfunctions:[56,0,0,"-"],objectivefunctions:[78,0,0,"-"],optimizationfunctions:[82,0,0,"-"],selectionfunctions:[105,0,0,"-"],transferfunctions:[111,0,0,"-"],userdefinedfunction:[114,0,0,"-"]},"psyneulink.core.components.functions.combinationfunctions":{CombineMeans:[9,1,1,""],Concatenate:[9,1,1,""],LinearCombination:[9,1,1,""],PredictionErrorDeltaFunction:[9,1,1,""],Rearrange:[9,1,1,""],Reduce:[9,1,1,""]},"psyneulink.core.components.functions.combinationfunctions.CombineMeans":{_function:[9,2,1,""],_validate_params:[9,2,1,""],_validate_variable:[9,2,1,""],exponents:[9,4,1,""],name:[9,4,1,""],offset:[9,4,1,""],operation:[9,4,1,""],owner:[9,4,1,""],prefs:[9,4,1,""],scale:[9,4,1,""],variable:[9,4,1,""],weights:[9,4,1,""]},"psyneulink.core.components.functions.combinationfunctions.Concatenate":{_function:[9,2,1,""],_validate_params:[9,2,1,""],_validate_variable:[9,2,1,""],default_variable:[9,4,1,""],name:[9,4,1,""],offset:[9,4,1,""],owner:[9,4,1,""],prefs:[9,4,1,""],scale:[9,4,1,""]},"psyneulink.core.components.functions.combinationfunctions.LinearCombination":{_function:[9,2,1,""],_validate_params:[9,2,1,""],_validate_variable:[9,2,1,""],exponents:[9,4,1,""],name:[9,4,1,""],offset:[9,4,1,""],operation:[9,4,1,""],owner:[9,4,1,""],prefs:[9,4,1,""],scale:[9,4,1,""],variable:[9,4,1,""],weights:[9,4,1,""]},"psyneulink.core.components.functions.combinationfunctions.PredictionErrorDeltaFunction":{_function:[9,2,1,""],_validate_params:[9,2,1,""],_validate_variable:[9,2,1,""]},"psyneulink.core.components.functions.combinationfunctions.Rearrange":{_function:[9,2,1,""],_instantiate_attributes_before_function:[9,2,1,""],_validate_params:[9,2,1,""],_validate_variable:[9,2,1,""],arrangement:[9,4,1,""],default_variable:[9,4,1,""],name:[9,4,1,""],offset:[9,4,1,""],owner:[9,4,1,""],prefs:[9,4,1,""],scale:[9,4,1,""]},"psyneulink.core.components.functions.combinationfunctions.Reduce":{_function:[9,2,1,""],_validate_params:[9,2,1,""],_validate_variable:[9,2,1,""],default_variable:[9,4,1,""],name:[9,4,1,""],offset:[9,4,1,""],operation:[9,4,1,""],owner:[9,4,1,""],prefs:[9,4,1,""],scale:[9,4,1,""]},"psyneulink.core.components.functions.distributionfunctions":{DistributionFunction:[32,1,1,""],DriftDiffusionAnalytical:[32,1,1,""],ExponentialDist:[32,1,1,""],GammaDist:[32,1,1,""],NormalDist:[32,1,1,""],UniformDist:[32,1,1,""],UniformToNormalDist:[32,1,1,""],WaldDist:[32,1,1,""]},"psyneulink.core.components.functions.distributionfunctions.DriftDiffusionAnalytical":{_compute_conditional_rt_moments:[32,2,1,""],_function:[32,2,1,""],bias:[32,4,1,""],derivative:[32,2,1,""],drift_rate:[32,4,1,""],name:[32,4,1,""],noise:[32,4,1,""],owner:[32,4,1,""],prefs:[32,4,1,""],shenhav_et_al_compat_mode:[32,3,1,""],starting_point:[32,4,1,""],t0:[32,4,1,""],threshold:[32,4,1,""],variable:[32,4,1,""]},"psyneulink.core.components.functions.distributionfunctions.ExponentialDist":{beta:[32,4,1,""],name:[32,4,1,""],owner:[32,4,1,""],params:[32,4,1,""],prefs:[32,4,1,""],random_state:[32,4,1,""]},"psyneulink.core.components.functions.distributionfunctions.GammaDist":{dist_shape:[32,4,1,""],name:[32,4,1,""],owner:[32,4,1,""],params:[32,4,1,""],prefs:[32,4,1,""],random_state:[32,4,1,""],scale:[32,4,1,""]},"psyneulink.core.components.functions.distributionfunctions.NormalDist":{_validate_params:[32,2,1,""],mean:[32,4,1,""],name:[32,4,1,""],owner:[32,4,1,""],params:[32,4,1,""],prefs:[32,4,1,""],random_state:[32,4,1,""],standard_deviation:[32,4,1,""]},"psyneulink.core.components.functions.distributionfunctions.UniformDist":{high:[32,4,1,""],low:[32,4,1,""],name:[32,4,1,""],owner:[32,4,1,""],params:[32,4,1,""],prefs:[32,4,1,""],random_state:[32,4,1,""]},"psyneulink.core.components.functions.distributionfunctions.UniformToNormalDist":{mean:[32,4,1,""],name:[32,4,1,""],owner:[32,4,1,""],params:[32,4,1,""],prefs:[32,4,1,""],random_state:[32,4,1,""],standard_deviation:[32,4,1,""]},"psyneulink.core.components.functions.function":{ArgumentTherapy:[38,1,1,""],Function_Base:[38,1,1,""]},"psyneulink.core.components.functions.function.ArgumentTherapy":{Manner:[38,1,1,""],_function:[38,2,1,""],_validate_params:[38,2,1,""],_validate_variable:[38,2,1,""],name:[38,4,1,""],owner:[38,4,1,""],pertinacity:[38,4,1,""],prefs:[38,4,1,""],propensity:[38,4,1,""],variable:[38,4,1,""]},"psyneulink.core.components.functions.function.Function_Base":{"function":[38,4,1,""],_model_spec_parameter_blacklist:[38,3,1,""],_parse_arg_generic:[38,2,1,""],_validate_parameter_spec:[38,2,1,""],name:[38,4,1,""],owner:[38,4,1,""],prefs:[38,4,1,""],variable:[38,4,1,""]},"psyneulink.core.components.functions.learningfunctions":{BackPropagation:[56,1,1,""],BayesGLM:[56,1,1,""],ContrastiveHebbian:[56,1,1,""],Hebbian:[56,1,1,""],Kohonen:[56,1,1,""],LearningFunction:[56,1,1,""],Reinforcement:[56,1,1,""],TDLearning:[56,1,1,""]},"psyneulink.core.components.functions.learningfunctions.BackPropagation":{_function:[56,2,1,""],_validate_params:[56,2,1,""],_validate_variable:[56,2,1,""],activation_derivative_fct:[56,4,1,""],activation_input:[56,4,1,""],activation_output:[56,4,1,""],default_learning_rate:[56,4,1,""],error_matrix:[56,4,1,""],error_signal:[56,4,1,""],learning_rate:[56,4,1,""],loss_function:[56,4,1,""],owner:[56,4,1,""],prefs:[56,4,1,""],variable:[56,4,1,""]},"psyneulink.core.components.functions.learningfunctions.BayesGLM":{Lambda_n:[56,4,1,""],Lambda_prior:[56,4,1,""],_function:[56,2,1,""],_handle_default_variable:[56,2,1,""],gamma_shape_0:[56,4,1,""],gamma_shape_n:[56,4,1,""],gamma_shape_prior:[56,4,1,""],gamma_size_0:[56,4,1,""],gamma_size_n:[56,4,1,""],gamma_size_prior:[56,4,1,""],initialize_priors:[56,2,1,""],mu_0:[56,4,1,""],mu_n:[56,4,1,""],mu_prior:[56,4,1,""],owner:[56,4,1,""],prefs:[56,4,1,""],random_state:[56,4,1,""],reset:[56,2,1,""],sample_weights:[56,2,1,""],sigma_0:[56,4,1,""],variable:[56,4,1,""],weights_sample:[56,4,1,""]},"psyneulink.core.components.functions.learningfunctions.ContrastiveHebbian":{"function":[56,4,1,""],_function:[56,2,1,""],_validate_params:[56,2,1,""],_validate_variable:[56,2,1,""],default_learning_rate:[56,4,1,""],learning_rate:[56,4,1,""],owner:[56,4,1,""],prefs:[56,4,1,""],variable:[56,4,1,""]},"psyneulink.core.components.functions.learningfunctions.Hebbian":{"function":[56,4,1,""],_function:[56,2,1,""],_validate_params:[56,2,1,""],_validate_variable:[56,2,1,""],default_learning_rate:[56,4,1,""],learning_rate:[56,4,1,""],owner:[56,4,1,""],prefs:[56,4,1,""],variable:[56,4,1,""]},"psyneulink.core.components.functions.learningfunctions.Kohonen":{"function":[56,4,1,""],_function:[56,2,1,""],_validate_params:[56,2,1,""],_validate_variable:[56,2,1,""],default_learning_rate:[56,4,1,""],learning_rate:[56,4,1,""],owner:[56,4,1,""],prefs:[56,4,1,""],variable:[56,4,1,""]},"psyneul
...

See CI logs for the full diff.

@github-actions
Copy link

github-actions bot commented Oct 5, 2021

This PR causes the following changes to the html docs (ubuntu-latest-3.7-x64):

diff -r docs-base/UserDefinedFunction.html docs-head/UserDefinedFunction.html
208c208,209
< <div><p id="udf-description">A UserDefinedFunction (UDF) is used to “wrap” a Python function or method, including a lamdba function,
---
> <div><p id="udf-description">A UserDefinedFunction (UDF) is used to “wrap” a Python function or method, lamdba function,
> or an expression written in string format
215c216
< <li><p>It must have <strong>at least one argument</strong> (that can be a positional or a keyword argument);  this will be treated
---
> <li><p>If providing a Python function, method, or lambda function, it must have <strong>at least one argument</strong> (that can be a positional or a keyword argument);  this will be treated
221c222,224
< argument of the function or method is compatible with the circumstances in which it will be called.</p></li>
---
> argument of the function or method is compatible with the circumstances in which it will be called.
> If providing a string expression, <strong>variable</strong> is optional. However, if <strong>variable</strong> is not included in
> the expression, the resulting UDF will not use <strong>variable</strong> at all in its calculation.</p></li>
311a315,322
> <p id="udf-string-expression-function-examples">The <strong>function</strong> argument may also be an expression written as a string:</p>
> <div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">&gt;&gt;&gt; </span><span class="n">my_mech</span> <span class="o">=</span> <span class="n">pnl</span><span class="o">.</span><span class="n">ProcessingMechanism</span><span class="p">(</span><span class="n">function</span><span class="o">=</span><span class="s1">&#39;sum(variable, 2)&#39;</span><span class="p">)</span>
> <span class="gp">&gt;&gt;&gt; </span><span class="n">my_mech</span><span class="o">.</span><span class="n">execute</span><span class="p">(</span><span class="nb">input</span><span class="o">=</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span>
> <span class="go">array([[3]])</span>
> </pre></div>
> </div>
> <p>This option is primarily designed for compatibility with other packages that use string expressions as
> their main description of computation and may be less flexible or reliable than the previous styles.</p>
Binary files docs-base/objects.inv and docs-head/objects.inv differ
diff -r docs-base/searchindex.js docs-head/searchindex.js
1c1
< Search.setIndex({docnames:["AGT","AGTControlMechanism","AutoAssociativeLearningMechanism","AutoAssociativeProjection","AutodiffComposition","BasicsAndPrimer","BotvinickConflictMonitoringModel","BustamanteStroopXORLVOCModel","Cohen_HustonModel","CombinationFunctions","ComparatorMechanism","Compilation","Component","Components","Composition","CompositionFunctionApproximator","CompositionInterfaceMechanism","Compositions","Condition","Context","ContrastiveHebbianMechanism","ContributorsGuide","ControlMechanism","ControlMechanisms","ControlProjection","ControlProjections","ControlSignal","ConventionsAndDefinitions","Core","DDM","DefaultControlMechanism","Defaults","DistributionFunctions","EVC","EVCAuxiliary","EVCControlMechanism","EpisodicMemoryMechanism","Function","Functions","GatingMechanism","GatingMechanisms","GatingProjection","GatingProjections","GatingSignal","GilzenratModel","InputPort","IntegratorFunctions","IntegratorMechanism","IntegratorMechanisms","KWTAMechanism","Keywords","KohonenMechanism","LCAMechanism","LCControlMechanism","LCMechanism","LeabraMechanism","LearningFunctions","LearningMechanism","LearningMechanisms","LearningProjection","LearningProjections","LearningSignal","Library","Log","MappingProjection","MaskedMappingProjection","Mechanism","Mechanisms","MemoryFunctions","Models","ModulatoryMechanism","ModulatoryMechanisms","ModulatoryProjection","ModulatoryProjections","ModulatorySignal","MontagueModel","NieuwenhuisModel","NonStatefulFunctions","ObjectiveFunctions","ObjectiveMechanism","ObjectiveMechanisms","OptimizationControlMechanism","OptimizationFunctions","OutputPort","PCTC_model","ParameterPort","Parameters","Pathway","PathwayProjection","PathwayProjections","Port","PredictionErrorMechanism","Preferences","ProcessingMechanism","ProcessingMechanisms","Projection","Projections","QuickReference","RecurrentTransferMechanism","RefactoredLearningGuide","Registry","RegressionCFA","Report","Scheduler","Scheduling","SelectionFunctions","Services","StatefulFunction","StatefulFunctions","Subystems","Time","TransferFunctions","TransferMechanism","TransferMechanisms","UserDefinedFunction","UserGuide","UserGuide_TBD","Visualization","globals","index","index_logo_with_text","json"],envversion:{"sphinx.domains.c":2,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":4,"sphinx.domains.index":1,"sphinx.domains.javascript":2,"sphinx.domains.math":2,"sphinx.domains.python":3,"sphinx.domains.rst":2,"sphinx.domains.std":2,sphinx:56},filenames:["AGT.rst","AGTControlMechanism.rst","AutoAssociativeLearningMechanism.rst","AutoAssociativeProjection.rst","AutodiffComposition.rst","BasicsAndPrimer.rst","BotvinickConflictMonitoringModel.rst","BustamanteStroopXORLVOCModel.rst","Cohen_HustonModel.rst","CombinationFunctions.rst","ComparatorMechanism.rst","Compilation.rst","Component.rst","Components.rst","Composition.rst","CompositionFunctionApproximator.rst","CompositionInterfaceMechanism.rst","Compositions.rst","Condition.rst","Context.rst","ContrastiveHebbianMechanism.rst","ContributorsGuide.rst","ControlMechanism.rst","ControlMechanisms.rst","ControlProjection.rst","ControlProjections.rst","ControlSignal.rst","ConventionsAndDefinitions.rst","Core.rst","DDM.rst","DefaultControlMechanism.rst","Defaults.rst","DistributionFunctions.rst","EVC.rst","EVCAuxiliary.rst","EVCControlMechanism.rst","EpisodicMemoryMechanism.rst","Function.rst","Functions.rst","GatingMechanism.rst","GatingMechanisms.rst","GatingProjection.rst","GatingProjections.rst","GatingSignal.rst","GilzenratModel.rst","InputPort.rst","IntegratorFunctions.rst","IntegratorMechanism.rst","IntegratorMechanisms.rst","KWTAMechanism.rst","Keywords.rst","KohonenMechanism.rst","LCAMechanism.rst","LCControlMechanism.rst","LCMechanism.rst","LeabraMechanism.rst","LearningFunctions.rst","LearningMechanism.rst","LearningMechanisms.rst","LearningProjection.rst","LearningProjections.rst","LearningSignal.rst","Library.rst","Log.rst","MappingProjection.rst","MaskedMappingProjection.rst","Mechanism.rst","Mechanisms.rst","MemoryFunctions.rst","Models.rst","ModulatoryMechanism.rst","ModulatoryMechanisms.rst","ModulatoryProjection.rst","ModulatoryProjections.rst","ModulatorySignal.rst","MontagueModel.rst","NieuwenhuisModel.rst","NonStatefulFunctions.rst","ObjectiveFunctions.rst","ObjectiveMechanism.rst","ObjectiveMechanisms.rst","OptimizationControlMechanism.rst","OptimizationFunctions.rst","OutputPort.rst","PCTC_model.rst","ParameterPort.rst","Parameters.rst","Pathway.rst","PathwayProjection.rst","PathwayProjections.rst","Port.rst","PredictionErrorMechanism.rst","Preferences.rst","ProcessingMechanism.rst","ProcessingMechanisms.rst","Projection.rst","Projections.rst","QuickReference.rst","RecurrentTransferMechanism.rst","RefactoredLearningGuide.rst","Registry.rst","RegressionCFA.rst","Report.rst","Scheduler.rst","Scheduling.rst","SelectionFunctions.rst","Services.rst","StatefulFunction.rst","StatefulFunctions.rst","Subystems.rst","Time.rst","TransferFunctions.rst","TransferMechanism.rst","TransferMechanisms.rst","UserDefinedFunction.rst","UserGuide.rst","UserGuide_TBD.rst","Visualization.rst","globals.rst","index.rst","index_logo_with_text.rst","json.rst"],objects:{"psyneulink.core.components":{component:[12,0,0,"-"]},"psyneulink.core.components.component":{Component:[12,1,1,""]},"psyneulink.core.components.component.Component":{"function":[12,4,1,""],_check_args:[12,2,1,""],_check_for_composition:[12,2,1,""],_deferred_init:[12,2,1,""],_dependent_components:[12,3,1,""],_get_param_value_from_tuple:[12,2,1,""],_handle_default_variable:[12,2,1,""],_handle_size:[12,2,1,""],_instantiate_defaults:[12,2,1,""],_instantiate_function:[12,2,1,""],_instantiate_parameter_classes:[12,2,1,""],_model_spec_class_name_is_generic:[12,4,1,""],_model_spec_generic_type_name:[12,4,1,""],_model_spec_parameter_blacklist:[12,3,1,""],_parameter_components:[12,3,1,""],_parse_arg_generic:[12,2,1,""],_parse_arg_variable:[12,2,1,""],_parse_function_variable:[12,2,1,""],_set_multiple_parameter_values:[12,2,1,""],_specified_variable_shape_flexibility:[12,4,1,""],_validate:[12,2,1,""],_validate_and_assign_runtime_params:[12,2,1,""],_validate_function:[12,2,1,""],_validate_params:[12,2,1,""],_validate_variable:[12,2,1,""],current_execution_time:[12,4,1,""],defaults:[12,4,1,""],execute:[12,2,1,""],execute_until_finished:[12,4,1,""],execution_count:[12,4,1,""],function_parameters:[12,3,1,""],initialization_status:[12,4,1,""],is_finished:[12,2,1,""],log:[12,4,1,""],log_values:[12,2,1,""],loggable_items:[12,3,1,""],logged_items:[12,3,1,""],max_executions_before_finished:[12,4,1,""],most_recent_context:[12,3,1,""],name:[12,4,1,""],num_executions:[12,4,1,""],num_executions_before_finished:[12,4,1,""],parameters:[12,4,1,""],prefs:[12,4,1,""],reset:[12,2,1,""],reset_params:[12,2,1,""],reset_stateful_function_when:[12,4,1,""],set_delivery_conditions:[12,2,1,""],set_log_conditions:[12,2,1,""],size:[12,4,1,""],stateful_parameters:[12,3,1,"id0"],value:[12,4,1,""],variable:[12,4,1,""]},"psyneulink.core.components.functions":{"function":[38,0,0,"-"],combinationfunctions:[9,0,0,"-"],distributionfunctions:[32,0,0,"-"],learningfunctions:[56,0,0,"-"],objectivefunctions:[78,0,0,"-"],optimizationfunctions:[82,0,0,"-"],selectionfunctions:[105,0,0,"-"],transferfunctions:[111,0,0,"-"],userdefinedfunction:[114,0,0,"-"]},"psyneulink.core.components.functions.combinationfunctions":{CombineMeans:[9,1,1,""],Concatenate:[9,1,1,""],LinearCombination:[9,1,1,""],PredictionErrorDeltaFunction:[9,1,1,""],Rearrange:[9,1,1,""],Reduce:[9,1,1,""]},"psyneulink.core.components.functions.combinationfunctions.CombineMeans":{_function:[9,2,1,""],_validate_params:[9,2,1,""],_validate_variable:[9,2,1,""],exponents:[9,4,1,""],name:[9,4,1,""],offset:[9,4,1,""],operation:[9,4,1,""],owner:[9,4,1,""],prefs:[9,4,1,""],scale:[9,4,1,""],variable:[9,4,1,""],weights:[9,4,1,""]},"psyneulink.core.components.functions.combinationfunctions.Concatenate":{_function:[9,2,1,""],_validate_params:[9,2,1,""],_validate_variable:[9,2,1,""],default_variable:[9,4,1,""],name:[9,4,1,""],offset:[9,4,1,""],owner:[9,4,1,""],prefs:[9,4,1,""],scale:[9,4,1,""]},"psyneulink.core.components.functions.combinationfunctions.LinearCombination":{_function:[9,2,1,""],_validate_params:[9,2,1,""],_validate_variable:[9,2,1,""],exponents:[9,4,1,""],name:[9,4,1,""],offset:[9,4,1,""],operation:[9,4,1,""],owner:[9,4,1,""],prefs:[9,4,1,""],scale:[9,4,1,""],variable:[9,4,1,""],weights:[9,4,1,""]},"psyneulink.core.components.functions.combinationfunctions.PredictionErrorDeltaFunction":{_function:[9,2,1,""],_validate_params:[9,2,1,""],_validate_variable:[9,2,1,""]},"psyneulink.core.components.functions.combinationfunctions.Rearrange":{_function:[9,2,1,""],_instantiate_attributes_before_function:[9,2,1,""],_validate_params:[9,2,1,""],_validate_variable:[9,2,1,""],arrangement:[9,4,1,""],default_variable:[9,4,1,""],name:[9,4,1,""],offset:[9,4,1,""],owner:[9,4,1,""],prefs:[9,4,1,""],scale:[9,4,1,""]},"psyneulink.core.components.functions.combinationfunctions.Reduce":{_function:[9,2,1,""],_validate_params:[9,2,1,""],_validate_variable:[9,2,1,""],default_variable:[9,4,1,""],name:[9,4,1,""],offset:[9,4,1,""],operation:[9,4,1,""],owner:[9,4,1,""],prefs:[9,4,1,""],scale:[9,4,1,""]},"psyneulink.core.components.functions.distributionfunctions":{DistributionFunction:[32,1,1,""],DriftDiffusionAnalytical:[32,1,1,""],ExponentialDist:[32,1,1,""],GammaDist:[32,1,1,""],NormalDist:[32,1,1,""],UniformDist:[32,1,1,""],UniformToNormalDist:[32,1,1,""],WaldDist:[32,1,1,""]},"psyneulink.core.components.functions.distributionfunctions.DriftDiffusionAnalytical":{_compute_conditional_rt_moments:[32,2,1,""],_function:[32,2,1,""],bias:[32,4,1,""],derivative:[32,2,1,""],drift_rate:[32,4,1,""],name:[32,4,1,""],noise:[32,4,1,""],owner:[32,4,1,""],prefs:[32,4,1,""],shenhav_et_al_compat_mode:[32,3,1,""],starting_point:[32,4,1,""],t0:[32,4,1,""],threshold:[32,4,1,""],variable:[32,4,1,""]},"psyneulink.core.components.functions.distributionfunctions.ExponentialDist":{beta:[32,4,1,""],name:[32,4,1,""],owner:[32,4,1,""],params:[32,4,1,""],prefs:[32,4,1,""],random_state:[32,4,1,""]},"psyneulink.core.components.functions.distributionfunctions.GammaDist":{dist_shape:[32,4,1,""],name:[32,4,1,""],owner:[32,4,1,""],params:[32,4,1,""],prefs:[32,4,1,""],random_state:[32,4,1,""],scale:[32,4,1,""]},"psyneulink.core.components.functions.distributionfunctions.NormalDist":{_validate_params:[32,2,1,""],mean:[32,4,1,""],name:[32,4,1,""],owner:[32,4,1,""],params:[32,4,1,""],prefs:[32,4,1,""],random_state:[32,4,1,""],standard_deviation:[32,4,1,""]},"psyneulink.core.components.functions.distributionfunctions.UniformDist":{high:[32,4,1,""],low:[32,4,1,""],name:[32,4,1,""],owner:[32,4,1,""],params:[32,4,1,""],prefs:[32,4,1,""],random_state:[32,4,1,""]},"psyneulink.core.components.functions.distributionfunctions.UniformToNormalDist":{mean:[32,4,1,""],name:[32,4,1,""],owner:[32,4,1,""],params:[32,4,1,""],prefs:[32,4,1,""],random_state:[32,4,1,""],standard_deviation:[32,4,1,""]},"psyneulink.core.components.functions.function":{ArgumentTherapy:[38,1,1,""],Function_Base:[38,1,1,""]},"psyneulink.core.components.functions.function.ArgumentTherapy":{Manner:[38,1,1,""],_function:[38,2,1,""],_validate_params:[38,2,1,""],_validate_variable:[38,2,1,""],name:[38,4,1,""],owner:[38,4,1,""],pertinacity:[38,4,1,""],prefs:[38,4,1,""],propensity:[38,4,1,""],variable:[38,4,1,""]},"psyneulink.core.components.functions.function.Function_Base":{"function":[38,4,1,""],_model_spec_parameter_blacklist:[38,3,1,""],_parse_arg_generic:[38,2,1,""],_validate_parameter_spec:[38,2,1,""],name:[38,4,1,""],owner:[38,4,1,""],prefs:[38,4,1,""],variable:[38,4,1,""]},"psyneulink.core.components.functions.learningfunctions":{BackPropagation:[56,1,1,""],BayesGLM:[56,1,1,""],ContrastiveHebbian:[56,1,1,""],Hebbian:[56,1,1,""],Kohonen:[56,1,1,""],LearningFunction:[56,1,1,""],Reinforcement:[56,1,1,""],TDLearning:[56,1,1,""]},"psyneulink.core.components.functions.learningfunctions.BackPropagation":{_function:[56,2,1,""],_validate_params:[56,2,1,""],_validate_variable:[56,2,1,""],activation_derivative_fct:[56,4,1,""],activation_input:[56,4,1,""],activation_output:[56,4,1,""],default_learning_rate:[56,4,1,""],error_matrix:[56,4,1,""],error_signal:[56,4,1,""],learning_rate:[56,4,1,""],loss_function:[56,4,1,""],owner:[56,4,1,""],prefs:[56,4,1,""],variable:[56,4,1,""]},"psyneulink.core.components.functions.learningfunctions.BayesGLM":{Lambda_n:[56,4,1,""],Lambda_prior:[56,4,1,""],_function:[56,2,1,""],_handle_default_variable:[56,2,1,""],gamma_shape_0:[56,4,1,""],gamma_shape_n:[56,4,1,""],gamma_shape_prior:[56,4,1,""],gamma_size_0:[56,4,1,""],gamma_size_n:[56,4,1,""],gamma_size_prior:[56,4,1,""],initialize_priors:[56,2,1,""],mu_0:[56,4,1,""],mu_n:[56,4,1,""],mu_prior:[56,4,1,""],owner:[56,4,1,""],prefs:[56,4,1,""],random_state:[56,4,1,""],reset:[56,2,1,""],sample_weights:[56,2,1,""],sigma_0:[56,4,1,""],variable:[56,4,1,""],weights_sample:[56,4,1,""]},"psyneulink.core.components.functions.learningfunctions.ContrastiveHebbian":{"function":[56,4,1,""],_function:[56,2,1,""],_validate_params:[56,2,1,""],_validate_variable:[56,2,1,""],default_learning_rate:[56,4,1,""],learning_rate:[56,4,1,""],owner:[56,4,1,""],prefs:[56,4,1,""],variable:[56,4,1,""]},"psyneulink.core.components.functions.learningfunctions.Hebbian":{"function":[56,4,1,""],_function:[56,2,1,""],_validate_params:[56,2,1,""],_validate_variable:[56,2,1,""],default_learning_rate:[56,4,1,""],learning_rate:[56,4,1,""],owner:[56,4,1,""],prefs:[56,4,1,""],variable:[56,4,1,""]},"psyneulink.core.components.functions.learningfunctions.Kohonen":{"function":[56,4,1,""],_function:[56,2,1,""],_validate_params:[56,2,1,""],_validate_variable:[56,2,1,""],default_learning_rate:[56,4,1,""],learning_rate:[56,4,1,""],owner:[56,4,1,""],prefs:[56,4,1,""],variable:[56,4,1,""]},"psyneul
...

See CI logs for the full diff.

@lgtm-com
Copy link
Contributor

lgtm-com bot commented Oct 5, 2021

This pull request introduces 1 alert and fixes 1 when merging 773e11d into 84d0aa3 - view on LGTM.com

new alerts:

  • 1 for `__init__` method calls overridden method

fixed alerts:

  • 1 for `__init__` method calls overridden method

@kmantel kmantel merged commit 8ed633f into PrincetonUniversity:devel Oct 5, 2021
@kmantel kmantel deleted the udf branch October 5, 2021 02:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants