mila-iqia / babyai

BabyAI platform. A testbed for training agents to understand and execute language commands.
BSD 3-Clause "New" or "Revised" License
700 stars 146 forks source link

What's the package version of gym-minigrid and gym used for the baseline results? #110

Open NagisaZj opened 2 years ago

NagisaZj commented 2 years ago

Hi. It seems that the gym and gym-minigrid versions are not specified in the repo. I tried gym-minigrid==1.0.2 and gym==0.24.1, and it gives the following error when I run scripts/train_rl.py --env BabyAI-GoToLocal-v0:

Traceback (most recent call last):
  File "scripts/train_rl.py", line 114, in <module>
    reshape_reward)
  File "/home/lthpc/Desktop/babyai/babyai/rl/algos/ppo.py", line 22, in __init__
    aux_info)
  File "/home/lthpc/Desktop/babyai/babyai/rl/algos/base.py", line 82, in __init__
    self.obs = self.env.reset()
  File "/home/lthpc/Desktop/babyai/babyai/rl/utils/penv.py", line 42, in reset
    results = [self.envs[0].reset()] + [local.recv() for local in self.locals]
  File "/home/lthpc/anaconda3/envs/babyai/lib/python3.7/site-packages/gym/wrappers/order_enforcing.py", line 42, in reset
    return self.env.reset(**kwargs)
  File "/home/lthpc/anaconda3/envs/babyai/lib/python3.7/site-packages/gym/wrappers/env_checker.py", line 47, in reset
    return passive_env_reset_check(self.env, **kwargs)
  File "/home/lthpc/anaconda3/envs/babyai/lib/python3.7/site-packages/gym/utils/passive_env_checker.py", line 247, in passive_env_reset_check
    _check_obs(obs, env.observation_space, "reset")
  File "/home/lthpc/anaconda3/envs/babyai/lib/python3.7/site-packages/gym/utils/passive_env_checker.py", line 115, in _check_obs
    ), f"{pre} is not contained with the observation space ({observation_space})"
AssertionError: The observation returned by the `reset()` method is not contained with the observation space (Dict(image: Box(0, 255, (7, 7, 3), uint8)))

I somehow fixed this by downgrading gym to 0.10.9, but I wonder if the versions of gym and gym-minigrid may affect the environment. Also, the latest version of gym-minigrid no longer supports python 3.6, which was specified in environment.yaml. So can you specify the gym and gym-minigrid versions you used for producing your results? Thanks a lot!

saleml commented 2 years ago

Please use minigrid (which includes BabyAI environments) and torch-ac, instead of this repo.

dyth commented 1 year ago

Hi there, the version of gym minigrid I used was af0e00fe906fccfc70ef116a5ee89751e1441942 and the BabyAI version was 863f3529371ba45ef0148a48b48f5ae6e61e06cc