learnables/learn2learn
A PyTorch Library for Meta-learning Research
11 Releases
Latest: 2y ago
MetaModules, TasksetSampler, Adapters & LoRA, more examples and tutorials + removed dependency.v0.2.1Latest
Like 0.2.0 but with qpth made optional.
MetaModules, TasksetSampler, Adapters & LoRA, more examples and tutorialsv0.2.0
✨ Added
- New vision example: MAML++. (@[Theo Morales](https://github.com/DubiousCactus))
- Add tutorial: "Demystifying Task Transforms", ([Varad Pimpalkhute](https://github.com/nightlessbaron/))
- Add `l2l.nn.MetaModule` and `l2l.nn.ParameterTransform` for parameter-efficient finetuning.
- Add `l2l.nn.freeze`and `l2l.nn.unfreeze`.
- Add Adapters and LoRA examples.
- Add TasksetSampler, compatible with PyTorch's Dataloaders.
📋 Changed
- Documentation: uses `mkdocstrings` instead of `pydoc-markdown`.
- Remove `text/news_topic_classification.py` example.
- Rename TaskDataset to Taskset.
🐛 Fixed
- MAML Toy example. (@[Theo Morales](https://github.com/DubiousCactus))
- Example for `detach_module`. ([Nimish Sanghi](https://github.com/nsanghi))
- 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.
Aircraft, CUB200 bounding boxes, pretrained_backbones, RandomClassRotation, fixed memory_leak.v0.1.7
📋 Changes
- Bounding box cropping for Aircraft and CUB200.
- Pretrained weights for vision models with: `l2l.vision.models.get_pretrained_backbone()`.
- Add `keep_requires_grad` flag to `detach_module`. ([Zhaofeng Wu](https://github.com/ZhaofengWu))
- Fix arguments when instantiating `l2l.nn.Scale`.
- Fix `train_loss` logging in `LightningModule` implementations with PyTorch-Lightning 1.5.
- Fix `RandomClassRotation` ([https://github.com/learnables/learn2learn/pull/283](https://github.com/learnables/learn2learn/pull/283)) to incorporate multi-channelled inputs. ([Varad Pimpalkhute](https://github.com/nightlessbaron/))
- Fix memory leak in `maml.py` and `meta-sgd.py` and add tests to `maml_test.py` and `metasgd_test.py` to check for possible future memory leaks. ([https://github.com/learnables/learn2learn/issues/284](https://github.com/learnables/learn2learn/issues/284)) ([Kevin Zhang](https://github.com/kzhang2))
Add Lightning interface, Backbone classes, new classifiers, and data utils.v0.1.6
📋 Changes
- PyTorch Lightning interface to MAML, ANIL, ProtoNet, MetaOptNet.
- Automatic batcher for Lightning: `l2l.data.EpisodicBatcher`.
- `l2l.nn.PrototypicalClassifier` and `l2l.nn.SVMClassifier`.
- Add `l2l.vision.models.WRN28`.
- Separate modules for `CNN4Backbone`, `ResNet12Backbone`, `WRN28Backbones` w/ pretrained weights.
- Add `l2l.data.OnDeviceDataset` and implement `device` parameter for benchmarks.
- (Beta) Add `l2l.data.partition_task` and `l2l.data.InfiniteIterator`.
- Renamed and clarify dropout parameters for `ResNet12`.
- + 1 more
Fix windows installation.v0.1.5
🐛 Fixed
- Fix setup.py for windows installs.
Add new datasets, new models, and dataset utilities.v0.1.4
📋 Changes
- `FilteredMetaDatasest` filter the classes used to sample tasks.
- `UnionMetaDatasest` to get the union of multiple MetaDatasets.
- Alias `MiniImageNetCNN` to `CNN4` and add `embedding_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`
- + 2 more
Add CUBirds200, new vision model interface, fix clone_module for shared parametersv0.1.3
📋 Changes
- `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.
Add Meta-World, l2l.optim, l2l.vision.benchmarks.v0.1.2
📋 Changes
- New example: [Meta-World](https://github.com/rlworkgroup/metaworld) example with MAML-TRPO with it's own env wrapper. (@[Kostis-S-Z](https://github.com/Kostis-S-Z))
- `l2l.vision.benchmarks` interface.
- Differentiable optimization utilities in `l2l.optim`. (including `l2l.optim.LearnableOptimizer` for meta-descent)
- General gradient-based meta-learning wrapper in `l2l.algorithms.GBML`.
- Various `nn.Modules` in `l2l.nn`.
- `l2l.update_module` as a more general alternative to `l2l.algorithms.maml_update`.
- clone_module supports non-Module objects.
- VGG flowers now relies on tarfile.open() instead of tarfile.TarFile().
Fix clone_module and MAML for RNN modulesv0.1.1
Clean up package for PyPI distributionv0.1.0.1
Faster TaskDataset, new vision datasets & examplesv0.1.0
✨ Added
- A CHANGELOG.md file.
- New vision datasets: FC100, tiered-Imagenet, FGVCAircraft, VGGFlowers102.
- New vision examples: Reptile & ANIL.
- Extensive benchmarks of all vision examples.
📋 Changed
- 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.
🐛 Fixed
- Support for `RandomClassRotation` with newer versions of torchvision.
- Various minor fixes in the examples.
- Add Dropbox download if GDrive fails for FC100.
