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

Refactor/mechanisms/ execute #754

Merged
merged 19 commits into from
Apr 13, 2018
Merged

Refactor/mechanisms/ execute #754

merged 19 commits into from
Apr 13, 2018

Conversation

jdcpni
Copy link
Collaborator

@jdcpni jdcpni commented Apr 13, 2018

All subclasses of Mechanism, in addition to all other Components, now use Component._execute to call their .function (rather than doing so locally).

• Component

  • _execute: added **kwargs argument, passed to call to function
    to accomodate LearningMechanism and EVCControlMechanism,
    the functions for which expect additional arguments

• AutoassociativeLearningMechanism

  • _execute calls super(LearningMechanism, self) to skip Learning

• LearningMechanism:
_ execute calls super()._execute with **kwargs

• PrecictionMechanism:
_execute calls super()._execute

jdcpni and others added 19 commits March 2, 2018 00:10
* • System
  _instantiate_learning_graph(): fixed bug in which learning failed to
    be instantiated for a System in which the last Mechanism in a
    learning sequence was not the TERMINAL Mechanism of the System.

* • System
  _instantiate_learning_graph(): fixed bug in which learning failed to
    be instantiated for a System in which the last Mechanism in a
    learning sequence was not the TERMINAL Mechanism of the System.

* • Scripts/Examples
  Rumelhart Semantic Network: updated with step function
…tem/learning-ends-before-terminal

