-
Notifications
You must be signed in to change notification settings - Fork 32
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/add pathway default matrix #2519
Merged
Merged
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
- _get_source_node_for_input_CIM: restore (modeled on _get_source_of_modulation_for_parameter_CIM) but NEEDS TESTS - _get_source_of_modulation_for_parameter_CIM: clean up comments, NEEDS TESTS
- add cosine_similarity (needs compiled version)
• nback_CAM_FFN: - refactor to implement FFN and task input - assign termination condition for execution that is dependent on control - ContentAddressableMemory: selection_function=SoftMax(output=MAX_INDICATOR, gain=SOFT_MAX_TEMP) • DriftOnASphereIntegrator: - add dimension as dependency for initializer parameter
Added identicalness test for DriftOnASphereIntegrator agains nback-paper implementation.
- Updated N-back to use objective_mechanism, with commented out code for version that doesn't use it once bug is fixed - Deleted N-back_WITH_OBJECTIVE_MECH.py
- Updated N-back to use objective_mechanism, with commented out code for version that doesn't use it once bug is fixed - Deleted N-back_WITH_OBJECTIVE_MECH.py
…x' into feat/add_pathway_default_matrix # Conflicts: # Scripts/Models (Under Development)/N-back.py
- add_linear_processing_pathway: fixed bug when Reinforcement or TDLearning are specified • test_composition.py: - test_pathway_tuple_specs: add tests for Reinforcement and TDLearning
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 1 alert and fixes 2 when merging d78e165 into f6a987a - view on LGTM.com new alerts:
fixed alerts:
|
SamKG
pushed a commit
that referenced
this pull request
Nov 8, 2022
* • compositioninterfacemechanism.py: - _get_source_node_for_input_CIM: restore (modeled on _get_source_of_modulation_for_parameter_CIM) but NEEDS TESTS - _get_source_of_modulation_for_parameter_CIM: clean up comments, NEEDS TESTS * - * - * - * - * - * - * • Nback - EM uses ContentAddressableMemory (instead of DictionaryMemory) - Implements FFN for comparison of current and retrieved stimulus and context • Project: replace all instances of "RETREIVE" with "RETRIEVE" * • objectivefunctions.py - add cosine_similarity (needs compiled version) * • Project: make COSINE_SIMILARITY a synonym of COSINE • nback_CAM_FFN: - refactor to implement FFN and task input - assign termination condition for execution that is dependent on control - ContentAddressableMemory: selection_function=SoftMax(output=MAX_INDICATOR, gain=SOFT_MAX_TEMP) • DriftOnASphereIntegrator: - add dimension as dependency for initializer parameter * - * - * - * - * - * - * - * - * - * - * - * - * - * - * • test_integrator.py: Added identicalness test for DriftOnASphereIntegrator agains nback-paper implementation. * - * - * Parameters: allow _validate_ methods to reference other parameters (#2512) * • Scripts: - Updated N-back to use objective_mechanism, with commented out code for version that doesn't use it once bug is fixed - Deleted N-back_WITH_OBJECTIVE_MECH.py * • Scripts: - Updated N-back to use objective_mechanism, with commented out code for version that doesn't use it once bug is fixed - Deleted N-back_WITH_OBJECTIVE_MECH.py * • N-back.py: - added stimulus generation per nback-paper protocol * - N-back.py tstep(s) -> trial(s) * - * - * • N-back.py - comp -> nback_model - implement stim_set() method * - * • N-back.py: - added training set generation * - * - * • N-back.py - modularized script * - * - * - * - * • showgraph.py: - _assign_processing_components(): fix bug in which nested graphs not highlighted in animation. * • showgraph.py * composition.py - add further description of animation, including note that animation of nested Compostions is limited. * • showgraph.py * composition.py - add animation to N-back doc * • autodiffcomposition.py - __init__(): move pathways arg to beginning, to capture positional assignment (i.e. w/o kw) * - * • N-back.py - ffn: implement as autodiff; still needs small random initial weight assignment * • pathway.py - implement default_projection attribute * • pathway.py - implement default_projection attribute * • utilities.py: random_matrxi: refactored to allow negative values and use keyword ZERO_CENTER * • projection.py RandomMatrix: added class that can be used to pass a function as matrix spec * • utilities.py - RandomMatrix moved here from projection.py • function.py - get_matrix(): added support for RandomMatrix spec * • port.py - _parse_port_spec(): added support for RandomMatrix * • port.py - _parse_port_spec(): added support for RandomMatrix * • utilities.py - is_matrix(): modified to support random_matrix and RandomMatrix * • composition.py - add_linear_processing_pathway: add support for default_matrix argument (replaces default for MappingProjection for any otherwise unspecified projections) though still not used. * - * - RandomMatrix: moved from Utilities to Function * - * [skip ci] * [skip ci] * [skip ci] • N-back.py - clean up script * [skip ci] • N-back.py - further script clean-up * [skip ci] * [skip ci] * [skip ci] * [skip ci] • BeukersNBackModel.rst: - Overview written - Needs other sections completed * [skip ci] * [skip ci] * [skip ci] * [skip ci] * [skip ci] * [skip ci] * [skip ci] * [skip ci] • N-back.py: - replace functions of TransferMechanisms with ReLU - replace function of Decision Mechanisms with SoftMax - more doc cleanup * [skip ci] • N-back.py: - replace functions of TransferMechanisms with ReLU - replace function of Decision Mechanisms with SoftMax - more doc cleanup * [skip ci] * - * - * [skip ci] * [skip ci] • composition.py: implement default_projection_matrix in add_XXX_pathway() methods * [skip ci] • composition.py: implement default_projection_matrix in add_XXX_pathway() methods * [skip ci] • test_composition.py: - add test_pathway_tuple_specs() * - * - * [skip ci] * [skip ci] * [skip ci] * [skip ci] * [skip ci] • composition.py: - add_linear_processing_pathway: fixed bug when Reinforcement or TDLearning are specified • test_composition.py: - test_pathway_tuple_specs: add tests for Reinforcement and TDLearning * • composition.py: - add_linear_processing_pathway: fixed bug when Reinforcement or TDLearning are specified • test_composition.py: - test_pathway_tuple_specs: add tests for Reinforcement and TDLearning Co-authored-by: jdcpni <pniintel55> Co-authored-by: Katherine Mantel <[email protected]>
jdcpni
added a commit
that referenced
this pull request
Nov 9, 2022
* Add autodiff save/load functionality * - * Update autodiffcomposition.py * Update test_autodiffcomposition.py * Merge branch 'devel' of https://github.com/PrincetonUniversity/PsyNeuLink into devel * • Autodiff: - add save and load methods (from Samyak) - test_autodiffcomposition.py: add test_autodiff_saveload, but commented out for now, as it may be causing hanging on PR * • Autodiff: - add save and load methods (from Samyak) - test_autodiffcomposition.py: add test_autodiff_saveload, but commented out for now, as it may be causing hanging on PR * - * - * • pytorchcomponents.py: - pytorch_function_creator: add SoftMax • transferfunctions.py: - disable changes to ReLU.derivative for now * • utilities.py: - iscompatible: attempt to replace try and except, commented out for now * - * - * • autodiffcomposition.py: - save and load: augment file and directory handling - exclude processing of any ModulatoryProjections * - * - * - * • autodiffcomposition.py save(): add projection.matrix.base = matrix (fixes test_autodiff_saveload) * - * • autodiffcomposition.py: - save: return path • test_autodiffcomposition.py: - test_autodiff_saveload: modify to use current working directory rather than tmp * • autodiffcomposition.py: - save() and load(): ignore CIM, learning, and other modulation-related projections * • autodiffcomposition.py: - load(): change test for path (failing on Windows) from PosixPath to Path * • autodiffcomposition.py: - add _runtime_learning_rate attribute - _build_pytorch_representation(): use _runtime_learning_rate attribute for optimizer if provided in call to learn else use learning_rate specified at construction • compositionrunner.py: - assign learning_rate to _runtime_learning_rate attribute if specified in call to learn * - * [skip ci] * [skip ci] * [skip ci] • autodiffcomposition.py: load(): add testing for match of matrix shape * [skip ci] • N-back: - reset em after each run - save and load weights - torch epochs = batch size (number training stimuli) * num_epochs * [skip ci] * [skip ci] * Feat/add pathway default matrix (#2518) * • compositioninterfacemechanism.py: - _get_source_node_for_input_CIM: restore (modeled on _get_source_of_modulation_for_parameter_CIM) but NEEDS TESTS - _get_source_of_modulation_for_parameter_CIM: clean up comments, NEEDS TESTS * - * - * - * - * - * - * • Nback - EM uses ContentAddressableMemory (instead of DictionaryMemory) - Implements FFN for comparison of current and retrieved stimulus and context • Project: replace all instances of "RETREIVE" with "RETRIEVE" * • objectivefunctions.py - add cosine_similarity (needs compiled version) * • Project: make COSINE_SIMILARITY a synonym of COSINE • nback_CAM_FFN: - refactor to implement FFN and task input - assign termination condition for execution that is dependent on control - ContentAddressableMemory: selection_function=SoftMax(output=MAX_INDICATOR, gain=SOFT_MAX_TEMP) • DriftOnASphereIntegrator: - add dimension as dependency for initializer parameter * - * - * - * - * - * - * - * - * - * - * - * - * - * - * • test_integrator.py: Added identicalness test for DriftOnASphereIntegrator agains nback-paper implementation. * - * - * Parameters: allow _validate_ methods to reference other parameters (#2512) * • Scripts: - Updated N-back to use objective_mechanism, with commented out code for version that doesn't use it once bug is fixed - Deleted N-back_WITH_OBJECTIVE_MECH.py * • Scripts: - Updated N-back to use objective_mechanism, with commented out code for version that doesn't use it once bug is fixed - Deleted N-back_WITH_OBJECTIVE_MECH.py * • N-back.py: - added stimulus generation per nback-paper protocol * - N-back.py tstep(s) -> trial(s) * - * - * • N-back.py - comp -> nback_model - implement stim_set() method * - * • N-back.py: - added training set generation * - * - * • N-back.py - modularized script * - * - * - * - * • showgraph.py: - _assign_processing_components(): fix bug in which nested graphs not highlighted in animation. * • showgraph.py * composition.py - add further description of animation, including note that animation of nested Compostions is limited. * • showgraph.py * composition.py - add animation to N-back doc * • autodiffcomposition.py - __init__(): move pathways arg to beginning, to capture positional assignment (i.e. w/o kw) * - * • N-back.py - ffn: implement as autodiff; still needs small random initial weight assignment * • pathway.py - implement default_projection attribute * • pathway.py - implement default_projection attribute * • utilities.py: random_matrxi: refactored to allow negative values and use keyword ZERO_CENTER * • projection.py RandomMatrix: added class that can be used to pass a function as matrix spec * • utilities.py - RandomMatrix moved here from projection.py • function.py - get_matrix(): added support for RandomMatrix spec * • port.py - _parse_port_spec(): added support for RandomMatrix * • port.py - _parse_port_spec(): added support for RandomMatrix * • utilities.py - is_matrix(): modified to support random_matrix and RandomMatrix * • composition.py - add_linear_processing_pathway: add support for default_matrix argument (replaces default for MappingProjection for any otherwise unspecified projections) though still not used. * - * - RandomMatrix: moved from Utilities to Function * - * [skip ci] * [skip ci] * [skip ci] • N-back.py - clean up script * [skip ci] • N-back.py - further script clean-up * [skip ci] * [skip ci] * [skip ci] * [skip ci] • BeukersNBackModel.rst: - Overview written - Needs other sections completed * [skip ci] * [skip ci] * [skip ci] * [skip ci] * [skip ci] * [skip ci] * [skip ci] * [skip ci] • N-back.py: - replace functions of TransferMechanisms with ReLU - replace function of Decision Mechanisms with SoftMax - more doc cleanup * [skip ci] • N-back.py: - replace functions of TransferMechanisms with ReLU - replace function of Decision Mechanisms with SoftMax - more doc cleanup * [skip ci] * - * - * [skip ci] * [skip ci] • composition.py: implement default_projection_matrix in add_XXX_pathway() methods * [skip ci] • composition.py: implement default_projection_matrix in add_XXX_pathway() methods * [skip ci] • test_composition.py: - add test_pathway_tuple_specs() * - * - * [skip ci] * [skip ci] * [skip ci] * - Co-authored-by: jdcpni <pniintel55> Co-authored-by: Katherine Mantel <[email protected]> * Feat/add pathway default matrix (#2519) * • compositioninterfacemechanism.py: - _get_source_node_for_input_CIM: restore (modeled on _get_source_of_modulation_for_parameter_CIM) but NEEDS TESTS - _get_source_of_modulation_for_parameter_CIM: clean up comments, NEEDS TESTS * - * - * - * - * - * - * • Nback - EM uses ContentAddressableMemory (instead of DictionaryMemory) - Implements FFN for comparison of current and retrieved stimulus and context • Project: replace all instances of "RETREIVE" with "RETRIEVE" * • objectivefunctions.py - add cosine_similarity (needs compiled version) * • Project: make COSINE_SIMILARITY a synonym of COSINE • nback_CAM_FFN: - refactor to implement FFN and task input - assign termination condition for execution that is dependent on control - ContentAddressableMemory: selection_function=SoftMax(output=MAX_INDICATOR, gain=SOFT_MAX_TEMP) • DriftOnASphereIntegrator: - add dimension as dependency for initializer parameter * - * - * - * - * - * - * - * - * - * - * - * - * - * - * • test_integrator.py: Added identicalness test for DriftOnASphereIntegrator agains nback-paper implementation. * - * - * Parameters: allow _validate_ methods to reference other parameters (#2512) * • Scripts: - Updated N-back to use objective_mechanism, with commented out code for version that doesn't use it once bug is fixed - Deleted N-back_WITH_OBJECTIVE_MECH.py * • Scripts: - Updated N-back to use objective_mechanism, with commented out code for version that doesn't use it once bug is fixed - Deleted N-back_WITH_OBJECTIVE_MECH.py * • N-back.py: - added stimulus generation per nback-paper protocol * - N-back.py tstep(s) -> trial(s) * - * - * • N-back.py - comp -> nback_model - implement stim_set() method * - * • N-back.py: - added training set generation * - * - * • N-back.py - modularized script * - * - * - * - * • showgraph.py: - _assign_processing_components(): fix bug in which nested graphs not highlighted in animation. * • showgraph.py * composition.py - add further description of animation, including note that animation of nested Compostions is limited. * • showgraph.py * composition.py - add animation to N-back doc * • autodiffcomposition.py - __init__(): move pathways arg to beginning, to capture positional assignment (i.e. w/o kw) * - * • N-back.py - ffn: implement as autodiff; still needs small random initial weight assignment * • pathway.py - implement default_projection attribute * • pathway.py - implement default_projection attribute * • utilities.py: random_matrxi: refactored to allow negative values and use keyword ZERO_CENTER * • projection.py RandomMatrix: added class that can be used to pass a function as matrix spec * • utilities.py - RandomMatrix moved here from projection.py • function.py - get_matrix(): added support for RandomMatrix spec * • port.py - _parse_port_spec(): added support for RandomMatrix * • port.py - _parse_port_spec(): added support for RandomMatrix * • utilities.py - is_matrix(): modified to support random_matrix and RandomMatrix * • composition.py - add_linear_processing_pathway: add support for default_matrix argument (replaces default for MappingProjection for any otherwise unspecified projections) though still not used. * - * - RandomMatrix: moved from Utilities to Function * - * [skip ci] * [skip ci] * [skip ci] • N-back.py - clean up script * [skip ci] • N-back.py - further script clean-up * [skip ci] * [skip ci] * [skip ci] * [skip ci] • BeukersNBackModel.rst: - Overview written - Needs other sections completed * [skip ci] * [skip ci] * [skip ci] * [skip ci] * [skip ci] * [skip ci] * [skip ci] * [skip ci] • N-back.py: - replace functions of TransferMechanisms with ReLU - replace function of Decision Mechanisms with SoftMax - more doc cleanup * [skip ci] • N-back.py: - replace functions of TransferMechanisms with ReLU - replace function of Decision Mechanisms with SoftMax - more doc cleanup * [skip ci] * - * - * [skip ci] * [skip ci] • composition.py: implement default_projection_matrix in add_XXX_pathway() methods * [skip ci] • composition.py: implement default_projection_matrix in add_XXX_pathway() methods * [skip ci] • test_composition.py: - add test_pathway_tuple_specs() * - * - * [skip ci] * [skip ci] * [skip ci] * [skip ci] * [skip ci] • composition.py: - add_linear_processing_pathway: fixed bug when Reinforcement or TDLearning are specified • test_composition.py: - test_pathway_tuple_specs: add tests for Reinforcement and TDLearning * • composition.py: - add_linear_processing_pathway: fixed bug when Reinforcement or TDLearning are specified • test_composition.py: - test_pathway_tuple_specs: add tests for Reinforcement and TDLearning Co-authored-by: jdcpni <pniintel55> Co-authored-by: Katherine Mantel <[email protected]> * autodiff: Use most recent context while save/load * tests/autodiff: Use portable path join * autodiff: Add assertions for save/load * [skip ci] * [skip ci] * [skip ci] * [skip ci] * [skip ci] * [skip ci] * [skip ci] * • autodiffcomposition, test_autodiff_saveload: - merged from feat/autodiff_save * - * - * - * • autodiffcomposition.py - fix path assignment bug * - Co-authored-by: SamKG <[email protected]> Co-authored-by: Katherine Mantel <[email protected]>
jdcpni
added a commit
that referenced
this pull request
Nov 19, 2022
* Add autodiff save/load functionality * - * Update autodiffcomposition.py * Update test_autodiffcomposition.py * Merge branch 'devel' of https://github.com/PrincetonUniversity/PsyNeuLink into devel * • Autodiff: - add save and load methods (from Samyak) - test_autodiffcomposition.py: add test_autodiff_saveload, but commented out for now, as it may be causing hanging on PR * • Autodiff: - add save and load methods (from Samyak) - test_autodiffcomposition.py: add test_autodiff_saveload, but commented out for now, as it may be causing hanging on PR * - * - * • pytorchcomponents.py: - pytorch_function_creator: add SoftMax • transferfunctions.py: - disable changes to ReLU.derivative for now * • utilities.py: - iscompatible: attempt to replace try and except, commented out for now * - * - * • autodiffcomposition.py: - save and load: augment file and directory handling - exclude processing of any ModulatoryProjections * - * - * - * • autodiffcomposition.py save(): add projection.matrix.base = matrix (fixes test_autodiff_saveload) * - * • autodiffcomposition.py: - save: return path • test_autodiffcomposition.py: - test_autodiff_saveload: modify to use current working directory rather than tmp * • autodiffcomposition.py: - save() and load(): ignore CIM, learning, and other modulation-related projections * • autodiffcomposition.py: - load(): change test for path (failing on Windows) from PosixPath to Path * • autodiffcomposition.py: - add _runtime_learning_rate attribute - _build_pytorch_representation(): use _runtime_learning_rate attribute for optimizer if provided in call to learn else use learning_rate specified at construction • compositionrunner.py: - assign learning_rate to _runtime_learning_rate attribute if specified in call to learn * - * [skip ci] * [skip ci] * [skip ci] • autodiffcomposition.py: load(): add testing for match of matrix shape * [skip ci] • N-back: - reset em after each run - save and load weights - torch epochs = batch size (number training stimuli) * num_epochs * [skip ci] * [skip ci] * Feat/add pathway default matrix (#2518) * • compositioninterfacemechanism.py: - _get_source_node_for_input_CIM: restore (modeled on _get_source_of_modulation_for_parameter_CIM) but NEEDS TESTS - _get_source_of_modulation_for_parameter_CIM: clean up comments, NEEDS TESTS * - * - * - * - * - * - * • Nback - EM uses ContentAddressableMemory (instead of DictionaryMemory) - Implements FFN for comparison of current and retrieved stimulus and context • Project: replace all instances of "RETREIVE" with "RETRIEVE" * • objectivefunctions.py - add cosine_similarity (needs compiled version) * • Project: make COSINE_SIMILARITY a synonym of COSINE • nback_CAM_FFN: - refactor to implement FFN and task input - assign termination condition for execution that is dependent on control - ContentAddressableMemory: selection_function=SoftMax(output=MAX_INDICATOR, gain=SOFT_MAX_TEMP) • DriftOnASphereIntegrator: - add dimension as dependency for initializer parameter * - * - * - * - * - * - * - * - * - * - * - * - * - * - * • test_integrator.py: Added identicalness test for DriftOnASphereIntegrator agains nback-paper implementation. * - * - * Parameters: allow _validate_ methods to reference other parameters (#2512) * • Scripts: - Updated N-back to use objective_mechanism, with commented out code for version that doesn't use it once bug is fixed - Deleted N-back_WITH_OBJECTIVE_MECH.py * • Scripts: - Updated N-back to use objective_mechanism, with commented out code for version that doesn't use it once bug is fixed - Deleted N-back_WITH_OBJECTIVE_MECH.py * • N-back.py: - added stimulus generation per nback-paper protocol * - N-back.py tstep(s) -> trial(s) * - * - * • N-back.py - comp -> nback_model - implement stim_set() method * - * • N-back.py: - added training set generation * - * - * • N-back.py - modularized script * - * - * - * - * • showgraph.py: - _assign_processing_components(): fix bug in which nested graphs not highlighted in animation. * • showgraph.py * composition.py - add further description of animation, including note that animation of nested Compostions is limited. * • showgraph.py * composition.py - add animation to N-back doc * • autodiffcomposition.py - __init__(): move pathways arg to beginning, to capture positional assignment (i.e. w/o kw) * - * • N-back.py - ffn: implement as autodiff; still needs small random initial weight assignment * • pathway.py - implement default_projection attribute * • pathway.py - implement default_projection attribute * • utilities.py: random_matrxi: refactored to allow negative values and use keyword ZERO_CENTER * • projection.py RandomMatrix: added class that can be used to pass a function as matrix spec * • utilities.py - RandomMatrix moved here from projection.py • function.py - get_matrix(): added support for RandomMatrix spec * • port.py - _parse_port_spec(): added support for RandomMatrix * • port.py - _parse_port_spec(): added support for RandomMatrix * • utilities.py - is_matrix(): modified to support random_matrix and RandomMatrix * • composition.py - add_linear_processing_pathway: add support for default_matrix argument (replaces default for MappingProjection for any otherwise unspecified projections) though still not used. * - * - RandomMatrix: moved from Utilities to Function * - * [skip ci] * [skip ci] * [skip ci] • N-back.py - clean up script * [skip ci] • N-back.py - further script clean-up * [skip ci] * [skip ci] * [skip ci] * [skip ci] • BeukersNBackModel.rst: - Overview written - Needs other sections completed * [skip ci] * [skip ci] * [skip ci] * [skip ci] * [skip ci] * [skip ci] * [skip ci] * [skip ci] • N-back.py: - replace functions of TransferMechanisms with ReLU - replace function of Decision Mechanisms with SoftMax - more doc cleanup * [skip ci] • N-back.py: - replace functions of TransferMechanisms with ReLU - replace function of Decision Mechanisms with SoftMax - more doc cleanup * [skip ci] * - * - * [skip ci] * [skip ci] • composition.py: implement default_projection_matrix in add_XXX_pathway() methods * [skip ci] • composition.py: implement default_projection_matrix in add_XXX_pathway() methods * [skip ci] • test_composition.py: - add test_pathway_tuple_specs() * - * - * [skip ci] * [skip ci] * [skip ci] * - Co-authored-by: jdcpni <pniintel55> Co-authored-by: Katherine Mantel <[email protected]> * Feat/add pathway default matrix (#2519) * • compositioninterfacemechanism.py: - _get_source_node_for_input_CIM: restore (modeled on _get_source_of_modulation_for_parameter_CIM) but NEEDS TESTS - _get_source_of_modulation_for_parameter_CIM: clean up comments, NEEDS TESTS * - * - * - * - * - * - * • Nback - EM uses ContentAddressableMemory (instead of DictionaryMemory) - Implements FFN for comparison of current and retrieved stimulus and context • Project: replace all instances of "RETREIVE" with "RETRIEVE" * • objectivefunctions.py - add cosine_similarity (needs compiled version) * • Project: make COSINE_SIMILARITY a synonym of COSINE • nback_CAM_FFN: - refactor to implement FFN and task input - assign termination condition for execution that is dependent on control - ContentAddressableMemory: selection_function=SoftMax(output=MAX_INDICATOR, gain=SOFT_MAX_TEMP) • DriftOnASphereIntegrator: - add dimension as dependency for initializer parameter * - * - * - * - * - * - * - * - * - * - * - * - * - * - * • test_integrator.py: Added identicalness test for DriftOnASphereIntegrator agains nback-paper implementation. * - * - * Parameters: allow _validate_ methods to reference other parameters (#2512) * • Scripts: - Updated N-back to use objective_mechanism, with commented out code for version that doesn't use it once bug is fixed - Deleted N-back_WITH_OBJECTIVE_MECH.py * • Scripts: - Updated N-back to use objective_mechanism, with commented out code for version that doesn't use it once bug is fixed - Deleted N-back_WITH_OBJECTIVE_MECH.py * • N-back.py: - added stimulus generation per nback-paper protocol * - N-back.py tstep(s) -> trial(s) * - * - * • N-back.py - comp -> nback_model - implement stim_set() method * - * • N-back.py: - added training set generation * - * - * • N-back.py - modularized script * - * - * - * - * • showgraph.py: - _assign_processing_components(): fix bug in which nested graphs not highlighted in animation. * • showgraph.py * composition.py - add further description of animation, including note that animation of nested Compostions is limited. * • showgraph.py * composition.py - add animation to N-back doc * • autodiffcomposition.py - __init__(): move pathways arg to beginning, to capture positional assignment (i.e. w/o kw) * - * • N-back.py - ffn: implement as autodiff; still needs small random initial weight assignment * • pathway.py - implement default_projection attribute * • pathway.py - implement default_projection attribute * • utilities.py: random_matrxi: refactored to allow negative values and use keyword ZERO_CENTER * • projection.py RandomMatrix: added class that can be used to pass a function as matrix spec * • utilities.py - RandomMatrix moved here from projection.py • function.py - get_matrix(): added support for RandomMatrix spec * • port.py - _parse_port_spec(): added support for RandomMatrix * • port.py - _parse_port_spec(): added support for RandomMatrix * • utilities.py - is_matrix(): modified to support random_matrix and RandomMatrix * • composition.py - add_linear_processing_pathway: add support for default_matrix argument (replaces default for MappingProjection for any otherwise unspecified projections) though still not used. * - * - RandomMatrix: moved from Utilities to Function * - * [skip ci] * [skip ci] * [skip ci] • N-back.py - clean up script * [skip ci] • N-back.py - further script clean-up * [skip ci] * [skip ci] * [skip ci] * [skip ci] • BeukersNBackModel.rst: - Overview written - Needs other sections completed * [skip ci] * [skip ci] * [skip ci] * [skip ci] * [skip ci] * [skip ci] * [skip ci] * [skip ci] • N-back.py: - replace functions of TransferMechanisms with ReLU - replace function of Decision Mechanisms with SoftMax - more doc cleanup * [skip ci] • N-back.py: - replace functions of TransferMechanisms with ReLU - replace function of Decision Mechanisms with SoftMax - more doc cleanup * [skip ci] * - * - * [skip ci] * [skip ci] • composition.py: implement default_projection_matrix in add_XXX_pathway() methods * [skip ci] • composition.py: implement default_projection_matrix in add_XXX_pathway() methods * [skip ci] • test_composition.py: - add test_pathway_tuple_specs() * - * - * [skip ci] * [skip ci] * [skip ci] * [skip ci] * [skip ci] • composition.py: - add_linear_processing_pathway: fixed bug when Reinforcement or TDLearning are specified • test_composition.py: - test_pathway_tuple_specs: add tests for Reinforcement and TDLearning * • composition.py: - add_linear_processing_pathway: fixed bug when Reinforcement or TDLearning are specified • test_composition.py: - test_pathway_tuple_specs: add tests for Reinforcement and TDLearning Co-authored-by: jdcpni <pniintel55> Co-authored-by: Katherine Mantel <[email protected]> * autodiff: Use most recent context while save/load * tests/autodiff: Use portable path join * autodiff: Add assertions for save/load * [skip ci] * [skip ci] * [skip ci] * [skip ci] * [skip ci] * [skip ci] * [skip ci] * • autodiffcomposition, test_autodiff_saveload: - merged from feat/autodiff_save * - * - * - * • autodiffcomposition.py - fix path assignment bug * - * • N-back mods * • N-back: reimplementing get_run_inputs * - * - * - * - * • N-back.py - refactoring of generate_stim_seq: continuous presentation of stimuli balancing of trial_types (with fill-in) return trial_type_seq * [skip ci] * Merge branch 'devel' of https://github.com/PrincetonUniversity/PsyNeuLink into devel � Conflicts: � psyneulink/library/compositions/autodiffcomposition.py * Merge branch 'devel' of https://github.com/PrincetonUniversity/PsyNeuLink into devel � Conflicts: � psyneulink/library/compositions/autodiffcomposition.py * [skip ci] * [skip ci] • N-back.py - docstring mods * [skip ci] * [skip ci] • N-back.py: add Kane stimuli (2back) * [skip ci] * [skip ci] * [skip ci] * • N-back.py - add analyze_results() * [skip ci] • N-back.py - add analyze_results() * [skip ci] • N-back.py: - analyze_results: fully implemented * [skip ci] * [skip ci] * [skip ci] * [skip ci] * [skip ci] * [skip ci] * [skip ci] • composition.py, pytorchmodelcreator.py - modify loss_spec to use keywords for loss • Nback.py: - Autodiff loss_spec = CROSS_ENTROPY * [skip ci] • pytorchmodelcreator.py: - _gen_llvm_training_function_body(): - add support for loss_type = CROSS_ENTROPY • compiledloss.py: - _gen_loss_function: add support for CROSS_ENTROPYLoss - needs to be debugged - need differential implemented * [skip ci] * [skip ci] * [skip ci] • composition.py: - _create_terminal_backprop_learning_components: - support loss_function = CROSS_ENTROPY • combinationfunctions.py: - LinearCombination: add CROSS_ENTROPY as operation * [skip ci] * [skip ci] * [skip ci] * [skip ci] • transferfunctions.py: - ReLU: modified derivative to use infer input from output if provided (needed for BackPropagation) * [skip ci] * [skip ci] * [skip ci] * [skip ci] * - * • transferfunctions.py: - SoftMax.derivative: fixes NOTE: LLVM needs to be modified accordingly • test_transfer.py: - test_transfer_derivative: modify tests to match changes to SoftMax NOTE: LLVM tests don't pass * [skip ci] * [skip ci] * [skip ci] • composition.py - docstring mods re: Autodiff * [skip ci] * Merge branch 'nback' of https://github.com/PrincetonUniversity/PsyNeuLink into nback � Conflicts: � Scripts/Models (Under Development)/Nback/nback.py • composition.py: - run(): try addining Report context for LLVM execution * [skip ci] • composition.py - add Report for compiled mode • compiledloss.py: - CROSS_ENTROPYLoss: _gen_loss_function(): fixed bug, now runs _gen_inject_loss_differential(): dummy copied from MSELoss -- NEEDS TO BE FIXED • transferfunctions.py: - ReLU: added compiled support for derivative using output • test_transfer.py: - test_transfer_derivative_out: test derivatives with output instead of input as arg * Merge branch 'nback' of https://github.com/PrincetonUniversity/PsyNeuLink into nback � Conflicts: � Scripts/Models (Under Development)/Nback/nback.py • composition.py: - run(): try addining Report context for LLVM execution * [skip ci] * [skip ci] * [skip ci] * [skip ci] • Merge branch 'nback' of https://github.com/PrincetonUniversity/PsyNeuLink into nback • composition.py: - docstring mods regarding Autodiff learning * [skip ci] * • composition.py - more docstrings re: Autodiff * [skip ci] • composition.py - table for learning execution modes * [skip ci] • llvm/__init__.py - ExecuteMode: add PyTorch as synonym for Python • autodiffcomposition.py - docstrring refactoring * [skip ci] * [skip ci] • composition.py, autodiffcomposition.py - docstring mods * [skip ci] • composition.py, autodiffcomposition.py - docstring mods * [skip ci] • composition.py, autodiffcomposition.py - docstring mods * [skip ci] * [skip ci] • test_transfer.py: - get rid of duplicative test * Merge branch 'devel' of https://github.com/PrincetonUniversity/PsyNeuLink into devel Conflicts: .github/actions/install-pnl/action.yml .github/actions/on-branch/action.yml .github/workflows/pnl-ci-docs.yml .github/workflows/pnl-ci.yml .github/workflows/test-release.yml Scripts/Models (Under Development)/N-back.py * Merge branch 'devel' of https://github.com/PrincetonUniversity/PsyNeuLink into devel Conflicts: .github/actions/install-pnl/action.yml .github/actions/on-branch/action.yml .github/workflows/pnl-ci-docs.yml .github/workflows/pnl-ci.yml .github/workflows/test-release.yml Scripts/Models (Under Development)/N-back.py * • test_learning.py: - test_xor_training_identicalness_standard_composition_vs_PyTorch_vs_LLVM: replaces test_xor_training_identicalness_standard_composition_vs_Autodiff * • learningfunctions.py - BackPropagation: - fix bug in which derivative for default loss (MSE) was computed using L0 - add explicit specification for L0 loss • composition.py: - _create_terminal_backprop_learning_components: - add explicit assignment of output_port[SUM] for L0 loss • test_learning.py: - test_multilayer: - fix bug in which SSE was assigned as loss, but oputput_port[MSE] was used for objective_mechanism - replace with explicit L0 loss and ouput_port[SUM] for objective_mechanism * [skip ci] • learningfunctions.py - _create_non_terminal_backprop_learning_components: - fixed bug in which loss function for hidden layers was set to MSE rather than simple L0 * [skip ci] • All tests pass * [skip ci] • test_learning.py: - test_multilayer_truth(): parameterize test with expected results * [skip ci] • test_learning.py: - test_multilayer_truth(): test for L0, SSE and MSE * [skip ci] • All tests pass * [skip ci] • All tests pass * [skip ci] * [skip ci] • keywords.py - add Loss enum • llvm.rst - add ExecutionMode • Project - replace MSE, SSE, L0, L1, CROSS_ENTROPY, KL_DIV, NLL and POISSON_NLL with Loss enum members * [skip ci] • composition.py: - run(): add warning for use of PyTorch with Composition * [skip ci] * [skip ci] • composition.py: - run(): commented out warning, as can't distinguish ExecutionMode.PyTorch from ExecutionMode.Python * - * • test_learning.py - clean up test_xor_training_identicalness_standard_composition_vs_PyTorch_and_LLVM * • test_learning.py - clean up test_xor_training_identicalness_standard_composition_vs_PyTorch_and_LLVM Co-authored-by: SamKG <[email protected]> Co-authored-by: Katherine Mantel <[email protected]> Co-authored-by: jdcpni <pniintel55>
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.
• composition.py:
- add_linear_processing_pathway: fixed bug when Reinforcement or TDLearning are specified
• test_composition.py:
- test_pathway_tuple_specs: add tests for Reinforcement and TDLearning