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

Fix/misc/jdc #2316

Merged
merged 251 commits into from
Feb 11, 2022
Merged

Fix/misc/jdc #2316

merged 251 commits into from
Feb 11, 2022

Conversation

jdcpni
Copy link
Collaborator

@jdcpni jdcpni commented Feb 11, 2022

• composition.py:

  • get_input_format: correct handling of failure to find labels

• test_control.py:

  • test_ocm_state_feature_specs_and_warnings_and_errors(): reinstate all conditions

  added feature_input_ports attribute and num_feature_input_ports property
  added feature_input_ports attribute and num_feature_input_ports property

• parameterestimationcomposition.py: fixed misplacement of its Parameters() attribute
  added feature_input_ports attribute and num_feature_input_ports property

• parameterestimationcomposition.py: fixed misplacement of its Parameters() attribute

• optimizationfunctions.py: made num_estimates a Parameter
  - _instantiate_control_signals: random_seeds -> random_seed_mod_values
  - _add_controller:  modifying to instantiate feature_input_ports if none are specified
  - add_controller:  now adds feature_input_ports for Compostion INPUT nodes if not state_features not specified
  - _add_controller:  modifying to instantiate feature_input_ports if none are specified
  - add_controller:  assign simulation_input_ports
  - feature_input_ports -> state_input_ports
  - _instantiate_input_ports():
      state_features only allowed to specifying state_input_ports if
      agent_rep is a CompositionFunctionApproximator (i.e., model-free optimization)

• composition.py:
  - add_controller: adds state_input_ports to shadow INPUT Nodes of Composition
    if controller.agent_rep is Composition (model-based optimziation)
    or state_features have not been specified (for model-free optimizaton)
  _instantiate_input_ports:
     reinstate allowance of state_features specification if agent_rep is a Composition
     (i.e., model-based optimization) as long as they are all INPUT Nodes of agent_rep
jdcpni and others added 25 commits December 12, 2021 13:45
  - _determine_node_roles:
     fix bug in which nested comp was prevented from being an OUTPUT Node if,
     in addition to Nodes that qualifed as OUTPUT, it also had nodes that projected
     to Nodes in an outer comp (making it look like it was INTERNAL)
…nUniversity/PsyNeuLink into feat/composition/probes

� Conflicts:
�	tests/composition/test_composition.py
  - add_node(): enforce include_probes_in_output = True for nested Compositions
  - execute():
    - replace return of output_value with get_output_value()
  - correct path ref

• compositioninterfacemechanism.py:
  - docstring fixes
…Link into devel

� Conflicts:
�	psyneulink/core/components/mechanisms/processing/compositioninterfacemechanism.py
  - get_input_format: correct handling of failure to find labels

• test_control.py:
  - test_ocm_state_feature_specs_and_warnings_and_errors(): reinstate all conditions
@github-actions
Copy link

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

diff -r docs-base/Composition.html docs-head/Composition.html
1155c1155
< argument is specified (see <a class="reference internal" href="#composition-execution-learning-inputs"><span class="std std-ref">below</span></a>).  The Composition’s <a class="reference internal" href="#psyneulink.core.compositions.composition.Composition.get_input_format" title="psyneulink.core.compositions.composition.Composition.get_input_format"><code class="xref any py py-meth docutils literal notranslate"><span class="pre">get_input_format()</span></code></a> method can be used to show a template for how inputs should be formatted for the
---
> argument is specified (see <a class="reference internal" href="#composition-execution-learning-inputs"><span class="std std-ref">below</span></a>).  The Composition’s <a class="reference internal" href="#psyneulink.core.compositions.composition.Composition.get_input_format" title="psyneulink.core.compositions.composition.Composition.get_input_format"><code class="xref any py py-meth docutils literal notranslate"><span class="pre">get_input_format()</span></code></a> method can be used to show an example for how inputs should be formatted for the
4635,4636c4635,4636
< <li><p>method (default), or string showing the format required by the <strong>inputs</strong> argument &lt;Composition.run&gt;`</p></li>
< <li><p><em>(template_dict=False)</em></p></li>
---
> <li><p><em>method (form = *DICT</em>, the default), or string showing the format required by the <strong>inputs</strong> argument*</p></li>
> <li><p>&lt;Composition.run&gt;` (form = <em>TEXT</em>).</p></li>
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","ParameterEstimationComposition","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","ParameterEstimationComposition.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,""],all_dependent_parameters:[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:[106,0,0,"-"],transferfunctions:[112,0,0,"-"],userdefinedfunction:[115,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,""]},"psyneulink.core.components.functions.learningfunctions.LearningFunction":{default_learning_rate:[56,4,1,""],learning_rate:[56,4,1,""],variable:[56,4,1,""]},"psyneulink.core.components.functions.learningfunctions.Reinforcement":{"function":[56,4,1,""],_function:[56,2,1,""],_validate_params:[56,2,1,""],_validate_variable:[56,2,1,""],activation_input:[56,4,1,""],activation_output:[56,4,1,""],default_learning_rate:[56,4,1,""],error_signal:[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.TDLearning":{_validate_variable:[56,2,1,""]},"psyneulink.core.components.functions.objectivefunctions":{Distance
...

See CI logs for the full diff.

@lgtm-com
Copy link
Contributor

lgtm-com bot commented Feb 11, 2022

This pull request fixes 1 alert when merging f0050d4 into 82d43be - view on LGTM.com

fixed alerts:

  • 1 for Unreachable code

@coveralls
Copy link

Coverage Status

Coverage increased (+0.02%) to 84.368% when pulling f0050d4 on fix/misc/jdc into 82d43be on devel.

@jdcpni jdcpni merged commit c84a66a into devel Feb 11, 2022
@jdcpni jdcpni deleted the fix/misc/jdc branch February 11, 2022 02:23
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.

None yet

4 participants