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)

This is code to fit per-pixel environment map with spherical Gaussian lobes, using LBFGS optimization

Spherical Gaussian Optimization This is code to fit per-pixel environment map with spherical Gaussian lobes, using LBFGS optimization. This code has b

41 Dec 14, 2022
Unifying Architectures, Tasks, and Modalities Through a Simple Sequence-to-Sequence Learning Framework

Official repository of OFA. Paper: Unifying Architectures, Tasks, and Modalities Through a Simple Sequence-to-Sequence Learning Framework

OFA Sys 1.4k Jan 08, 2023
This repository contains the needed resources to build the HIRID-ICU-Benchmark dataset

HiRID-ICU-Benchmark This repository contains the needed resources to build the HIRID-ICU-Benchmark dataset for which the manuscript can be found here.

Biomedical Informatics at ETH Zurich 30 Dec 16, 2022
Code and data for the EMNLP 2021 paper "Just Say No: Analyzing the Stance of Neural Dialogue Generation in Offensive Contexts". Coming soon!

ToxiChat Code and data for the EMNLP 2021 paper "Just Say No: Analyzing the Stance of Neural Dialogue Generation in Offensive Contexts". Install depen

Ashutosh Baheti 11 Jan 01, 2023
TrTr: Visual Tracking with Transformer

TrTr: Visual Tracking with Transformer We propose a novel tracker network based on a powerful attention mechanism called Transformer encoder-decoder a

趙 漠居(Zhao, Moju) 66 Dec 27, 2022
A general-purpose programming language, focused on simplicity, safety and stability.

The Rivet programming language A general-purpose programming language, focused on simplicity, safety and stability. Rivet's goal is to be a very power

The Rivet programming language 17 Dec 29, 2022
Code for this paper The Lottery Ticket Hypothesis for Pre-trained BERT Networks.

The Lottery Ticket Hypothesis for Pre-trained BERT Networks Code for this paper The Lottery Ticket Hypothesis for Pre-trained BERT Networks. [NeurIPS

VITA 122 Dec 14, 2022
Reverse engineering Rosetta 2 in M1 Mac

Project Champollion About this project Rosetta 2 is an emulation mechanism to run the x86_64 applications on Arm-based Apple Silicon with Ahead-Of-Tim

FFRI Security, Inc. 258 Jan 07, 2023
YOLOX-RMPOLY

本算法为适应robomaster比赛,而改动自矩形识别的yolox算法。 基于旷视科技YOLOX,实现对不规则四边形的目标检测 TODO 修改onnx推理模型 更改/添加标注: 1.yolox/models/yolox_polyhead.py: 1.1继承yolox/models/yolo_

3 Feb 25, 2022
PyTorch code for the ICCV'21 paper: "Always Be Dreaming: A New Approach for Class-Incremental Learning"

Always Be Dreaming: A New Approach for Data-Free Class-Incremental Learning PyTorch code for the ICCV 2021 paper: Always Be Dreaming: A New Approach f

49 Dec 21, 2022
Rank 1st in the public leaderboard of ScanRefer (2021-03-18)

InstanceRefer InstanceRefer: Cooperative Holistic Understanding for Visual Grounding on Point Clouds through Instance Multi-level Contextual Referring

63 Dec 07, 2022
SeqTR: A Simple yet Universal Network for Visual Grounding

SeqTR This is the official implementation of SeqTR: A Simple yet Universal Network for Visual Grounding, which simplifies and unifies the modelling fo

seanZhuh 76 Dec 24, 2022
Neural Surface Maps

Neural Surface Maps Official implementation of Neural Surface Maps - Luca Morreale, Noam Aigerman, Vladimir Kim, Niloy J. Mitra [Paper] [Project Page]

Luca Morreale 49 Dec 13, 2022
Mesh TensorFlow: Model Parallelism Made Easier

Mesh TensorFlow - Model Parallelism Made Easier Introduction Mesh TensorFlow (mtf) is a language for distributed deep learning, capable of specifying

1.3k Dec 26, 2022
CVPR2021 Content-Aware GAN Compression

Content-Aware GAN Compression [ArXiv] Paper accepted to CVPR2021. @inproceedings{liu2021content, title = {Content-Aware GAN Compression}, auth

52 Nov 06, 2022
A distributed, plug-n-play algorithm for multi-robot applications with a priori non-computable objective functions

A distributed, plug-n-play algorithm for multi-robot applications with a priori non-computable objective functions Kapoutsis, A.C., Chatzichristofis,

Athanasios Ch. Kapoutsis 5 Oct 15, 2022
Dense Gaussian Processes for Few-Shot Segmentation

DGPNet - Dense Gaussian Processes for Few-Shot Segmentation Welcome to the public repository for DGPNet. The paper is available at arxiv: https://arxi

37 Jan 07, 2023
VR-Caps: A Virtual Environment for Active Capsule Endoscopy

VR-Caps: A Virtual Environment for Capsule Endoscopy Overview We introduce a virtual active capsule endoscopy environment developed in Unity that prov

DeepMIA Lab 90 Dec 27, 2022
Solving SMPL/MANO parameters from keypoint coordinates.

Minimal-IK A simple and naive inverse kinematics solver for MANO hand model, SMPL body model, and SMPL-H body+hand model. Briefly, given joint coordin

Yuxiao Zhou 305 Dec 30, 2022
MassiveSumm: a very large-scale, very multilingual, news summarisation dataset

MassiveSumm: a very large-scale, very multilingual, news summarisation dataset This repository contains links to data and code to fetch and reproduce

Daniel Varab 19 Dec 16, 2022