dm_control
baselines
Our great sponsors
dm_control | baselines | |
---|---|---|
7 | 14 | |
3,528 | 15,318 | |
2.2% | 0.8% | |
7.5 | 0.0 | |
8 days ago | 5 months ago | |
Python | Python | |
Apache License 2.0 | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
dm_control
-
Shimmy 1.0: Gymnasium & PettingZoo bindings for popular external RL environments
This includes single-agent Gymnasium wrappers for DM Control, DM Lab, Behavior Suite, Arcade Learning Environment, OpenAI Gym V21 & V26. Multi-agent PettingZoo wrappers support DM Control Soccer, OpenSpiel and Melting Pot. For more information, read the release notes here:
Have you ever wanted to use dm-control with stable-baselines3? Within Reinforcement learning (RL), a number of APIs are used to implement environments, with limited ability to convert between them. This makes training agents across different APIs highly difficult, and has resulted in a fractured ecosystem.
-
Installing & Using MuJoCo 2.1.5 with OpenAi Gym
Deepmind Control Suite is a good alternative to Open AI Gym for continuous control tasks. It contains many of the environments present in Gym and also a few extra ones. Deepmind Control Suite also uses Mujoco. I found the installation to be straightforward. Check out https://github.com/deepmind/dm_control
-
Is there a way to get PPO controlled agents to move a little more gracefully?
Do you know if this is implemented in code anywhere? I've been digging around in DeepMind's dm_control for the past few hours and I haven't found it. I'm not sure what I'm looking for either.
-
[D] MuJoCo vs PyBullet? (esp. for custom environment)
If you're interested in using Mujoco, I'd suggest checking out the dm_control package for Python bindings rather than interfacing with C++ directly. I think one downside to Mujoco currently is that you cannot dynamically add objects, and the entire simulation is initialized and loaded according to the MJCF / XML file.
- How to use MuJoCo from Python3
-
Any beginner resources for RL in Robotics?
DeepMind's dm control: https://github.com/deepmind/dm_control
baselines
-
What if I can't reproduce a UMAP exactly for a paper in revision?
I do not for the life of me pretend to really understand either GPUs or floating-point arithmetic, but I think the basic problem is that floating point arithmetic isn't associative, so the order of operations matters immensely. For reasons I don't fully grok, GPUs don't always dispatch the same inputs the same way, so these floating-point non-associativity discrepancies can pile up. See also here and here.
-
How to proceed further? (Learning RL)
Ah sorry I understood your post. It has helped me to code quite a few of them from scratch but you can also check out https://github.com/openai/baselines or similar
-
Does the value of the reward matter?
Yes this is a good point, I always normalize my rewards such that *returns* are around -3 to 3. The baselines implementation has a good example of this. Aside from normalizing returns it's common to also normalize the advantages. Together this should allow any scale of rewards (I have games where scores range from 0-20 and games that range from 0-600,000 and haven't found a problem so long as I normalize everything :) )
-
How to tune hypeparametes in A2C-ppo?
Im currently working with A2C. The model was able to learn open ai pong, i ran this as a sanity check that i havent made any bugs. Now im trying to make the model play breakout, but still after 10m steps the model has not made any significant progress. Im using baseline hyperparameters which can be found here https://github.com/openai/baselines/blob/master/baselines/a2c/a2c.py, except my buffersize have been from 512 to 4096. Ive noticed that entropy decreases extremely slowly given the buffersize from the interval which i just gave. So my questions are how to make entropy decrease and how to increase rewards per buffer? Ive tried to decrease the entropy coefficient to almost zero, but still it acts very weirdly.
-
Boycotting 2.0 or rather PoS
I used a multitude of agents to train it but the best I found was A3C, there are a bunch of examples here you can use to test their performance (although they may require some tweaking).
-
How to speed up off-policy algorithms?
I noticed that off-policy algorithms including DQN, DDPG and TD3 in different baselines and stable-baselines are implemented with a single environment. And even if more environments were added, this won't affect performance because this will only be adding more fresh samples to replay buffer(s). What are some ways to improve speed without major changes to the algorithms? The only thing that I could think of is adding an on-policy update like in ACER but this is going to change the algorithms and I don't know whether it will improve/worsen model convergence.
-
Any beginner resources for RL in Robotics?
OpenAI baselines https://github.com/openai/baselines
-
Atary BreakoutDeterministic-v4
Without seeing your source code/hyperparams it's going to be difficult to give you advice. I would say to compare against good open-source implementations such as OpenAI Baselines and make sure you have implemented it correctly.
-
Convergence of the PPO
It might be worth comparing your implementation to the DeepMind PPO1 & 2 ones to see if they have the same side effect: https://github.com/openai/baselines
-
Using CNN in Reinforcement Learning
For Atari games, RGB is often not useful. However, channels are still needed because a single-frame observation is often not a good proxy of a state. For example in games like Breakout or Pong, a single screenshot doesn't tell you the direction to which the ball is moving. So typically we preprocess the observation and use channels to stack a few recent frames. You can take a look at https://github.com/openai/baselines/blob/master/baselines/common/atari_wrappers.py
What are some alternatives?
gym - A toolkit for developing and comparing reinforcement learning algorithms.
stable-baselines3 - PyTorch version of Stable Baselines, reliable implementations of reinforcement learning algorithms.
IsaacGymEnvs - Isaac Gym Reinforcement Learning Environments
pytorch-a2c-ppo-acktr-gail - PyTorch implementation of Advantage Actor Critic (A2C), Proximal Policy Optimization (PPO), Scalable trust-region method for deep reinforcement learning using Kronecker-factored approximation (ACKTR) and Generative Adversarial Imitation Learning (GAIL).
Robotics Library (RL) - The Robotics Library (RL) is a self-contained C++ library for rigid body kinematics and dynamics, motion planning, and control.
mujoco-py - MuJoCo is a physics engine for detailed, efficient rigid body simulations with contacts. mujoco-py allows using MuJoCo from Python 3.
gdrl - Grokking Deep Reinforcement Learning
ppo-implementation-details - The source code for the blog post The 37 Implementation Details of Proximal Policy Optimization
acme - A library of reinforcement learning components and agents
gym-solutions - OpenAI Gym Solutions