eureka-research / Eureka

Official Repository for "Eureka: Human-Level Reward Design via Coding Large Language Models" (ICLR 2024)
https://eureka-research.github.io/
MIT License
2.73k stars 244 forks source link

HumanoidGPT environment error #26

Open jennyzzt opened 8 months ago

jennyzzt commented 8 months ago

Thank you for releasing this work! I was trying to run the humanoid example provided in the README, but consistently got this error:

Error executing job with overrides: ['task=HumanoidGPT', 'wandb_activate=False', 'wandb_entity=', 'wandb_project=', 'headless=True', 'capture_video=False', 'force_render=False', 'max_iterations=3000']
Traceback (most recent call last):
  File "/home/ubuntu/Eureka/eureka/../isaacgymenvs/isaacgymenvs/train.py", line 203, in launch_rlg_hydra
    statistics = runner.run({
  File "/home/ubuntu/Eureka/rl_games/rl_games/torch_runner.py", line 124, in run
    self.run_train(args)
  File "/home/ubuntu/Eureka/rl_games/rl_games/torch_runner.py", line 101, in run_train
    self.agent.train()
  File "/home/ubuntu/Eureka/rl_games/rl_games/common/a2c_common.py", line 1251, in train
    step_time, play_time, update_time, sum_time, a_losses, c_losses, b_losses, entropies, kls, last_lr, lr_mul = self.train_epoch()
  File "/home/ubuntu/Eureka/rl_games/rl_games/common/a2c_common.py", line 1115, in train_epoch
    batch_dict = self.play_steps()
  File "/home/ubuntu/Eureka/rl_games/rl_games/common/a2c_common.py", line 686, in play_steps
    self.obs, rewards, self.dones, infos = self.env_step(res_dict['actions'])
  File "/home/ubuntu/Eureka/rl_games/rl_games/common/a2c_common.py", line 504, in env_step
    obs, rewards, dones, infos = self.vec_env.step(actions)
  File "/home/ubuntu/Eureka/isaacgymenvs/isaacgymenvs/utils/rlgames_utils.py", line 256, in step
    return  self.env.step(actions)
  File "/home/ubuntu/Eureka/isaacgymenvs/isaacgymenvs/tasks/base/vec_task.py", line 355, in step
    self.post_physics_step()
  File "/home/ubuntu/Eureka/isaacgymenvs/isaacgymenvs/tasks/humanoidgpt.py", line 267, in post_physics_step
    self.compute_reward(self.actions)
  File "/home/ubuntu/Eureka/isaacgymenvs/isaacgymenvs/tasks/humanoidgpt.py", line 187, in compute_reward
    self.rew_buf[:], self.rew_dict = compute_reward(self.velocity, self.max_velocity, self.vel_scale)
AttributeError: 'HumanoidGPT' object has no attribute 'velocity'

Set the environment variable HYDRA_FULL_ERROR=1 for a complete stack trace.

I could get at least one executable code for the shadow hand example, but not with the humanoid. I tried finding where velocity is being defined in the environment (before it being referenced) and couldn't find it. Is this a bug with the humanoid environment? Thank you!

yxyang commented 3 months ago

I tried this environment multiple times. It seems that only gpt-3.5-turbo-16k is generating the correct response. Both gpt-3.5-turbo and gpt-4 can lead to the error you show.