envpool

C++-based high-performance parallel environment execution engine (vectorized env) for general RL environments.

APACHE-2.0 License

Downloads
2.1K
Stars
1.1K
Committers
17

Bot releases are visible (Hide)

envpool - 0.8.4 Latest Release

Published by Trinkle23897 12 months ago

  • Fix JAX newest version compatibility (#282, @ethanluoyc)
  • Fix cuda stream sync issue (#284, @mavenlin)
  • Fix ci and upgrade dependency (#285, #286, @Trinkle23897)
envpool - 0.8.3

Published by Trinkle23897 about 1 year ago

envpool - 0.8.2

Published by Trinkle23897 over 1 year ago

[Disclaimer: generated by ChatGPT API]

🚨 Hey contributors! 🚨

It's a great day to celebrate our open-source contributions to sail-sg/envpool! Over the past 78 days, we have merged some notable changes we'd like to share. Here's a summary of those changes:

🔧 PR #237 [MiniGrid Empty Env] @wangsiping97:
Port MiniGrid EmptyEnv to envpool.

🔧 PR #238 [lazy import] @Trinkle23897:
import envpool will no longer raise an error due to procgen qt5 dependency, making fresh devboxes more accessible.

🔧 PR #242 [chore: update dev-cn dockerfile] @Benjamin-eecs:
The fast installation of dependencies makes development faster and more efficient.

🔧 PR #243 [Use new gym API in examples] @leninilyich:
The environment used to return five values which could not be unpacked into "done". It has been fixed and is working as intended.

🐛 PR #245 [typo fix in CarpoletSwingup] @vwxyzjn:
A small typo in the CarpoletSwingup environment has been corrected.

🔧 PR #248 [chore: add timeout flag for pip requirements installation] @Benjamin-eecs:
An extended timeout for pip requirements installation has been added. It is especially helpful for users in CN.

🚀 PR #249 [fix(hansbug): use treevalue 1.4.7] @HansBug:
There was a bug in PR #246, which has now been fixed by upgrading the version of treevalue to 1.4.7.

🚀 PR #247 [deps: replace treevalue with optree] @Benjamin-eecs @XuehaiPan:
We have replaced treevalue with optree to speed up and support custom node type registration. It has introduced a new feature and a non-breaking change that adds core functionality.

🔧 PR #252 [Fix publish ci packaging not found issue and change minigrid deterministic test] @Trinkle23897:
This PR fixed the packaging issue and changed the minigrid deterministic test. It will lead to more stable performance.

🐛 PR #254 [fix old gym version return type error] @Trinkle23897:
This PR fixes a bug introduced by PR #247.

🐛 PR #255 [fix atari incorrect trunc flag when episodic_life=True] @Trinkle23897:
A bug which caused incorrect trunc flag in atari with episodic_life=True has been fixed.

Each of these PRs has made significant contributions to our codebase. We encourage you to take a look and check out our latest improvements with new and fixed features. As always, we appreciate your support and hope to continue our partnership with you for a long time to come.

Thanks to everybody who contributed!

envpool - 0.8.1

Published by Trinkle23897 almost 2 years ago

Enhancement

  • Add channel_first option in procgen env, change default observation shape from (64, 64, 3) to (3, 64, 64) (#232, @Trinkle23897)
envpool - 0.8.0: Procgen

Published by Trinkle23897 almost 2 years ago

New Environment

Add 42 procgen environments (#197, @YukunJ, @LeoGuo98, @Trinkle23897)

Procgen library change in https://github.com/Trinkle23897/procgen

  • Fix Qt library include error
  • Fix globalGameRegistry == nullptr issue by adding another explicit make_* function (thanks to Yukun!)
  • Disable auto-reset because envpool has already handled this feature

Changes:

Enhancement

  • Support atari full action space (#230, @Trinkle23897)
envpool - 0.7.0: Full Gym Support

Published by Trinkle23897 almost 2 years ago

Finally, all environments in gym are in EnvPool! You can fully deprecate Box2D / box2d-py / mujoco_py pypi package.

New Environment

  1. CarRacing-v2 (#199, @Alicia1529)

Enhancement

  1. Add use_fire_reset option in atari env (#223, @Trinkle23897)
  2. Add back contact force in humanoid-v3 (#224, @Trinkle23897)
  3. Integrating Gymnasium (#222, @Markus28)
  4. Infra improvement, using ubuntu 22.04 + python 3.10 for unit test, adding python 3.11 wheel release (#228, @Trinkle23897)
  5. Upgrade dependency and fix clang-tidy error (#229, @Trinkle23897)
envpool - 0.6.6: improve speed

Published by Trinkle23897 almost 2 years ago

Speed Improvement

  1. replace dm-tree with treevalue (#206, @wangsiping97, dmc 6k->8k FPS)
  2. move python computation logic into c++ (#208, @wangsiping97, dmc 8k->11k FPS)
  3. cache c++ object read result (#209, @wangsiping97, dmc 11k->14k FPS)
  4. improve gym speedup (#210, @wangsiping97, gym 11k->14k FPS)

Now we are truly faster than dm_control!

Enhancement

  1. upgrade examples to support gym >= 0.26 (#215, @51616)
  2. update demo links in README (#212, @Benjamin-eecs)
  3. better arugment checking in python side init (#217, @Trinkle23897)
  4. refactor some tests (#210, @Trinkle23897)
  5. fix gym action space seed behavior error (#211, @Trinkle23897)
envpool - 0.6.5

Published by Trinkle23897 about 2 years ago

Enhancement

  1. Box2D integration: Add BipedalWalker, BipedalWalkerHardcore (#131, @Alicia1529)
  2. Support Gym 0.26.0 (#205, @Markus28)
  3. Add demo notebook (#202, @Benjamin-eecs)
envpool - 0.6.4

Published by Trinkle23897 about 2 years ago

Enhancement

  1. Fix Atari env elapsed_step error when episodic_life is True (#181, @Trinkle23897)
  2. Upgrade mujoco to 2.2.1 (#183, @Trinkle23897)
  3. Add Python 3.10 Wheel and update documentation (#187, @Trinkle23897)
envpool - 0.6.3

Published by Trinkle23897 about 2 years ago

Bug Fix

  1. Fix import error with gym==0.25.0 (#167, @Trinkle23897)
  2. Fix zero-life reset error in Atari env (#175, @Trinkle23897)

Enhancement

  1. Refactor the XLA code to simplify it and at the same time include GPU code (#165, @mavenlin)
  2. Add acme example (#157, @lkevinzc)
  3. Add colab demo (#159, @Benjamin-eecs)
envpool - 0.6.2

Published by Trinkle23897 over 2 years ago

Bug Fix

  1. Fix action ref counting error (#154, @Trinkle23897)

New Env

  1. dm_control humanoid_CMU (#145, @Benjamin-eecs)

Enhancement

  1. XLA CustomCall interface, now we can use jax.jit on EnvPool (#149, @mavenlin)
  2. Remove Atari wrong bin (#147, @Trinkle23897)
  3. Add dm_control speed test script and single env performance benchmark (#139, @Trinkle23897)
  4. Upgrade mujoco to 2.2.0 (#142, @Trinkle23897)
envpool - 0.6.1: full dm_control suite support

Published by Trinkle23897 over 2 years ago

Note: Compared with dm_control, EnvPool can have at about 2x free speedup with only single environment setting (#139, @Trinkle23897). For the next release, we are going to use mujoco source code (#141, @Trinkle23897) to make everything faster!

New dm_control Env

  1. Humanoid (#132, @Benjamin-eecs)
  2. Manipulator (#128, @yufansong, @Trinkle23897)
  3. Fish (#134, @Benjamin-eecs)
  4. CartPole (#137, @Benjamin-eecs)
  5. Swimmer (#140, @Benjamin-eecs)
  6. Misc (#138, @Trinkle23897)
envpool - 0.6.0: dm_control suite and box2d

Published by Trinkle23897 over 2 years ago

Note: we are still in the progress of adding more environment from dm_control suite and box2d.

New Environment

DeepMind Control Suite

  1. Hopper (#107, @Trinkle23897)
  2. Cheetah (#110, @yufansong)
  3. Walker (#114, @yufansong)
  4. Reacher (#115, @yufansong)
  5. Finger (#118, @yufansong)
  6. Pendulum (#122, @yufansong)
  7. BallInCup (#124, @Benjamin-eecs)
  8. PointMass (#123, @yufansong)
  9. Acrobot (#129, @Benjamin-eecs)
  10. Misc (#106, #125, #130, @Trinkle23897)

Box2D

  1. LunarLander-v2, LunarLanderContinuous-v2 (#111, @Alicia1529)

Others

  1. Pendulum-v1 (#126, @Trinkle23897)

Bug Fix

  1. Fix episodic_life bug in atari env (#121, @Trinkle23897)

Enhancemt

  1. Support dynamic shaped arrays (#98, @mavenlin)
  2. Update Mujoco benchmark result (#99, @Trinkle23897)
  3. Fix code linter (#109, #116, #117, @Trinkle23897)
envpool - 0.5.3

Published by Trinkle23897 over 2 years ago

This release is for a stable version for benchmarking. We will update the benchmark result for both Atari (Pong-v5) and Mujoco (Ant-v3) soon. We observe Ant-v3 can achieve 2M+ FPS with a 192-core machine.

Enhancement

  1. Add gym_reset_return_info option for returning (obs, info) in gym.Env.reset (#97)
  2. Add clang-tidy check (#85, #95, #100)
envpool - 0.5.2

Published by Trinkle23897 over 2 years ago

Bug Fix

  1. Fix max_episode_steps for Pusher and Reacher (#93)

Enhancement

  1. add testing macro ENVPOOL_TEST (#93, #94)
  2. add terminate_when_unhealthy and exclude_current_positions_from_observation for most of mujoco envs (#93)
  3. eliminate info["qpos0"] and info["qvel0"] in mujoco env when generating wheel (#93)
  4. add instructions for building this project with mainland China users (#92)
envpool - 0.5.1: Full Mujoco env support

Published by Trinkle23897 over 2 years ago

  • Ant-v4 (with @yufansong #74)
  • HalfCheetah-v4 (#75)
  • Hopper-v4 (#76)
  • Humanoid-v4 (#77)
  • HumanoidStandup-v4 (#78)
  • InvertedDoublePendulum-v4 (@Benjamin-eecs, #83)
  • InvertedPendulum-v4 (#79)
  • Pusher-v4 (#82)
  • Reacher-v4 (#81)
  • Swimmer-v4 (#80)
  • Walker2d-v4 (@Benjamin-eecs, #86)
envpool - 0.5.0: Mujoco Integration

Published by Trinkle23897 over 2 years ago

We have successfully integrated Ant-v4 environment based on the newest deepmind/mujoco package! (#74)
More environments are coming soon.

Other enhancement: support element-wise bound, fix classic_control action space (#67)

envpool - 0.4.5

Published by Trinkle23897 over 2 years ago

Enhancement

  1. Add ViZDoom single-player environment (#47, #54)
envpool - 0.4.4

Published by Trinkle23897 almost 3 years ago

Enhancement

  1. add cleanrl example (#48, #53)
  2. add appo example (#51)
  3. export raw reward in atari env with info["reward"] (#50)
envpool - 0.4.3

Published by Trinkle23897 almost 3 years ago

New Env

Add toy_text (#41, #42, #43, #44, #45, #46)

Enhancement

  1. Add SB3 example (#39)
  2. Add gray_scale option in atari (#37)
Package Rankings
Top 6.67% on Proxy.golang.org
Top 3.38% on Pypi.org
Badges
Extracted from project README
PyPI Downloads arXiv Read the Docs Unittest GitHub issues GitHub stars GitHub forks GitHub license