Anw*_*Roy 1 python anaconda jupyter-notebook openai-gym
我正在尝试使用 OpenAI Gym 的 TaxiEnvironment。我编写了以下几行代码,但收到以下错误。
import numpy as np
import gym
import random
env = gym.make("Taxi-v3")
env.render()
Run Code Online (Sandbox Code Playgroud)
错误:
AttributeError Traceback (most recent call last)
C:\Users\KESABC~1\AppData\Local\Temp/ipykernel_11956/4159949162.py in <module>
1 env = gym.make("Taxi-v3")
----> 2 env.render()
~\anaconda3\lib\site-packages\gym\core.py in render(self, mode, **kwargs)
284
285 def render(self, mode="human", **kwargs):
--> 286 return self.env.render(mode, **kwargs)
287
288 def close(self):
~\anaconda3\lib\site-packages\gym\core.py in render(self, mode, **kwargs)
284
285 def render(self, mode="human", **kwargs):
--> 286 return self.env.render(mode, **kwargs)
287
288 def close(self):
~\anaconda3\lib\site-packages\gym\envs\toy_text\taxi.py in render(self, mode)
220 out = self.desc.copy().tolist()
221 out = [[c.decode("utf-8") for c in line] for line in out]
--> 222 taxi_row, taxi_col, pass_idx, dest_idx = self.decode(self.s)
223
224 def ul(x):
AttributeError: 'TaxiEnv' object has no attribute 's'
Run Code Online (Sandbox Code Playgroud)
我应该怎么做才能消除错误?
代码在gym 0.19中有效,但在0.23中无效,但真正的问题是你以错误的方式使用它。
你必须在开始时设置默认值 - env.reset()- 它就会起作用。
import gym
env = gym.make("Taxi-v3")
env.reset()
env.render()
Run Code Online (Sandbox Code Playgroud)