Repository navigation
v0.0.1.dev14
Pre-release
Pre-release
Overview
This release is mostly a large set of refactors, and reproducibility improvements with regards to seeds and datasets.
Notable Changes
- Data now relies on
disent.data.datafile.DataFiles, which are deterministic, hash and cache based, file generators that can fetch or pre-process data. - Added
XYSquaresMinimalData, which is a minimal faster version ofXYSquaresDatawithout any configuration options. With default parameters, data fromXYSquaresDatashould equalXYSquaresMinimalData - Added
PickleH5pyFilethat can pickle an hdf5 file and dataset. This is intended to be used withtorchDataLoaders or multiprocessing.
Definitely Breaking Changes
-
renamed classes:
- renamed
AugmentableDatasettoDisentDataset - renamed
BaseFrameworktoDisentFramework - renamed
BaseEncoderModuletoDisentEncoder - renamed
BaseDecoderModuletoDisentDecoder
- renamed
-
consolidated maths and helper functions into new submodule
disent.nndisent.nn.weightsinitialisation functions from originallydisent.model.initdisent.nn.modulesbasic modules from various locations includingDisentModule,DisentLightningModule,BatchView,Unsqueeze3D,Flatten3Ddisent.nn.transformtransform and augment functions and classes fromdisent.transform, still needs to be cleaned up in future releases.disent.nn.lossvarious loss functions from other places includingtriplet,kl,softsortandreductionmodulestorch.nn.functionalvarious differentiable torch helper functions mostly fromdisent.util.math, including functions for computing the Covariance, Correlation, Generalised Mean, PCA, DCT, Channel-Wise convolutions and more! Some functions such as kernel generation need to be moved out of here.
-
split up and consolidated utilities:
disent.util.cachecaching utilities including thestalefiledecorator that only runs the wrapped function if the specified file is stale (hash does not match, or file does not exist)disent.util.colorsANSI escape codesdisent.util.functionwrapper, decorator and inspect utilitiesdisent.util.hashingcompute thefullhash of a file or afasthash based on the README for the imohash algorithm.disent.util.in_outoriginally fromdisent.data.utilfor handling file retrieval/downloading/copying and savingdisent.util.itersgeneral iterators or map functions, includingiter_chunksanditer_rechunkdisent.util.pathspath handling and file or directory managementdisent.util.profilingtimers & memory usagedisent.util.seedsseed management contexts and functionsdisent.util.stringsstring formatting helper functions
-
removed and cleaned up functions from:
disent.data.hdf5disent.dataset.__init__disent.util.__init__disent.schedule.lerprenamedactivatetoscale_ratioand removed other functions.
Other Changes
- Replaced
GroundTruthDataspecialisations with general loading fromDataFiles. StateSpacenow storesfactor_namesinstead ofGroundTruthData- preparing for rewrite of datasets to use dependency injections and samplers.
Experiment Config & Runner Changes
- Many config fixes for refactors
- Experiment can now be seeded
New Tests
- test
PickleH5pyFilemultiprocessing support - test
XYSquaresDataandXYSquaresMinimalDatasimilarity