Skip to content

Bilevel Optimization Library in Python for Multi-Task and Meta Learning

License

Notifications You must be signed in to change notification settings

callous-youth/BOML

 
 

Repository files navigation

BOML - A Bilevel Optimization Library in Python for Multi-Task and Meta Learning

Travis Status codecov Documentation Status license Language Code style: black

BOML is a modularized optimization library that unifies several ML algorithms into a common bilevel optimization framework. It provides interfaces to implement popular bilevel optimization algorithms, so that you could quickly build your own meta learning neural network and test its performance.

ReadMe.md file contains recommended instruction for training Maml-based and Meta-representation in few-shot learning field. It's flexible to build your own networks or use structures with attached documentation.

Meta Learning and Multitask Learning

Meta learning works fairly well when facing incoming new tasks by learning an initialization with favorable generalization capability. And it also has good performance even provided with a small amount of training data available, which gives birth to new solutions to the few-shot learning problem.

Hierarchically built strategies

Bilevel Structured Optimization Routine

Hierarchically built strategies

Related Algorithms

Simple Example

Documentation

For more detailed information of basic function and construction process, please refer to our help page: Help Documentation

It's flexible to build your own networks or use structures in py_bm.networks. Scripts in the directory named train_script are useful for basic training process.

Here we give recommended settings for specific hyper paremeters to quickly test performance of popular algorithms.

About

Bilevel Optimization Library in Python for Multi-Task and Meta Learning

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 99.6%
  • Other 0.4%