All Projects → louiskirsch → metagenrl

louiskirsch / metagenrl

Licence: other
MetaGenRL, a novel meta reinforcement learning algorithm. Unlike prior work, MetaGenRL can generalize to new environments that are entirely different from those used for meta-training.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to metagenrl

simple-cnaps
Source codes for "Improved Few-Shot Visual Classification" (CVPR 2020), "Enhancing Few-Shot Image Classification with Unlabelled Examples" (WACV 2022), and "Beyond Simple Meta-Learning: Multi-Purpose Models for Multi-Domain, Active and Continual Few-Shot Learning" (Neural Networks 2022 - in submission)
Stars: ✭ 88 (+76%)
Mutual labels:  meta-learning
meta-learning-progress
Repository to track the progress in Meta-Learning (MtL), including the datasets and the current state-of-the-art for the most common MtL problems.
Stars: ✭ 26 (-48%)
Mutual labels:  meta-learning
FSL-Mate
FSL-Mate: A collection of resources for few-shot learning (FSL).
Stars: ✭ 1,346 (+2592%)
Mutual labels:  meta-learning
sib meta learn
Code of Empirical Bayes Transductive Meta-Learning with Synthetic Gradients
Stars: ✭ 56 (+12%)
Mutual labels:  meta-learning
StyleSpeech
Official implementation of Meta-StyleSpeech and StyleSpeech
Stars: ✭ 161 (+222%)
Mutual labels:  meta-learning
MetaBIN
[CVPR2021] Meta Batch-Instance Normalization for Generalizable Person Re-Identification
Stars: ✭ 58 (+16%)
Mutual labels:  meta-learning
NSL
Implementation for <Neural Similarity Learning> in NeurIPS'19.
Stars: ✭ 33 (-34%)
Mutual labels:  meta-learning
Meta-DETR
Meta-DETR: Official PyTorch Implementation
Stars: ✭ 205 (+310%)
Mutual labels:  meta-learning
Nearest-Celebrity-Face
Tensorflow Implementation of FaceNet: A Unified Embedding for Face Recognition and Clustering to find the celebrity whose face matches the closest to yours.
Stars: ✭ 30 (-40%)
Mutual labels:  meta-learning
LearningToCompare-Tensorflow
Tensorflow implementation for paper: Learning to Compare: Relation Network for Few-Shot Learning.
Stars: ✭ 17 (-66%)
Mutual labels:  meta-learning
MetaGym
Collection of Reinforcement Learning / Meta Reinforcement Learning Environments.
Stars: ✭ 222 (+344%)
Mutual labels:  meta-learning
SAN
[ECCV 2020] Scale Adaptive Network: Learning to Learn Parameterized Classification Networks for Scalable Input Images
Stars: ✭ 41 (-18%)
Mutual labels:  meta-learning
HebbianMetaLearning
Meta-Learning through Hebbian Plasticity in Random Networks: https://arxiv.org/abs/2007.02686
Stars: ✭ 77 (+54%)
Mutual labels:  meta-learning
FUSION
PyTorch code for NeurIPSW 2020 paper (4th Workshop on Meta-Learning) "Few-Shot Unsupervised Continual Learning through Meta-Examples"
Stars: ✭ 18 (-64%)
Mutual labels:  meta-learning
meta-SR
Pytorch implementation of Meta-Learning for Short Utterance Speaker Recognition with Imbalance Length Pairs (Interspeech, 2020)
Stars: ✭ 58 (+16%)
Mutual labels:  meta-learning
MLSR
Source code for ECCV2020 "Fast Adaptation to Super-Resolution Networks via Meta-Learning"
Stars: ✭ 59 (+18%)
Mutual labels:  meta-learning
pymfe
Python Meta-Feature Extractor package.
Stars: ✭ 89 (+78%)
Mutual labels:  meta-learning
mliis
Code for meta-learning initializations for image segmentation
Stars: ✭ 21 (-58%)
Mutual labels:  meta-learning
MetaHeac
This is an official implementation for "Learning to Expand Audience via Meta Hybrid Experts and Critics for Recommendation and Advertising"(KDD2021).
Stars: ✭ 36 (-28%)
Mutual labels:  meta-learning
mindware
An efficient open-source AutoML system for automating machine learning lifecycle, including feature engineering, neural architecture search, and hyper-parameter tuning.
Stars: ✭ 34 (-32%)
Mutual labels:  meta-learning

MetaGenRL: Improving Generalization in Meta Reinforcement Learning using Learned Objectives

This is the official research code for the paper Kirsch et al. 2019: "Improving Generalization in Meta Reinforcement Learning using Learned Objectives".

Installation

Install the following dependencies (in a virtualenv preferably)

pip3 install ray[tune]==0.7.7 gym[all] mujoco_py>=2 tensorflow-gpu==1.13.2 scipy numpy

This code base uses ray, if you would like to use multiple machines, see the ray documentation for details.

We also make use of ray's native tensorflow ops. Please compile them by running

python3 -c 'import ray; from pyarrow import plasma as plasma; plasma.build_plasma_tensorflow_op()'

Meta Training

Adapt the configuration in ray_experiments.py (or use the default configuration) and run

python3 ray_experiments.py train

By default, this requires a local machine with 4 GPUs to run 20 agents in parallel. Alternatively, skip this and download a pre-trained objective function as described below.

Meta Testing

After running meta-training (or downloading a pre-trained objective function) you can train a new agent from scratch on an environment of your choice. Optionally configure your training in ray_experiments.py, then run

python3 ray_experiments.py test --objective TRAINING_DIRECTORY

This only requires a single GPU on your machine.

Using a pre-trained objective function

Download a pre-trained objective function,

cd ~/ray_results/metagenrl
curl https://github.com/timediv/metagenrl/releases/download/pretrained-v1/CheetahLunar.tgz|tar xvz

and proceed with meta testing as above. In this case your TRAINING_DIRECTORY will be pretrained-CheetahLunar.

Visualization

Many tf summaries are written during training and testing and can be visualized with tensorboard

tensorboard --logdir ~/ray_results/metagenrl
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].