Library Reorganization for v0.2.1 (v0.3.0) release #242
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Massive WIP branch to collect several library improvement efforts. These will most likely involve a large and coordinated change to the structure of the codebase, so I'm grouping them together so that they land as a single PR rather than incremental and uncoordinated changes to
main
.These changes are grouped thematically by their aim to improve the quality of MPoL as a PyTorch library
torch.tensor
ahead ofnumpy.array
, thinking about memory locations of arrays during optimization loops) should yield speed and stability improvementsvisread
(pure numpy visibility manipulations and plotting) or anotherMPoL-dev
package (as 'plumbing', to use Git's terminology).Updates
In rough order of planned approach:
Coverage, bug-fix, and 'foundational' changes
disallow_untyped_defs
to prevent regressions..from_image_properties
class method #233 mypy error with forward references.torch.tensor
andnp.array
, which will beget further architectural redesign.log_likelihood
loss incorrect and other loss names misleading #237torch.nn
#131mpol.utils.convert_baselines
andmpol.utils.broadcast_and_convert_baselines
, since this functionality now exists invisread
(mpol.utils.convert_baselines and mpol.utils.broadcast_and_convert_baselines duplicate visread functionality #227).Changes to introduce Stochastic Gradient Descent workflow
TensorDataset
and aDataLoader
Redesign UVDataset with Pytorch idioms in mind #162model.forward
more like ML libraries? #188)Further documentation changes
.py
file inexamples/
(actual workflows following officialpytorch/examples
. E.g.,examples
or a newMPoL-dev
package implementing 'plumbing' or tutorials.Though, if we manage to accomplish everything I've listed here a v0.3.0 makes more sense than a v0.2.1.