All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Make qpth dependency optional.
- New vision example: MAML++. (@Theo Morales)
- Add tutorial: "Demystifying Task Transforms", (Varad Pimpalkhute)
- Add
l2l.nn.MetaModule
andl2l.nn.ParameterTransform
for parameter-efficient finetuning. - Add
l2l.nn.freeze
andl2l.nn.unfreeze
. - Add Adapters and LoRA examples.
- Add TasksetSampler, compatible with PyTorch's Dataloaders.
- Documentation: uses
mkdocstrings
instead ofpydoc-markdown
. - Remove
text/news_topic_classification.py
example. - Rename TaskDataset to Taskset.
- MAML Toy example. (@Theo Morales)
- Example for
detach_module
. (Nimish Sanghi) - Loading duplicate FGVC Aircraft images.
- Move vision datasets to Zenodo. (mini-ImageNet, tiered-ImageNet, FC100, CIFAR-FS, CUB200)
- mini-ImageNet targets are now ints (not np.float64).
- Swap family for variants in FGVCAircraft, as in MetaDataset.
- Bounding box cropping for Aircraft and CUB200.
- Pretrained weights for vision models with:
l2l.vision.models.get_pretrained_backbone()
. - Add
keep_requires_grad
flag todetach_module
. (Zhaofeng Wu)
- Fix arguments when instantiating
l2l.nn.Scale
. - Fix
train_loss
logging inLightningModule
implementations with PyTorch-Lightning 1.5. - Fix
RandomClassRotation
(#283) to incorporate multi-channelled inputs. (Varad Pimpalkhute) - Fix memory leak in
maml.py
andmeta-sgd.py
and add tests tomaml_test.py
andmetasgd_test.py
to check for possible future memory leaks. (#284) (Kevin Zhang)
- PyTorch Lightning interface to MAML, ANIL, ProtoNet, MetaOptNet.
- Automatic batcher for Lightning:
l2l.data.EpisodicBatcher
. l2l.nn.PrototypicalClassifier
andl2l.nn.SVMClassifier
.- Add
l2l.vision.models.WRN28
. - Separate modules for
CNN4Backbone
,ResNet12Backbone
,WRN28Backbones
w/ pretrained weights. - Add
l2l.data.OnDeviceDataset
and implementdevice
parameter for benchmarks. - (Beta) Add
l2l.data.partition_task
andl2l.data.InfiniteIterator
.
- Renamed and clarify dropout parameters for
ResNet12
.
- Improved support for 1D inputs in
l2l.nn.KroneckerLinear
. (@timweiland)
- Fix setup.py for windows installs.
FilteredMetaDatasest
filter the classes used to sample tasks.UnionMetaDatasest
to get the union of multiple MetaDatasets.- Alias
MiniImageNetCNN
toCNN4
and addembedding_size
argument. - Optional data augmentation schemes for vision benchmarks.
l2l.vision.models.ResNet12
l2l.vision.datasets.DescribableTextures
l2l.vision.datasets.Quickdraw
l2l.vision.datasets.FGVCFungi
- Add
labels_to_indices
andindices_to_labels
as optional arguments tol2l.data.MetaDataset
.
- Updated reference for citations.
l2l.vision.datasets.CUBirds200
.
- Optimization transforms can be accessed directly through
l2l.optim
, e.g.l2l.optim.KroneckerTransform
. - All vision models adhere to the
.features
and.classifier
interface.
- Fix
clone_module
for Modules whose submodules share parameters.
- New example: Meta-World example with MAML-TRPO with it's own env wrapper. (@Kostis-S-Z)
l2l.vision.benchmarks
interface.- Differentiable optimization utilities in
l2l.optim
. (includingl2l.optim.LearnableOptimizer
for meta-descent) - General gradient-based meta-learning wrapper in
l2l.algorithms.GBML
. - Various
nn.Modules
inl2l.nn
. l2l.update_module
as a more general alternative tol2l.algorithms.maml_update
.
- clone_module supports non-Module objects.
- VGG flowers now relies on tarfile.open() instead of tarfile.TarFile().
- New tutorial: 'Feature Reuse with ANIL'. (@ewinapun)
- Mujoco imports optional for docs: the import error is postponed to first method call.
MAML()
andclone_module
support for RNN modules.
- Remove Cython dependency when installing from PyPI and clean up package distribution.
- A CHANGELOG.md file.
- New vision datasets: FC100, tiered-Imagenet, FGVCAircraft, VGGFlowers102.
- New vision examples: Reptile & ANIL.
- Extensive benchmarks of all vision examples.
- Re-wrote TaskDataset and task transforms in Cython, for a 20x speed-up.
- Travis testing with different versions of Python (3.6, 3.7), torch (1.1, 1.2, 1.3, 1.4), and torchvision (0.3, 0.4, 0.5).
- New Material doc theme with links to changelog and examples.
- Support for
RandomClassRotation
with newer versions of torchvision. - Various minor fixes in the examples.
- Add Dropbox download if GDrive fails for FC100.