Meta-Blocks is a modular toolbox for research, experimentation, and reproducible benchmarking of learning-to-learn algorithms. The toolbox provides flexible APIs for working with MetaDatasets, TaskDistributions, and MetaLearners (see the figure below). The APIs make it easy to implement a variety of meta-learning algorithms, run them on well-established and emerging benchmarks, and add your own meta-learning problems to the suite and benchmark algorithms on them.
Meta-Blocks package comes with:
- Flexible APIs, detailed documentation, and multiple examples.
- Popular models and algorithms such as MAML , Reptile , Protonets .
- Supervised and unsupervised meta-learning setups compatible with all algorithms.
- Customizable modules and utility functions for quick prototyping on new meta-learning algorithms.
It is recommended to use pip for installation. Please make sure
the latest version is installed, as meta-blocks is updated frequently:
$ pip install meta-blocks # normal install $ pip install --upgrade meta-blocks # or update if needed $ pip install --pre meta-blocks # or include pre-release version for new features
Alternatively, you could clone and run setup.py file:
$ git clone https://github.com/alshedivat/meta-blocks.git $ cd meta-blocks $ pip install .
Required Dependencies\ :
We should provide a minimal example so people could run immediately.
Ideally, the running time should be within a few mins.
For development and contributions, please make sure to install pre-commit hooks to ensure proper code style and formatting:
$ pip install pre-commit # install pre-commit $ pre-commit install # install git hooks $ pre-commit run --all-files # run pre-commit on all the files
Meta-Blocks is currently under development as of Apr, 2020.
Watch & Star to get the latest update! Also feel free to contact for suggestions and ideas.
TODO: add citation information as soon as available.
 Finn, C., Abbeel, P. and Levine, S. Model-agnostic meta-learning for fast adaptation of deep networks. ICML 2017.
 Nichol, A., Achiam, J. and Schulman, J. On first-order meta-learning algorithms. arXiv preprint arXiv:1803.02999.
 Snell, J., Swersky, K. and Zemel, R. Prototypical networks for few-shot learning. NeurIPS 2017.
Subscribe to Python Awesome
Get the latest posts delivered right to your inbox