-
Notifications
You must be signed in to change notification settings - Fork 56
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
Feature gst checkpointing #347
Commits on Aug 16, 2023
-
Initial implementation of checkpointing for GST
Initial implementation of checkpointing for GST. This initially implementation targets the GateSetTomography protocol specifically and future updates will add support for additional protocols. To support the checkpointing functionality a new generator function version of the iterative GST algorithm has been implemented to enable lazy evaluation. This commit also introduces a new ProtcolCheckpoint parent class and the GateSetTomographyCheckpoint class. Each protocol requires a somewhat different set of information to enable it to checkpoint properly during runtime, so the current vision is that each protocol will have a specialized checkpoint object associated with it.
Corey Ostrove committedAug 16, 2023 Configuration menu - View commit details
-
Copy full SHA for 1cd09fb - Browse repository at this point
Copy the full SHA 1cd09fbView commit details
Commits on Aug 24, 2023
-
Minor refactor of the GST checkpointing
Minor revision to restructure some of the control logic for the checkpointing.
Corey Ostrove committedAug 24, 2023 Configuration menu - View commit details
-
Copy full SHA for c530cb8 - Browse repository at this point
Copy the full SHA c530cb8View commit details -
Implementation of checkpointing for ModelTest protocols
An initial implementation of checkpointing for model testing. This really only saves intermediate objective function values, as that was all I identified that was either a) computationally worth checkpointing or b) safe to checkpoint given concerns about being independent of layout specific configuration details in resource alloc etc.
Corey Ostrove committedAug 24, 2023 Configuration menu - View commit details
-
Copy full SHA for 477228f - Browse repository at this point
Copy the full SHA 477228fView commit details
Commits on Aug 28, 2023
-
Initial implementation of StandardGST checkpointing
This commit adds an initial implementation of the StandardGSTCheckpointing object and it's use in the StandardGST protocol. Also includes a few bug fixes for the implementations of GateSetTomographyCheckpoint and ModelTestCheckpoint. The idea behind the implementation of the StandardGSTCheckpoint is to treat it as a container for some number of checkpoint objects for each of the sub-protocols run during StandardGST. To facilitate this I have also added a 'parent' attribute to the base ProtocolCheckpoint object to enable a link between child objects and their parents. This is primarily used at present to swap the child's write method with that of the parent's (which invokes the parent's serialization instead) when a parent checkpoint is present. Bugfixes were related to a mistake in using mutable objects as default kwarg values.
Corey Ostrove committedAug 28, 2023 Configuration menu - View commit details
-
Copy full SHA for 929fa0b - Browse repository at this point
Copy the full SHA 929fa0bView commit details -
Deprecate use of comma-separated string for modes
The old behavior for the modes argument is kind of wonky and doesn't have any analogues in the code that I can recall. This switches the argument to take either an iterable or a single string (i.e. for specifying a single-mode), and adds a deprecation warning about the comma-separated version.
Corey Ostrove committedAug 28, 2023 Configuration menu - View commit details
-
Copy full SHA for 62d58cf - Browse repository at this point
Copy the full SHA 62d58cfView commit details
Commits on Aug 29, 2023
-
Configuration menu - View commit details
-
Copy full SHA for fc18335 - Browse repository at this point
Copy the full SHA fc18335View commit details -
Updates the docstrings for new checkpointing functionality.
Corey Ostrove committedAug 29, 2023 Configuration menu - View commit details
-
Copy full SHA for c91af25 - Browse repository at this point
Copy the full SHA c91af25View commit details -
Add plumbing for checkpoints to drivers
Adds in the plumbing for passing in checkpoint objects to the driver function based interface.
Corey Ostrove committedAug 29, 2023 Configuration menu - View commit details
-
Copy full SHA for 89e9cd7 - Browse repository at this point
Copy the full SHA 89e9cd7View commit details -
Add flag for disabling checkpointing
When this is set to True checkpoint objects are neither created nor written to disk. If there are values passed in for the checkpoint and checkpoint_path kwarg these are ignored entirely.
Corey Ostrove committedAug 29, 2023 Configuration menu - View commit details
-
Copy full SHA for 7d2e1e5 - Browse repository at this point
Copy the full SHA 7d2e1e5View commit details
Commits on Sep 6, 2023
-
Add unit tests for checkpointing
This adds some unit tests for the checkpointing functionality. Decided to add this to the drivers test package for simplicity. Only test we may want to revisit is for the StandardGSTCheckpoint, which uses log-likelihoods temporarily due to unexpected sign behavior with CPTPLND parameterized models. May also want to add tests for when checkpoints are disabled and such, but then that is already largely covered already. Also refactored a few other tests to bring them in line with the recent deprecations of comma-separated strings for modes on StandardGST.
Corey Ostrove committedSep 6, 2023 Configuration menu - View commit details
-
Copy full SHA for bf888fa - Browse repository at this point
Copy the full SHA bf888faView commit details -
Update tutorial and example notebooks
Update tutorial notebooks to reflect new StandardGST syntax.
Corey Ostrove committedSep 6, 2023 Configuration menu - View commit details
-
Copy full SHA for d63d427 - Browse repository at this point
Copy the full SHA d63d427View commit details -
Python 3.7 and 3.8 compatibility
I was inadvertently using a method that is only in pathlib for 3.9+, switch to a call that is compatible with older versions.
Corey Ostrove committedSep 6, 2023 Configuration menu - View commit details
-
Copy full SHA for 285c5b6 - Browse repository at this point
Copy the full SHA 285c5b6View commit details -
Pretty sure this is a false positive in flake8, not sure why else there would be a syntax error...
Corey Ostrove committedSep 6, 2023 Configuration menu - View commit details
-
Copy full SHA for 880b90b - Browse repository at this point
Copy the full SHA 880b90bView commit details -
Corey Ostrove committed
Sep 6, 2023 Configuration menu - View commit details
-
Copy full SHA for db3ee87 - Browse repository at this point
Copy the full SHA db3ee87View commit details
Commits on Sep 7, 2023
-
Remove errant print statement from test file (which incidentally breaks on older versions of python).
Corey Ostrove committedSep 7, 2023 Configuration menu - View commit details
-
Copy full SHA for efb0942 - Browse repository at this point
Copy the full SHA efb0942View commit details -
Delete GateSetTomography_iteration_4.json
I seem to have added this file by accident...
Corey Ostrove committedSep 7, 2023 Configuration menu - View commit details
-
Copy full SHA for 57b9a9f - Browse repository at this point
Copy the full SHA 57b9a9fView commit details -
Add checkpointing to tutorials
Add sections on checkpointing an its usage to the tutorials on GST and model testing protocols. Also makes a minor change to one of the unit tests that is inexplicably failing on older python versions.
Corey Ostrove committedSep 7, 2023 Configuration menu - View commit details
-
Copy full SHA for a58d1fc - Browse repository at this point
Copy the full SHA a58d1fcView commit details -
Re-enable checkpointing on the updated tutorials
Remove some of the disable_checkpointing flags I had added to the earlier parts of the of updated tutorials. I am still concerned we might run into file access collisions since we're running the notebook test suite with multiple processes, but I am more worried about accidentally shaping user behavior negatively. Most of our users will copy and paste directly from the tutorials and assume the disable_checkpointing flags are important/needed, and that is worse than weird testing behavior to debug.
Corey Ostrove committedSep 7, 2023 Configuration menu - View commit details
-
Copy full SHA for c26a048 - Browse repository at this point
Copy the full SHA c26a048View commit details -
Update a few more tutorial notebooks
Bugfix and refactoring for deprecated mode labels.
Corey Ostrove committedSep 7, 2023 Configuration menu - View commit details
-
Copy full SHA for a17955c - Browse repository at this point
Copy the full SHA a17955cView commit details
Commits on Sep 8, 2023
-
Update GOpt-NonIdealTargets.ipynb
Fix minor typo in updated label
Corey Ostrove committedSep 8, 2023 Configuration menu - View commit details
-
Copy full SHA for c124419 - Browse repository at this point
Copy the full SHA c124419View commit details
Commits on Sep 15, 2023
-
Refactor run_iterative_gst to use the new iterative_gst_generator generator function under the hood to avoid code duplication.
Corey Ostrove committedSep 15, 2023 Configuration menu - View commit details
-
Copy full SHA for e827f76 - Browse repository at this point
Copy the full SHA e827f76View commit details -
Add new test for iterative_gst_generator
Add a new test for warmstarting of iterative_gst_generator.
Corey Ostrove committedSep 15, 2023 Configuration menu - View commit details
-
Copy full SHA for 6ff3f62 - Browse repository at this point
Copy the full SHA 6ff3f62View commit details