agrimgupta92 / metamorph

Code for "MetaMorph: Learning Universal Controllers with Transformers", Gupta et al, ICLR 2022
104 stars 15 forks source link

Bug or bad usage? #2

Open Ericonaldo opened 2 years ago

Ericonaldo commented 2 years ago

When I use: gym.make("Unimal-v0", agent_name="floor-1409-1-13-01-12-18-30"), it says:

Traceback (most recent call last):

  File "<stdin>", line 1, in <module>

  File "/home/miniconda3/lib/python3.9/site-packages/gym/envs/registration.py", line 676, in make

    return registry.make(id, **kwargs)

  File "/home/miniconda3/lib/python3.9/site-packages/gym/envs/registration.py", line 520, in make

    return spec.make(**kwargs)

  File "/home/miniconda3/lib/python3.9/site-packages/gym/envs/registration.py", line 140, in make

    env = cls(**_kwargs)

  File "/home/app/metamorph/metamorph/envs/tasks/task.py", line 17, in make_env

    env = globals()[env_func](xml, agent_name, **kwargs)

  File "/home/app/metamorph/metamorph/envs/tasks/locomotion.py", line 89, in make_env_locomotion

    env.reset()

  File "/home/app/metamorph/metamorph/envs/tasks/unimal.py", line 158, in reset

    obs = self.reset_model()

  File "/home/app/metamorph/metamorph/envs/tasks/unimal.py", line 185, in reset_model

    observation = self._get_obs()

  File "/home/app/metamorph/metamorph/envs/tasks/unimal.py", line 81, in _get_obs

    obs.update(module.observation_step(self, self.sim))

  File "/home/app/metamorph/metamorph/envs/modules/agent.py", line 231, in observation_step

    limb_obs = self.get_limb_obs(sim)

  File "/home/app/metamorph/metamorph/envs/modules/agent.py", line 149, in get_limb_obs

    obs["body_idx"] = self._get_one_hot_body_idx()

  File "/home/app/metamorph/metamorph/envs/modules/agent.py", line 195, in _get_one_hot_body_idx

    one_hot_encoding[rows, body_idxs] = 1

IndexError: index 8 is out of bounds for axis 1 with size 8

Have tried many agents in the test dir, no one works.

Ericonaldo commented 2 years ago

Seems I should modify _C.MODEL.MAX_LIMBS, how should I assign this value? It's default is 8.