-
Notifications
You must be signed in to change notification settings - Fork 3
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
Add parameter sweep functionality #380
Commits on Jul 18, 2024
-
Configuration menu - View commit details
-
Copy full SHA for dda51a3 - Browse repository at this point
Copy the full SHA dda51a3View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6374e12 - Browse repository at this point
Copy the full SHA 6374e12View commit details -
Begin param sweep reader + writer implementations
Implements the simple property getters.
Configuration menu - View commit details
-
Copy full SHA for 687eeb1 - Browse repository at this point
Copy the full SHA 687eeb1View commit details -
Configuration menu - View commit details
-
Copy full SHA for b21499e - Browse repository at this point
Copy the full SHA b21499eView commit details -
Configuration menu - View commit details
-
Copy full SHA for e4e863c - Browse repository at this point
Copy the full SHA e4e863cView commit details -
Configuration menu - View commit details
-
Copy full SHA for d8e2c95 - Browse repository at this point
Copy the full SHA d8e2c95View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6757f76 - Browse repository at this point
Copy the full SHA 6757f76View commit details -
Configuration menu - View commit details
-
Copy full SHA for ac2ba1d - Browse repository at this point
Copy the full SHA ac2ba1dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 47e7038 - Browse repository at this point
Copy the full SHA 47e7038View commit details -
Configuration menu - View commit details
-
Copy full SHA for f5a6c43 - Browse repository at this point
Copy the full SHA f5a6c43View commit details -
Configuration menu - View commit details
-
Copy full SHA for 314599d - Browse repository at this point
Copy the full SHA 314599dView commit details -
Configuration menu - View commit details
-
Copy full SHA for b9bb048 - Browse repository at this point
Copy the full SHA b9bb048View commit details -
Configuration menu - View commit details
-
Copy full SHA for e8bd005 - Browse repository at this point
Copy the full SHA e8bd005View commit details -
Configuration menu - View commit details
-
Copy full SHA for d44e277 - Browse repository at this point
Copy the full SHA d44e277View commit details -
Configuration menu - View commit details
-
Copy full SHA for f332637 - Browse repository at this point
Copy the full SHA f332637View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4610130 - Browse repository at this point
Copy the full SHA 4610130View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4ffa9f5 - Browse repository at this point
Copy the full SHA 4ffa9f5View commit details -
Configuration menu - View commit details
-
Copy full SHA for 9d29c92 - Browse repository at this point
Copy the full SHA 9d29c92View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4902721 - Browse repository at this point
Copy the full SHA 4902721View commit details -
Add block interfaces and base block class
The motivation behind this change is that it would be useful to be able to use method wrapper objects (implementors of `MethodWrapper`) to execute methods in both: - the high throughput runner `TaskRunner` - the parameter sweep runner `ParamSweepRunner` The `DataSetBlock` class contains code that is mostly compatible with a parameter sweep run. However, one incompatibility is the `DataSetBlock.data.setter()` method, which places a constraint on the data involving the slicing dimension of the data. In parameter sweep runs there is only a single process being run, and so the concept of slicing dimension isn't relevant. Given that `DataSetBlock` contains a fair amount of logic that *is* usable in a parameter sweep run, after various iterations of testing out what could work well, the logic in `DataSetBlock` that is usable across both high throughput runs and parameter sweep runs has been extracted into a separate `BaseBlock` class. A high-level overview of the organisation of block-related functionality now is: - the various functionalites needed for a block type to be processable by implementors of `MethodWrapper` have been organised into three separate protocols: `BlockData`, `BlockTransfer`, and `BlockIndexing` - `BaseBlock` provides "typical implementations" for `BlockData` and `BlockTransfer`, which are reused by `DataSetBlock` via inheritance - thus, `BaseBlock` contains the code for "typical" implementations of methods that are common to blocks across both high throughput runs and parmeter sweep runs - `DataSetBlock` contains only the code specific to processing blocks in high throughput runs - in the future, the "typical implementations" contained in `BaseBlock` can be reused by a new block type that will be used in parameter sweep runs
Configuration menu - View commit details
-
Copy full SHA for 6fde29d - Browse repository at this point
Copy the full SHA 6fde29dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 4b2d722 - Browse repository at this point
Copy the full SHA 4b2d722View commit details -
Configuration menu - View commit details
-
Copy full SHA for 2c70854 - Browse repository at this point
Copy the full SHA 2c70854View commit details -
Infer shape of array holding all sweep results from first block shape…
… + no of sweep Before, the array to hold all sweep results was inferred from the `single_shape` value that was given when the writer object was first created. This had the implicit assumption that the shape of a single sweep result would be known at the time the writer object is created. This assumption holds when the method being executed in the sweep doesn't change the shape of the data during processing (most methods adhere to this). However, this assumption doesn't hold when the method executed in the sweep does change the shape of the data during processing (for example, reconstruction methods). Therefore, the writer now infers the shape of a single sweep result when the first block to be written has been given. This can then can be used to infer the shape of the array to hold all sweep results for both cases (when the method being executed in the sweep does and doesn't change the shape of the data).
Configuration menu - View commit details
-
Copy full SHA for a408590 - Browse repository at this point
Copy the full SHA a408590View commit details -
Use a single method wrapper for sweep execution
Instead of creating multiple copies of the same wrapper with different values for the parameter to sweep over, use a single wrapper and update the parameters before each execution to reflect the new sweep value to be used.
Configuration menu - View commit details
-
Copy full SHA for f9c6685 - Browse repository at this point
Copy the full SHA f9c6685View commit details -
Create stages object in sweep runner constructor
Instead of requiring that the caller of the sweep runner creates the `Stages` object, have the sweep runner generate that itself from the pipeline object.
Configuration menu - View commit details
-
Copy full SHA for 58f4a0e - Browse repository at this point
Copy the full SHA 58f4a0eView commit details -
Add modified YAML loader to handle sweep YAML tags
By default, the YAML loader used by the UI layer to load YAML pipeline files is now the modified version of `yaml.SafeLoader` that additionally handles the `!Sweep` and `!SweepRange` tags.
Configuration menu - View commit details
-
Copy full SHA for 976a9e0 - Browse repository at this point
Copy the full SHA 976a9e0View commit details -
Configuration menu - View commit details
-
Copy full SHA for d054276 - Browse repository at this point
Copy the full SHA d054276View commit details -
Configuration menu - View commit details
-
Copy full SHA for 91c186b - Browse repository at this point
Copy the full SHA 91c186bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 151b20d - Browse repository at this point
Copy the full SHA 151b20dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 092995d - Browse repository at this point
Copy the full SHA 092995dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 361b2c4 - Browse repository at this point
Copy the full SHA 361b2c4View commit details -
Configuration menu - View commit details
-
Copy full SHA for dbec68d - Browse repository at this point
Copy the full SHA dbec68dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 12a6c8c - Browse repository at this point
Copy the full SHA 12a6c8cView commit details