LunarLander Rendering Failed
Closed this issue · 2 comments
MohamedAl-Nassirat commented
When attempting to run Lunar Lander example, you are able to run the experiment on locally, but when beginning the experiment, you are presented with the following issue:
- This is was from Docker, similar output if local machine
Process Trial:
Traceback (most recent call last):
File "/usr/lib/python3.8/multiprocessing/process.py", line 315, in _bootstrap
self.run()
File "/usr/lib/python3.8/multiprocessing/process.py", line 108, in run
self._target(*self._args, **self._kwargs)
File "/home/robadmin/Desktop/HIPPO_Gym/src/hippogym/trial.py", line 35, in build_and_run
self.run()
File "/home/robadmin/Desktop/HIPPO_Gym/src/hippogym/trial.py", line 30, in run
step.run()
File "/home/robadmin/Desktop/HIPPO_Gym/src/hippogym/trialsteps/gymstep.py", line 88, in run
self.send_render()
File "/home/robadmin/Desktop/HIPPO_Gym/src/hippogym/trialsteps/gymstep.py", line 147, in send_render
rgb_array = self.env.render(mode="rgb_array")
File "/home/robadmin/Desktop/HIPPO_Gym/.venv/lib/python3.8/site-packages/gym/core.py", line 329, in render
return self.env.render(*args, **kwargs)
File "/home/robadmin/Desktop/HIPPO_Gym/.venv/lib/python3.8/site-packages/gym/wrappers/order_enforcing.py", line 51, in render
return self.env.render(*args, **kwargs)
File "/home/robadmin/Desktop/HIPPO_Gym/.venv/lib/python3.8/site-packages/gym/wrappers/env_checker.py", line 53, in render
return env_render_passive_checker(self.env, *args, **kwargs)
File "/home/robadmin/Desktop/HIPPO_Gym/.venv/lib/python3.8/site-packages/gym/utils/passive_env_checker.py", line 316, in env_render_passive_checker
result = env.render(*args, **kwargs)
TypeError: render() got an unexpected keyword argument 'mode'
this is coming from the def send_render(self)
method in the gymstep.py
file, but this send_render function is being used in MiniGrid so it should be working as expected.
def send_render(self):
rgb_array = self.env.render(mode="rgb_array")
try:
rgb_array = np.array(rgb_array)
except:
raise TypeError("Env render should output a numpy array.")
render = self.render_window.convert_numpy_array_to_base64(rgb_array)
self.render_window.update(image=render)
MohamedAl-Nassirat commented
for reference, here is the send_render method utilized in minigrid_example.py
def send_render(self):
rgb_frame = self.env.get_frame(tile_size=64, agent_pov=True)
render = self.render_window.convert_numpy_array_to_base64(rgb_frame)
self.render_window.update(image=render)
but in Lunar Lander this implementation is not used
MohamedAl-Nassirat commented
Issue Fixed