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.DataFile
s, which are deterministic, hash and cache based, file generators that can fetch or pre-process data. - Added
XYSquaresMinimalData
, which is a minimal faster version ofXYSquaresData
without any configuration options. With default parameters, data fromXYSquaresData
should equalXYSquaresMinimalData
- Added
PickleH5pyFile
that can pickle an hdf5 file and dataset. This is intended to be used withtorch
DataLoader
s or multiprocessing.
Definitely Breaking Changes
-
renamed classes:
- renamed
AugmentableDataset
toDisentDataset
- renamed
BaseFramework
toDisentFramework
- renamed
BaseEncoderModule
toDisentEncoder
- renamed
BaseDecoderModule
toDisentDecoder
- renamed
-
consolidated maths and helper functions into new submodule
disent.nn
disent.nn.weights
initialisation functions from originallydisent.model.init
disent.nn.modules
basic modules from various locations includingDisentModule
,DisentLightningModule
,BatchView
,Unsqueeze3D
,Flatten3D
disent.nn.transform
transform and augment functions and classes fromdisent.transform
, still needs to be cleaned up in future releases.disent.nn.loss
various loss functions from other places includingtriplet
,kl
,softsort
andreduction
modulestorch.nn.functional
various 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.cache
caching utilities including thestalefile
decorator that only runs the wrapped function if the specified file is stale (hash does not match, or file does not exist)disent.util.colors
ANSI escape codesdisent.util.function
wrapper, decorator and inspect utilitiesdisent.util.hashing
compute thefull
hash of a file or afast
hash based on the README for the imohash algorithm.disent.util.in_out
originally fromdisent.data.util
for handling file retrieval/downloading/copying and savingdisent.util.iters
general iterators or map functions, includingiter_chunks
anditer_rechunk
disent.util.paths
path handling and file or directory managementdisent.util.profiling
timers & memory usagedisent.util.seeds
seed management contexts and functionsdisent.util.strings
string formatting helper functions
-
removed and cleaned up functions from:
disent.data.hdf5
disent.dataset.__init__
disent.util.__init__
disent.schedule.lerp
renamedactivate
toscale_ratio
and removed other functions.
Other Changes
- Replaced
GroundTruthData
specialisations with general loading fromDataFile
s. StateSpace
now storesfactor_names
instead 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
PickleH5pyFile
multiprocessing support - test
XYSquaresData
andXYSquaresMinimalData
similarity