v0.1.0 - Initial Release
Initial Release
Overview
The initial release of Disent
- please see the docs and readme for new usage examples, changes should be easy to make to existing code, notably the
DisentDataset
andDisentSampler
changes.
Changes
- Replaced sampling datasets with one common class
disent.dataset.DisentDataset
- Wraps other datasets (
torch.utils.data.Dataset
ordisent.dataset.data.GroundTruthData
) - Accepts an implemented subclass of
disent.dataset.sampling.BaseDisentSampler
which controls how many observations are sampled and returned (eg. for triplet networks). - eg.
disent.dataset.groundtruth.GroundTruthDatasetPairs
is nowdisent.dataset.sampling.GroundTruthPairSampler
- Wraps other datasets (
- Removed all experimental code & features unique to Disent. Hydra configs and runners for non-experimental features remain. These features will be cleaned up and re-added once I submit my dissertation.
- ❌ experimental frameworks
- ❌ experimental datasets
- ❌ experimental metrics
- ❌ experimental models
- ❌ experimental augmentations
- ❌ experiment files
-
Verified models
- some models had potentially diverged from their original implementations and papers.
- Added a new test model: EncoderTest & DecoderTest
-
disent.nn
Changes:- Added
disent.nn.activations.Swish
- Removed loss reduction mode
"sum"
indisent.nn.loss.reduction
- Split out triplet mining logic from frameworks into
torch.nn.loss.triplet_mining
- Replaced
from torch.nn.modules import BatchView, Unsqueeze3D, Flatten3D
with pytorch 1.9 equivalents - Backwards compatible opt-in
disent.nn.transform.ToStandardisedTensor
enhancements
- Added
-
disent.util
Refactor, grouping logic into submodules:disent.util.inout
: utilities for working with paths, files and saving files.disent.util.lightning
: various helper functions and callbacks for pytorch lightning, some incorperated from past experiment files.disent.util.strings
: utilities for working with strings and ansi escape codesdisent.util.visualise
: moveddisent.visualise
into this module, separating framework logic and helper logic in disent.
-
Cleaned up
requirements.txt
- optional requirements moved into:
requirements-test.txt
andrequirements-exp.txt
- optional requirements moved into:
-
New tests
- samplers
- models
-
And a many bug-fixes