Code base for reproducing results of I.Schubert, D.Driess, O.Oguz, and M.Toussaint: Learning to Execute: Efficient Learning of Universal Plan-Conditioned Policies in Robotics. NeurIPS (2021)

Related tags

Deep Learningl2e
Overview

Learning to Execute (L2E)

Official code base for completely reproducing all results reported in

I.Schubert, D.Driess, O.Oguz, and M.Toussaint: Learning to Execute: Efficient Learning of Universal Plan-Conditioned Policies in Robotics. NeurIPS (2021)

Installation

Initialize submodules:

git submodule init
git submodule update

Install rai-python

For rai-python, it is recommended to use this docker image.

If you want to install rai-python manually, follow instructions here. You will also need to install PhysX, ideally following these instructions.

Install gym-physx

Modify the path to rai-python/rai/rai/ry in gym-physx/gym_physx/envs/physx_pushing_env.py depending on your installation. Then install gym-physx using pip:

cd gym-physx
pip install .

Install gym-obstacles

In case you also want to run the 2D maze example with moving obstacles as introduced in section A.3, install gym-obstacles:

cd gym-obstacles
pip install .

Install our fork of stable-baselines3

cd stable-baselines3
pip install .

Reproduce figures

l2e/l2e/ contains code to reproduce the reults in the paper.

Figures consist of multiple experiments and are defined in plot_results.json.

Experiments are defined in config_$EXPERIMENT.json.

Intermediate and final results are saved to $scratch_root/$EXPERIMENT/ (configure $scratch_root in each config_$EXPERIMENT.json as well as in plot_results.json).

Step-by-step instructions to reproduce figures:

  1. Depending on experiment, use the following train scripts:

    1. For the RL runs ($EXPERIMENT=l2e* and $EXPERIMENT=her*)

      ./train.sh $EXPERIMENT
    2. For the Inverse Model runs ($EXPERIMENT=im_plan_basic and $EXPERIMENT=im_plan_obstacle_training)

      First collect data:

      ./imitation_data.sh $EXPERIMENT

      Then train inverse model

      ./imitation_learning.sh $EXPERIMENT
    3. For the Direct Execution runs ($EXPERIMENT=plan_basic and $EXPERIMENT=plan_obstacle)

      No training stage is needed here.

    ./train.sh $EXPERIMENT will launch multiple screens with multiple independent runs of $EXPERIMENT. The number of runs is configured using $AGENTS_MIN and $AGENTS_MAX in config_$EXPERIMENT.json.

    ./imitation_data.sh will launch $n_data_collect_workers workers for collecting data, and ./imitation_learning.sh will launch $n_training_workers runs training models independently.

  2. Evaluate results

    ./evaluate.sh $EXPERIMENT

    python evaluate.py $EXPERIMENT will launch multiple screens, one for each agent that was trained in step 1. python evaluate.py $EXPERIMENT will automatically scan for new training output, and only evaluate model checkpoints that haven't been evaluated yet.

  3. Plot results

    After all experiments are finished, create plots using

    python plot_results.py

    This will create all data figures contained in the paper. Figures are saved in l2e/figs/ (configure in plot_results.json)

KIND: an Italian Multi-Domain Dataset for Named Entity Recognition

KIND (Kessler Italian Named-entities Dataset) KIND is an Italian dataset for Named-Entity Recognition. It contains more than one million tokens with t

Digital Humanities 5 Jun 21, 2022
The official code of Anisotropic Stroke Control for Multiple Artists Style Transfer

ASMA-GAN Anisotropic Stroke Control for Multiple Artists Style Transfer Proceedings of the 28th ACM International Conference on Multimedia The officia

Six_God 146 Nov 21, 2022
EdMIPS: Rethinking Differentiable Search for Mixed-Precision Neural Networks

EdMIPS is an efficient algorithm to search the optimal mixed-precision neural network directly without proxy task on ImageNet given computation budgets. It can be applied to many popular network arch

Zhaowei Cai 47 Dec 30, 2022
Music source separation is a task to separate audio recordings into individual sources

Music Source Separation Music source separation is a task to separate audio recordings into individual sources. This repository is an PyTorch implmeme

Bytedance Inc. 958 Jan 03, 2023
Unofficial PyTorch implementation of Masked Autoencoders Are Scalable Vision Learners

