-
Notifications
You must be signed in to change notification settings - Fork 31
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
Feat/ocm/state features #2301
Merged
Merged
Feat/ocm/state features #2301
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
…rincetonUniversity/PsyNeuLink into refactor/ocm/state_input_ports
…rincetonUniversity/PsyNeuLink into refactor/ocm/state_input_ports
- _instantiate_monitor_for_control_input_ports -> _parse_monitor_control_input_ports - refactored to support allow_probes option on ocm
- _instantiate_monitor_for_control_input_ports -> _parse_monitor_control_input_ports - refactored to support allow_probes option on ocm
- _instantiate_monitor_for_control_input_ports -> _parse_monitor_control_input_ports - refactored to support allow_probes option on ocm
__init__: move controller to after add_nodes and add_linear_pathway
_instantiate_control_projections: weird requirement for double-call to controller._instantiate_control_signal
restored parameter spec that causes crash ('threshold',Decision2)
…trol specs - composition.py - _get_control_signals_for_composition: (see 11/20/21) - added (but commented out change) to "if node.controller" to "if not node.controller" - changed append to extend - _instantiation_control_projection: - got rid of try and except double-call to controller._instantiate_control_signals - outdented call to self.controller._activate_projections_for_composition at end - controlmechanism.py: - _check_for_duplicates: add warning and return duplicates - optimizationcontrolmechanism._instantiate_control_signals: - add call to self.agent_rep._get_control_signals_for_composition() to get local control specs (on mechs in comp) - eliminate duplicates with control_signal specs on OCM - instantiate local + ocm control_signals - parameterestimationcomposition.py - added context to various calls
_parse_state_feature_specs() & _validate_state_features(): add mention of missing nodes to warning / error messages
add _get_nodes_not_in_agent_rep()
- _parse_state_feature_specs(): enforce list spec for agent_rep_type == COMPOSITION_FUNCTION_APPROXIMATOR
…Link into feat/ocm/state_features
- add_node(): add call to _analyze_graph if not called from another Composition add method
- add_node(): - comment out call to _analyze_graph: crashes in test_learning_output_shape() with ExecuteMode.LLVM • optimizationcontrolmechanism.py - state_features: clean up
- _parse_state_feature_sepcs(): - removed argss: directly reference self.state_feature_specs and self.state_feature_functions
- _parse_state_feature_values_from_variable() - move to method on Class - populate with default variable for INPUT Nodes not specified as state_features
…nUniversity/PsyNeuLink into feat/ocm/state_features � Conflicts: � psyneulink/core/components/mechanisms/modulatory/control/optimizationcontrolmechanism.py
- remove _parse_state_feature_values_from_variable(): removed - add _state_feature_values_getter()
(WITH VALUE OF NONE FOR ONES NOT SPECIFIED IN state_feature_specs) • optimizationcontrolmechanism.py - _state_feature_values_getter(): modify to handle calls in init and validation
(WITH VALUE OF NONE FOR ONES NOT SPECIFIED IN state_feature_specs)
(WITH VALUE OF NONE FOR ONES NOT SPECIFIED IN state_feature_specs) - PASSING test_ocm_state_feature_specs_and_warnings_and_errors() - WORKING on test_partial_deferred_init()
• optimizationcontrolmechanism.py: - Mark potential mods for making state_feature_specs a Parameter (marked with 1/30/22) (with self.state_feature_specs that preserves user specifications) - implement self._state_feature_specs_parsed (in place of state_feature_specs Parameter for now) - restore self._specified_input_nodes_in_order (in place of state_feature_specs Parameter for now) - state.features property constructs dict from above attributes
• optimizationcontrolmechanism.py: - Mark potential mods for making state_feature_specs a Parameter (marked with 1/30/22) (with self.state_feature_specs that preserves user specifications) - implement self._state_feature_specs_parsed (in place of state_feature_specs Parameter for now) - restore self._specified_input_nodes_in_order (in place of state_feature_specs Parameter for now) - state.features property constructs dict from above attributes
- test_ocm_state_feature_specs_and_warnings_and_errors(): add tests for state_feature_values
- docstring updates
- docstring updates
…Link into feat/ocm/state_features
This PR causes the following changes to the html docs (ubuntu-latest-3.7-x64):
See CI logs for the full diff. |
This pull request introduces 2 alerts when merging ab41e77 into 3458e64 - view on LGTM.com new alerts:
|
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:
• test_control.py: