Actually return a copy of the parameters classes when using the copy_to_device/copy_to_host functions. This prevents unexpected behavior when a parameter of one of these classes is modified in place.
Use a convergence metric that checks how much (absolutely) the object has changed since the last epoch.
Approach
Return a new instance of the Parameter classes from the copy_to functions instead of a reference to the original.
Pre-Merge Checklists
Submitter
[x] Write a helpfully descriptive pull request title.
[x] Organize changes into logically grouped commits with descriptive commit messages.
[x] Document all new functions.
[x] Click 'details' on the readthedocs check to view the updated docs.
[ ] Write tests for new functions or explain why they are not needed.
[x] Address any complaints from pep8speaks.
Reviewer
[ ] Actually read all of the code.
[ ] Run the new code yourself; the included tests should make this easy.
[ ] Write a summary of the changes as you understand them.
Purpose
Actually return a copy of the parameters classes when using the copy_to_device/copy_to_host functions. This prevents unexpected behavior when a parameter of one of these classes is modified in place.
Use a convergence metric that checks how much (absolutely) the object has changed since the last epoch.
Approach
Return a new instance of the Parameter classes from the copy_to functions instead of a reference to the original.
Pre-Merge Checklists
Submitter
Reviewer