Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge commit 'c782f0fb2f0cf9a8f1f31d5cb3ed18ea88b8ed45' into feat/com…
…position/start * commit 'c782f0fb2f0cf9a8f1f31d5cb3ed18ea88b8ed45': remove mechanismGenerator updating execute method of LCA to call LCAIntegrator and renaming time_constant --> beta to match the new function adding a new function called 'LCAIntegrator' which computes rate*previous_value + variable test_recurrent_transfer_mechanism.py PEP8 format replace crude assertions with numpy assert_allclose in test_recurrent_transfer_mechanism cleanup test_recurrent_mechanism.py imports make TransferMechanism.paramClassDefaults copy its parent instead of Mechanism_Base replace calls to numpy typechecking from 64 bit to 64 or 32bit versions temporary fix: changing LCControlMechanism output to (gain(w_t), gain(w_t), v_t, w_t, t) so that both modulated mechanisms receive gain. Should be refactored so that this is handled by selecting output states/control signals define undefined default values in MechanismPreferenceSet ensure that MechanismPreferenceSet imports its parent class Update Project_Default.xml revising FHN integrator docs comparisons to other models (Gilzenrat, Modified FHN) to be easier to follow and have all correct signs adding Project_Default.xml to gitignore removing toposort from ignoredPackages fixing Project Defaults adding ipykernel>=4.6.1 to dev_requirements.txt adding pytest to verify FHNIntegrator function against Gilzenrat paper figure 2 refactoring rk helper method to compute the two variables (v and w) concurrently and update their approximations of each other throughout the timestep make IntegratorMechanism get its paramClassDefaults from its parent ProcessingMechanism_Base rather than a more distant ancestor Mechanism_Base optimize imports via pycharm replace nonexistence ControlMechanism_Base uses with the real ControlMechanism import ShellClass System directly instead of implicitly importing it through the System.py module import ShellClass Process directly instead of implicitly importing it through the Process.py module import ShellClass State directly instead of implicitly importing it through the State.py module import ShellClass Projection directly instead of implicitly importing it through the Projection.py module import ShellClass Mechanism directly instead of implicitly importing it through the Mechanism.py module replace Adpative with Adaptive change test_notebooks to only test the notebooks in the tutorial folder (if more notebooks are added in the future, add them to be run by this test move tutorial notebook to its own dedicated folder passed in all arguments to the FHNIntegrator where the LCControlMechanism specifies FHN as its function in super().__init__ adding all params of FHNIntegrator Function to the LCControlMechanism. Appended '_FHN' to each param name b/c Mechanism cannot have params of the same name as params of its function Docs/mechanism/updated states fig (#484) Org/library/models (#483) update version to 0.3.4 in setup.py Refactor/objective mechanism/monitored output state tuple (#480) Library/gilzenrat et al (#479) Unit tests for RecurrentTransferMechanism learning (#478) Docs/learning/various docstrings (#477) Feat/recurrent transfer mechanism/add learning (#476) Feat/recurrent transfer mechanism/add learning (#475) update version to 0.3.3 in setup.py Feat/system/show graph origin and terminal colors (#472) Refactor/mechanism/parameter states property (#471) Renamed ControlMechanisms, created Core & Subsystem directories (#470) ensure AccumulatorIntegrator passes its default_variable parameter up the constructor hierarchy; modify test random number offset (tests in this commit were +6 numpy.random calls relative to 6a65ba4 ) Refactor/system/non controller control mechanisms (#469) Update dev requirements to include matplotlib as required by PR #452 Fix/utilities/iscompatible/recursive check for numeric (#468) Feat/itc mechanism/add params for fct (#467) fixing bugs in FHN integrator -- now uses variable (instead of self.variable) adding option to swap out different operations [ (1-S)*L , (1-S)-L, (1-S)+L] in the UtilityIntegrator add sphinx, jupyter to dev_requirements.txt fix tutorial notebook, add tests for notebooks remove ignored files cleaning up and testing UtilityIntegrator to confirm that it produces correct output adjusting utility integrator to match AGT paper -- no outer level EWMA filter renaming EWMA filter helper function misspelling in logistic helper function Merge branch 'devel' of https://github.com/PrincetonUniversity/PsyNeuLink into devel (#463) Feat/mechanism/lc and itc (#462) Feat/function/show params (#461) Feat/mechanism/lc and itc (#460) correct renaming bug from 7053408 continuing to document UtilityIntegrator function cleaning up the new UtilityIntegrator function, and adding summary documentation' adding a UtilityIntegrator function which relies on helper functions '_EWMAFilter' and '_take_logistic' to integrate and take the logistic of a variable using two sets of params: short term and long term, then combining the results adding documenation to describe the most general form of the FHNIntegrator function, and then 3 FHN formulations that it intends to support adding 'threshold' param to FHN function on top of all exisiting params Refactor/objective mechanism/input states and monitored values (#457) remove extraneous call to self._update_variable Docs/control/post refactor cleanup (#456) Feat/objective mechanism/monitored values dict (#455) Refactor/control/clean up (#454) Refactor control mech merged devel (#453) Docs/master/learning note (#450) renaming electrotonic_coupling to mode in FHN integrator function adding documentation of arguments of FHN function and adding FHN function to the Functions page removing typos and updating language in DDM docs (not linking to TIME_STEP and TRIAL anymore as these have different meanings in the scheduler) FHN pytests still not matching gilzenrat - commenting out adding 'uncorellated_activity' and 'electrotonic_coupling' arguments to be used by the dw_dt equation - this allows for a more direct comparison with the gilzenrat paper cleaning up argument/param names in FHN function, tried adding a pytest to test how it translates to the form in the Gilzenrat paper, but it's not working correct bug where keyword is named paramsInstanceDefaults and in some cases would search for attr by the same name (instead of correct nonplural) cleaning up and documenting FHN integrator parameterizing dw/dt and setting defaults; adding scale and offset to both return values fully parameterizing the dv_dt equation in the FHNMechanism so that it accomodates the gilzenrat formulation cleaning up FHN integrator mechanism and adding a pytest to verify it adding pytest for FHN integrator function -- not working yet because we need to grab w value, not just v, from mechanism adding implementation of FHN as a function which calls the rk4 helper function adding _euler and _runge_kutta_4 as helper functions on the integrator class so that any integrator function can implement this solvers • ObjectiveMechanism (#445) Feat/mechanism/lc (#444) Feat/mechanism/lc (#443) • Functions (#441) - (#439) updating tests to match ddm -- random seeds were disrupted by changes more documentation changes one more typo in cleaning up validation that overwrote 'function' built-in name moving DDM plotting functions out of validation; cleaning up validation that overwrote 'function' built-in name updating OU pytests to match recent changes to OU integrator function removing any references to TimeScale in Mechanism documentation in order to not confuse readers (at the moment, TimeScale still gets passed throughout component heirarchy, but it is not used) removing last reference to TimeScale in validation small typos and clarifications in TransferMechanism docs more DDM mechanism documentation cleanup continuing to clean up DDM mechanism documention - added a table that shows that categorizes functions based on type (analytic vs integrator) and output state options cleaning up documentation for the rest of the integrator functions, and modifying OU function to match the expression in the DDM paper adding previous_time and t0 attribs to OrnsteinUhlenbeckIntegrator as well + pytest finishing cleaning up documentation on DriftDiffusionIntegrator fixing small numpy bugs in DDM pytests DDM's RESPONSE_TIME output state is now working with DriftDiffusionIntegrator bc the DDM looks at its functions previous_time attrib; + pytest for this cleaning up docs for DriftDiffusionIntegrator & adding 'previous_time' and 't0' to the function for tracking response time; added pytest for the new attribs cleaning up docs - Integrator (base), Adaptive, Simple, Constant cleaning up docs - verifying that TransferMechanism docs match the code
- Loading branch information