Skip to content

v0.1.0 - Initial Release

Compare
Choose a tag to compare
@nmichlo nmichlo released this 28 Jul 12:43
· 729 commits to main since this 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 and DisentSampler changes.

Changes

  • Replaced sampling datasets with one common class disent.dataset.DisentDataset
    • Wraps other datasets (torch.utils.data.Dataset or disent.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 now disent.dataset.sampling.GroundTruthPairSampler
  • 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" in disent.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
  • 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 codes
    • disent.util.visualise: moved disent.visualise into this module, separating framework logic and helper logic in disent.
  • Cleaned up requirements.txt

    • optional requirements moved into: requirements-test.txt and requirements-exp.txt
  • New tests

    • samplers
    • models
  • And a many bug-fixes