Skip to content

v0.0.21

Compare
Choose a tag to compare
@Yura52 Yura52 released this 10 Oct 16:04
· 29 commits to main since this release

This is a relatively big release after v0.0.18.

Breaking changes

  • delu.iter_batches: now, shuffle is a keyword-only argument
  • delu.nn.Lambda
    • now, this module accepts only the functions from the torch module or methods of torch.Tensor
    • now, the passed callable is not accessible as a public attribute
  • delu.random.seed: the algorithm computing the library- and device-specific seeds changed, so the result can change compared to the previous versions
  • In the following functions, the first arguments are now positional-only:
    • delu.to
    • delu.cat
    • delu.iter_batches
    • delu.Timer.format
    • delu.data.Enumerate
    • delu.nn.Lambda
    • delu.random.seed
    • delu.random.set_state

New features

  • Added delu.tools -- a new home for EarlyStopping, Timer and other general tools.

  • Added delu.nn.NLinear -- a module representing N linear layers that are applied to N different inputs:
    (*B, *N, D1) -> (*B, *N, D2), where *B are the batch dimensions.

  • Added delu.nn.named_sequential -- a shortcut for creating torch.nn.Sequential with named modules without OrderedDict:

    sequential = delu.nn.named_sequential(
        ('linear1', nn.Linear(10, 20)),
        ('activation', nn.ReLU()),
        ('linear2', nn.Linear(20, 1))
    )
    
  • delu.nn.Lambda: now, the constructor accepts keyword arguments for the callable:

    m = delu.nn.Lambda(torch.squeeze, dim=1)
    
  • delu.random.seed

    • the algorithm computing random seeds for all libraries was improved
    • now, None is allowed as base_seed; in this case, an unpredictable seed generated by OS will be used and returned:
    truly_random_seed = delu.random.seed(None)
    
  • delu.random.set_state: now, omitting the 'torch.cuda' is allowed to avoid setting the states of CUDA RNGs

Deprecations & Renamings

  • delu.data was renamed to delu.utils.data. The old name is now a deprecated alias.
  • delu.Timer and delu.EarlyStopping were moved to the new delu.tools submodule. The old names are now deprecated aliases.

Dependencies

  • Now, torch >=1.8,<3

Documentation

  • Updated logo
  • Simplified structure
  • Removed the only (and not particularly representative) end-to-end example

Project

  • Migrate from sphinx doctest to xdoctest