Farama-Foundation / D4RL

A collection of reference environments for offline reinforcement learning
Apache License 2.0
1.33k stars 284 forks source link

Roadmap for D4RL #175

Open pseudo-rnd-thoughts opened 2 years ago

pseudo-rnd-thoughts commented 2 years ago

Recently, the Farama Foundation has recently taken over D4RL and has several plans for maintaining D4RL.

  1. Add a PyPI release
  2. Remove environments of necessary imports and have D4RL as a more modular project that supports a wider range of projects
  3. New core API (this is experimental so major changes might occur)
    
    def load(dataset_name: str) -> OfflineDataset:
    """Load a D4RL dataset.
    This function should return a handle to an offline RL dataset.
    This is the most important entrypoint in the API. We should make
    sure that this method returns everything needed for doing offline RL research
    with D4RL datasets.
    Args:
    dataset_name: Name of the dataset.
    """
    # Download the dataset if necessary.

def make(name_or_config: Union[str, EnvironmentConfig]) -> gym.Env: """Create an environment used in generating the dataset. This function should produce an environment in which the dataset is generated. The spec from the environment should match those in the corresponding offline dataset. e.g., if there are frame-stacking or action-repeat in the datasets, so should the recreated environments respect those. Dependencies to third-party libraries should only be lazy-loaded in this function, and we should warn and error users if those dependencies are not met. We can also put this function as an instance method on OfflineDataset. Args: name_or_config: the name of the dataset or an EnvironmentConfig """


For the `OfflineDataset`, we plan to make a more framework-agnostic than RLDS that requires the use of Tensorflow Datasets. 

In addition, we will be regenerating the dataset for all of the supported environments (e.g. we are dropping pybullet support due to mujoco being open source now) and confirming the performance reported in the paper with the new datasets.

If there are any more changes that would be of interest to users, please comment them below

If developers are interested in helping improve the project, please join the discord (https://discord.gg/nHg2JRN489) and message in the D4RL channel
Howuhh commented 2 years ago

Would it be possible to also remove the dependency on mujoco_py (like it was done in gym as far as I know)? Since downloading mujoco manually every time is extremely annoying (and compiling mujoco_py on m1 which seems to be unreal for now 😠 ) and makes some works based on d4rl hard to reproduce (different repos may have different mujoco binaries).

pseudo-rnd-thoughts commented 2 years ago

Yes, that is part of our plan. We want the project to be more API than environment repo so we hope to have minimal dependencies for users

im-Kitsch commented 1 year ago

Hi,

will it be moved to gymnaisum isntead of gym?

Best

pseudo-rnd-thoughts commented 1 year ago

Hi, this roadmap has changed. We are planning on building a new project specially made for offline RL called minari. This will use gymnasium from the beginning rather than gym. https://github.com/farama-Foundation/minari