Giter VIP home page Giter VIP logo

imitation's Introduction

CircleCI Documentation Status codecov PyPI version

Imitation Learning Baseline Implementations

This project aims to provide clean implementations of imitation learning algorithms. Currently we have implementations of AIRL and GAIL, and intend to add more in the future.

To install:

conda create -n imitation python=3.7
conda activate imitation
pip install -e '.[dev]'  # install `imitation` in developer mode

Optional Mujoco Dependency:

Follow instructions to install mujoco_py v1.5 here.

To run:

# Train PPO agent on cartpole and collect expert demonstrations
python -m imitation.scripts.expert_demos with cartpole
# Train AIRL on from demonstrations
python -m imitation.scripts.train_adversarial with cartpole airl

View Tensorboard with tensorboard --logdir output/.

Contributing

Please follow a coding style of:

  • PEP8, with line width 88.
  • Use the black autoformatter.
  • Follow the Google Python Style Guide unless it conflicts with the above. Examples of Google-style docstrings can be found here.

PRs should include unit tests for any new features, and add type annotations where possible. It is OK to omit annotations when it would make the code significantly more complex.

We use pytest for unit testing: run pytest tests/ to run the test suite. We use pytype for static type analysis. You should run ci/code_checks.sh to run linting and static type checks, and may wish to configure this as a Git pre-commit hook.

These checks are run on CircleCI and are required to pass before merging. Additionally, we track test coverage by CodeCov, and mandate that code coverage should not decrease. This can be overridden by maintainers in exceptional cases. Files in imitation/{examples,scripts}/ have no coverage requirements.

imitation's People

Contributors

shwang avatar adamgleave avatar wichersn avatar qxcv avatar scottemmons avatar pedrofreire avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.