Unofficial PyTorch implementation of Masked Autoencoders Are Scalable Vision Learners This repository is built upon BEiT, thanks very much! Now, we on

Zhiliang Peng 2.3k Jan 04, 2023
A fast Evolution Strategy implementation in Python

Evostra: Evolution Strategy for Python Evolution Strategy (ES) is an optimization technique based on ideas of adaptation and evolution. You can learn

Mika 251 Dec 08, 2022
CSAC - Collaborative Semantic Aggregation and Calibration for Separated Domain Generalization

CSAC Introduction This repository contains the implementation code for paper: Co

ScottYuan 5 Jul 22, 2022
A universal framework for learning timestamp-level representations of time series

TS2Vec This repository contains the official implementation for the paper Learning Timestamp-Level Representations for Time Series with Hierarchical C

Zhihan Yue 284 Dec 30, 2022
A copy of Ares that costs 30 fucking dollars.

Finalement, j'ai décidé d'abandonner cette idée, je me suis comporté comme un enfant qui été en colère. Comme m'ont dit certaines personnes j'ai des c

Bleu 24 Apr 14, 2022
Generate vibrant and detailed images using only text.

CLIP Guided Diffusion From RiversHaveWings. Generate vibrant and detailed images using only text. See captions and more generations in the Gallery See

Clay M. 401 Dec 28, 2022
Weakly Supervised Segmentation by Tensorflow.

Weakly Supervised Segmentation by Tensorflow. Implements semantic segmentation in Simple Does It: Weakly Supervised Instance and Semantic Segmentation, by Khoreva et al. (CVPR 2017).

CHENG-YOU LU 52 Dec 27, 2022
Recursive Bayesian Networks

Recursive Bayesian Networks This repository contains the code to reproduce the results from the NeurIPS 2021 paper Lieck R, Rohrmeier M (2021) Recursi

Robert Lieck 11 Oct 18, 2022
The code for "Deep Level Set for Box-supervised Instance Segmentation in Aerial Images".

Deep Levelset for Box-supervised Instance Segmentation in Aerial Images Wentong Li, Yijie Chen, Wenyu Liu, Jianke Zhu* Any questions or discussions ar

sunshine.lwt 112 Jan 05, 2023
Official Pytorch implementation for AAAI2021 paper (RSPNet: Relative Speed Perception for Unsupervised Video Representation Learning)

RSPNet Official Pytorch implementation for AAAI2021 paper "RSPNet: Relative Speed Perception for Unsupervised Video Representation Learning" [Suppleme

35 Jun 24, 2022
Source code for our paper "Do Not Trust Prediction Scores for Membership Inference Attacks"

Do Not Trust Prediction Scores for Membership Inference Attacks Abstract: Membership inference attacks (MIAs) aim to determine whether a specific samp

<a href=[email protected]"> 3 Oct 25, 2022
Joint Discriminative and Generative Learning for Person Re-identification. CVPR'19 (Oral)

Joint Discriminative and Generative Learning for Person Re-identification [Project] [Paper] [YouTube] [Bilibili] [Poster] [Supp] Joint Discriminative

NVIDIA Research Projects 1.2k Dec 30, 2022
3D-Transformer: Molecular Representation with Transformer in 3D Space

3D-Transformer: Molecular Representation with Transformer in 3D Space

55 Dec 19, 2022
A simple and useful implementation of LPIPS.

lpips-pytorch Description Developing perceptual distance metrics is a major topic in recent image processing problems. LPIPS[1] is a state-of-the-art

So Uchida 121 Dec 24, 2022
A Pytorch implementation of SMU: SMOOTH ACTIVATION FUNCTION FOR DEEP NETWORKS USING SMOOTHING MAXIMUM TECHNIQUE

SMU_pytorch A Pytorch Implementation of SMU: SMOOTH ACTIVATION FUNCTION FOR DEEP NETWORKS USING SMOOTHING MAXIMUM TECHNIQUE arXiv https://arxiv.org/ab

Fuhang 36 Dec 24, 2022
NLP made easy

GluonNLP: Your Choice of Deep Learning for NLP GluonNLP is a toolkit that helps you solve NLP problems. It provides easy-to-use tools that helps you l

Distributed (Deep) Machine Learning Community 2.5k Jan 04, 2023