Revert "Fix/system/learning ends before terminal (#685)"
  Run: removed _parse_target_labels (they are just the input_labels
       for a TARGET Mechanism

• Mechanism
  docstring revs for INPUT_LABELS_DICDT and OUTPUT_LABELS_DICT
  - _execute:  added **kwargs argument, passed to call to function
               to accomodate LearningMechanism that uses this

• AutoassociativeLearningMechanism
  - _execute calls super(LearningMechanism, self) to skip Learning

• LearningMechanism:
  _ execute calls super()._execute with **kwargs
  - _execute:  added **kwargs argument, passed to call to function
               to accomodate LearningMechanism that uses this

• AutoassociativeLearningMechanism
  - _execute calls super(LearningMechanism, self) to skip Learning

• LearningMechanism:
  _ execute calls super()._execute with **kwargs

• PrecictionMechanism:
  _execute calls super()._execute
  - _execute:  added **kwargs argument, passed to call to function
               to accomodate LearningMechanism and EVCControlMechanism,
               the functions for which expect additional arguments

• AutoassociativeLearningMechanism
  - _execute calls super(LearningMechanism, self) to skip Learning

• LearningMechanism:
  _ execute calls super()._execute with **kwargs

• PrecictionMechanism:
  _execute calls super()._execute
  - _execute:  added **kwargs argument, passed to call to function
               to accomodate LearningMechanism and EVCControlMechanism,
               the functions for which expect additional arguments

• AutoassociativeLearningMechanism
  - _execute calls super(LearningMechanism, self) to skip Learning

• LearningMechanism:
  _ execute calls super()._execute with **kwargs

• PrecictionMechanism:
  _execute calls super()._execute
@jdcpni jdcpni merged commit ebeba45 into devel Apr 13, 2018
@jdcpni jdcpni deleted the refactor/mechanisms/_execute branch April 14, 2018 14:24
kmantel added a commit that referenced this pull request May 1, 2018
* devel:
  Feat/projections/masked mapping projection (#775)
  adding exceptions to get_current_function_param and get_current_mechanism_param - not intended for looking up 'variable'
  Feat/projections/masked mapping projection (#771)
  • LCA (#770)
  • LCA (#769)
  Refactor/mechanism/transfermechanism (#768)
  Fix default_variable bug (#767)
  Feat/inputstate/combine (#766)
  Refactor/context/source (#765)
  Defaults: ensure that function attr appears when examining Defaults
  Rewrite Function instantiation:
  Component: create fewer instances during init when function arg is a class
  LinearMatrix: make keyword method static to reflect how it is used
  refactor/rename _variable_not_specified to be more generic, using enum
  Defaults: add enum to denote flexibility of assignments
  Component: add class method to get new param class defaults
  Defaults: add ClassDefaults.function to several classes, and use it as fallback
  utilities: add function to detect if obj is an instance or a subclass of a class
  Component: override __deepcopy__ method to use shared items
  parsing: add method to parse function variable from variable
  imports: pycharm-optimize to avoid unnecessary circularities
  Params: copy dict/ROODs nested in params arguments to avoid side effects
  Refactor/context/set and test (#762)
  fixing bug in looking up target values for learning which caused first target value to be repeated
  LinearCombination, Reduce: handle negative exponents during init (avoid zero division)
  Functions: simplify noise validation
  adding a note to the ddm plot() documentation to clarify that the plot does not correspond to the actual results of the mechanism
  fixing drift diffusion integrator bug - returned threshold even when it crossed the negative threshold
  Fix/misc/misc (#759)
  PredictionErrorMechanism: correct infinite recursion in _execute
  Docs/context/context (#757)
  • Mechanism (#756)
  Refactor/mechanisms/ execute (#754)
  LearningAuxilliary: rename to LearningAuxiliary (correct double l typo)
  scheduling: decouple Scheduler and Condition, allow multiple execution_ids
  utilites: get method to prune unused args from a function from composition branch
  Feat/mechanism/input target lable dicts (#752)
  testing: Resolve leftover merge conflicts, fixes #747
  testing: correct pytest setup ovewrite, losing some settings
  Feat/mechanism/input target label dicts (#751)
  Scheduling: fix bug where termination conditions persisted across calls to run
  tests,function/LinearCombination: Add tests with absent parameters
  test,function/LinearCombination: Rename second test function to prevent overwriting results
  • Context (#746)
  Refactor/context/deprecate init status (#745)
  Refactor/context/structured (#744)
  Fix/function/stability (#743)
  • IntegratorMechanism (#742)
kmantel added a commit that referenced this pull request May 1, 2018
* devel:
  Feat/projections/masked mapping projection (#775)
  adding exceptions to get_current_function_param and get_current_mechanism_param - not intended for looking up 'variable'
  Feat/projections/masked mapping projection (#771)
  • LCA (#770)
  • LCA (#769)
  Refactor/mechanism/transfermechanism (#768)
  Fix default_variable bug (#767)
  Feat/inputstate/combine (#766)
  Refactor/context/source (#765)
  Defaults: ensure that function attr appears when examining Defaults
  Rewrite Function instantiation:
  Component: create fewer instances during init when function arg is a class
  LinearMatrix: make keyword method static to reflect how it is used
  refactor/rename _variable_not_specified to be more generic, using enum
  Defaults: add enum to denote flexibility of assignments
  Component: add class method to get new param class defaults
  Defaults: add ClassDefaults.function to several classes, and use it as fallback
  utilities: add function to detect if obj is an instance or a subclass of a class
  Component: override __deepcopy__ method to use shared items
  parsing: add method to parse function variable from variable
  imports: pycharm-optimize to avoid unnecessary circularities
  Params: copy dict/ROODs nested in params arguments to avoid side effects
  Refactor/context/set and test (#762)
  fixing bug in looking up target values for learning which caused first target value to be repeated
  LinearCombination, Reduce: handle negative exponents during init (avoid zero division)
  Functions: simplify noise validation
  adding a note to the ddm plot() documentation to clarify that the plot does not correspond to the actual results of the mechanism
  fixing drift diffusion integrator bug - returned threshold even when it crossed the negative threshold
  Fix/misc/misc (#759)
  PredictionErrorMechanism: correct infinite recursion in _execute
  Docs/context/context (#757)
  • Mechanism (#756)
  Refactor/mechanisms/ execute (#754)
  LearningAuxilliary: rename to LearningAuxiliary (correct double l typo)
  scheduling: decouple Scheduler and Condition, allow multiple execution_ids
  utilites: get method to prune unused args from a function from composition branch
  Feat/mechanism/input target lable dicts (#752)
  testing: Resolve leftover merge conflicts, fixes #747
  testing: correct pytest setup ovewrite, losing some settings
  Feat/mechanism/input target label dicts (#751)
  Scheduling: fix bug where termination conditions persisted across calls to run
  tests,function/LinearCombination: Add tests with absent parameters
  test,function/LinearCombination: Rename second test function to prevent overwriting results
  • Context (#746)
  Refactor/context/deprecate init status (#745)
  Refactor/context/structured (#744)
  Fix/function/stability (#743)
  • IntegratorMechanism (#742)
@kmantel kmantel mentioned this pull request May 1, 2018
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