-
Notifications
You must be signed in to change notification settings - Fork 30
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
Refactor/ocm/state features all as input ports #2350
Merged
jdcpni
merged 334 commits into
devel
from
refactor/ocm/state_features_all_as_input_ports
Mar 18, 2022
Merged
Refactor/ocm/state features all as input ports #2350
jdcpni
merged 334 commits into
devel
from
refactor/ocm/state_features_all_as_input_ports
Mar 18, 2022
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
- test_parameterestimationcomposition - test_composition/test_partially_overlapping_control_specs (ADDED IN THIS COMMINT) - All relevant changes to this branch are marked as "11/21/21." However, most are commented out as they break other things. - The tests above both involve local control specifications (on mechanism within a nested comp) and on the OCM for the outer composition, some of which are for the same nested mechs - Both tests fail with: "AttributeError: 'NoneType' object has no attribute '_get_by_time_scale'" (in component.py LINE 3276) This may be due to a problem with context setting, since the error is because the modulation Parameter of the ControlProjection is returning "None" rather than "multiplicative_param" (when called with get(context)), whereas "multiplicative_param" is returned with a call to get() (i.e., with no context specified) - Most of test_partially_overlapping_control_specs is passed if changes marked "11/21/21 NEW" in optimizationcontrolmechanism.py (LINE 1390) are implemented, but it does not properly route ControlProjections through parameter_CIMS (see last assert in test). Furthermore, test_parameterestimationcompsition fails with the mod param error, even though the model has similar structure (i.e., outer composition -- in this case a ParameterEstimationComposition) with an OCM that is given control specs that overlap with ones in a nested composition. - There are also several other things in composition I found puzzling and tried modifying, but that cuased failures: - _get_control_signals_for_composition(): - seems "if node.controller" should be "if **not** node.controller" (emphasis added just for comment) - "append" should be "extend" - _instantiate_control_projection(): - call to self.controller._activate_projections_for_composition (at end of method) should not be indented
- rename _check_projection_initialization_status -> _check_controller_initialization_status - add _check_nodes_initialization_status(context=context) (and calls it with _check_controller_initialization_status)
…thub.com/PrincetonUniversity/PsyNeuLink into refactor/ocm/state_input_ports_PROBE_FIX
retore append of control_signals in _instantiate_control_projections()
restore append of control_signals in _instantiate_control_projections() • test_composition.py: add test_partially_overlapping_local_and_control_mech_control_specs_in_unnested_and_nested_comp
…unnested_and_nested_comp(): - added clear_registry() to allow names to be reused in both runs of test
docstring: added projections entry to list of attributes - add_controller: added call to _add_node_aux_components() for controller
_add_node_aux_components(): added deletion of item from aux_components if instantiated
- comment out _add_node_aux_components() (causing new failures) - move _instantiate_control_projections to be with _instantiate_control_projections, after self.add_node(self.controller.objective_mechanism (to be more orderly)
…rtially_overlapping... (with addition of _add_aux_components in add_controller commented out)
…y one test: - test_agent_rep_assignement_as_controller_and_replacement
- add_controller: few more minor mods; still passes all tests
- _parse_names_in_inputs(): support Port.full_name as keys in inputs dict • mechanism.py: - Mechanism_Base: replaced input_labels and output_labels with labeled_input_values and labeled_output_values respectively • port.py, inputport.py, outputport.py, parameterport.py: - Port_Base: impelment labeled_value property (and value_label alias) that returns calls get_label() - deleted label attributes of InputPort and OutputPort (replaced by Port_Base.labeled_value) - added get_label() stub on ParameterPort with error message
comment out 'sphinx_autodoc_typehints' (crashing for sphinx_autodoc_typehints v.1.17.0)
restore 'sphinx_autodoc_typehints' • doc_requirements.txt: pin sphinx_autodoc_typehints < v.1.16.0; error on v1.16 and v1.17; error: https://github.com/PrincetonUniversity/PsyNeuLink/runs/5573651890?check_suite_focus=true
- add property: external_input_ports_of_all_input_nodes • optimizationcontrolmechanism.py: - implement state_faature_default - add SHADOW_INPUTS as individual spec for state_features
- add property: external_input_ports_of_all_input_nodes • optimizationcontrolmechanism.py: - implement state_faature_default - add SHADOW_INPUTS as individual spec for state_features
- add figure for shadowing
…Link into refactor/ocm/state_features_all_as_input_ports � Conflicts: � psyneulink/core/components/mechanisms/modulatory/control/optimizationcontrolmechanism.py � psyneulink/core/components/ports/parameterport.py � psyneulink/core/compositions/composition.py
This PR causes the following changes to the html docs (ubuntu-latest-3.7-x64):
See CI logs for the full diff. |
This PR causes the following changes to the html docs (ubuntu-latest-3.7-x64):
See CI logs for the full diff. |
This PR causes the following changes to the html docs (ubuntu-latest-3.7-x64):
See CI logs for the full diff. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
• optimizationcontrolmechanism.py:
• inputport.py: